diff --git a/fhem/FHEM/lib/AttrTemplate/mqtt2.template b/fhem/FHEM/lib/AttrTemplate/mqtt2.template
index 1270819b7..8c14d4071 100644
--- a/fhem/FHEM/lib/AttrTemplate/mqtt2.template
+++ b/fhem/FHEM/lib/AttrTemplate/mqtt2.template
@@ -715,6 +715,37 @@ deletereading -q DEVICE (?!associatedWith).*
setreading DEVICE attrTemplateVersion 20200904
+# Eurotronic Spirit ZigBee version
+name:zigbee2mqtt_eurotronic_spirit
+desc: First version for Eurotronic SPZB0001 via zigbee2mqtt
Not yet tested...
tbd (?): map eurotronic_system_mode to readings (userReadings?)
+filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
+order:L_17
+par:BASE_TOPIC;base topic set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[\b]?([^/:]+)[/].+, ? $1 : undef }
+par:DEV_ID;name of the device in the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic",AttrVal("DEVICE","readingList","")) =~ m,[^/]+[/]([^/:]+).*, ? $1 : undef }
+par:ICON;ICON as set, defaults to hm-cc-rt-dn;{ AttrVal("DEVICE","icon","hm-cc-rt-dn") }
+attr DEVICE icon ICON
+attr DEVICE devicetopic BASE_TOPIC/DEV_ID
+attr DEVICE readingList $\DEVICETOPIC:.* { json2nameValue($EVENT) }
+attr DEVICE setList \
+ boost:true,false $\DEVICETOPIC/set {"eurotronic_host_flags": {"boost": $EVTPART1 }}\
+ child_protection:true,false $\DEVICETOPIC/set {"eurotronic_host_flags": {"child_protection": $EVTPART1 }}\
+ desired-temp:slider,5.0,0.5,30.0,1 $\DEVICETOPIC/set {"current_heating_setpoint": $EVTPART1 }\
+ daytemp:slider,5.0,0.5,30.0,1 $\DEVICETOPIC/set {"occupied_heating_setpoint": $EVTPART1 }\
+ nighttemp:slider,5.0,0.5,30.0,1 $\DEVICETOPIC/set {"unoccupied_heating_setpoint": $EVTPART1 }\
+ window_open:true,false $\DEVICETOPIC/set {"eurotronic_host_flags": {"window_open": $EVTPART1 }}\
+ boost:true,false $\DEVICETOPIC/set {"eurotronic_host_flags": {"boost": $EVTPART1 }}\
+ x_mirror_display:true,false $\DEVICETOPIC/set {"eurotronic_host_flags": {"mirror_display": $EVTPART1 }}
+attr DEVICE stateFormat Measured: measured-temp Battery: battery %
+attr DEVICE webCmd desired-temp
+attr DEVICE widgetOverride desired-temp:knob,min:5,max:30,angleArc:180,width:40,height:40,fgColor:#FF9900,bgColor:#CCCCCC,step:0.5,lineCap:round,angleOffset:225
+attr DEVICE jsonMap occupied_heating_setpoint:daytemp unoccupied_heating_setpoint:nighttemp current_heating_setpoint:desired-temp local_temperature:measured-temp
+attr DEVICE setStateList on off
+attr DEVICE model zigbee2mqtt_eurotronic_spirit
+set DEVICE attrTemplate speechcontrol_type_thermostat
+deletereading -q DEVICE (?!associatedWith).*
+setreading DEVICE attrTemplateVersion 20201014
+
+
###########################################
# TASMOTA
# The regexp must handle
diff --git a/fhem/FHEM/lib/AttrTemplate/zwave.template b/fhem/FHEM/lib/AttrTemplate/zwave.template
index 3f753152e..61d55ba4e 100644
--- a/fhem/FHEM/lib/AttrTemplate/zwave.template
+++ b/fhem/FHEM/lib/AttrTemplate/zwave.template
@@ -306,3 +306,42 @@ option:{ 1 }
get DEVICE configAll
setreading DEVICE attrTemplateVersion ZW100_Multisensor_USB_20201007
+
+name:----Eurotronic-devices-section--------
+filter:TYPE=ZWave
+order:04EUROTRONIC00000
+desc:Templates for Eurotronics devices.
Note: Manufacturer does not provide free updates; functionality is less than advertised!
+
+
+# Eurotronic Spirit ZWave version
+name:Eurotronic_Spirit
+desc: First version, see Forum Thread for details
+order:04EUROTRONIC00001
+filter:TYPE=ZWave
+par:RADIO_NO_EXTERNAL_TEMP;Use internal temperature sensor for regulation;{ undef }
+par:RADIO_ZWAVE_EXTERNAL_TEMP;Use an external Zwave temperature sensor. Association has to be set seperately!;{ undef }
+par:RADIO_NONZWAVE_EXTERNAL_TEMP;Use an external (non-Zwave) temperature sensor. Make sure, sensor data is regularly updated!;{ undef }
+par:RADIO_DIRECT_VALVE_CONTROL;Change mode to direct valve control (needs additional logic, e.g. provided by PID20 FHEM module.;{ undef }
+par:ICON;ICON as set, defaults to hm-cc-rt-dn;{ AttrVal("DEVICE","icon","hm-cc-rt-dn") }
+attr DEVICE icon ICON
+set DEVICE configByte 4 1 ## should set "send battery reports once a day"
+option:{ RADIO_NONZWAVE_EXTERNAL_TEMP + RADIO_ZWAVE_EXTERNAL_TEMP + RADIO_NO_EXTERNAL_TEMP }
+set DEVICE configByte 6 5 ## should set valve reports to 5% delta
+option:{ RADIO_DIRECT_VALVE_CONTROL }
+set DEVICE configByte 64 31 ## should set "manufacturer specific"
+option:{ RADIO_NO_EXTERNAL_TEMP }
+set DEVICE configByte 8 0 ## note: no offset!
+deleteattr DEVICE setList
+option:{ RADIO_ZWAVE_EXTERNAL_TEMP }
+set DEVICE configByte 8 128 ## note: disables internal sensor, make sure to associate one (ZWave type)
+deleteattr DEVICE setList
+option:{ RADIO_NONZWAVE_EXTERNAL_TEMP }
+set DEVICE configByte 8 128 ## disables internal sensor, make sure to regularly update, e.g. using notify like n_extTemp notify EG_sz_sensor:temperature:.* set DEVICE sml_temperature $EVTPART1 C
+attr DEVICE setList sml_temperature
+#closing section
+option:{ 1 }
+attr DEVICE webCmd desired-temp
+attr DEVICE widgetOverride desired-temp:knob,min:5,max:30,angleArc:180,width:40,height:40,fgColor:#FF9900,bgColor:#CCCCCC,step:0.5,lineCap:round,angleOffset:225
+get DEVICE configAll
+set DEVICE attrTemplate speechcontrol_type_thermostat
+setreading DEVICE attrTemplateVersion Eurotronic_Spirit_20201014