diff --git a/fhem/FHEM/lib/AttrTemplate/mqtt2.template b/fhem/FHEM/lib/AttrTemplate/mqtt2.template
index 20d9ad23d..d0759974c 100644
--- a/fhem/FHEM/lib/AttrTemplate/mqtt2.template
+++ b/fhem/FHEM/lib/AttrTemplate/mqtt2.template
@@ -127,7 +127,7 @@ setreading DEVICE attrTemplateVersion 20210121
name:zigbee2mqtt_bridge
desc:The zigbee2mqtt bridge device
filter:TYPE=MQTT2_DEVICE
-order:L_01
+order:L_01
farewell:template has been applied successfully.
Note: In case you not exclusively use FHEM to send MQTT commands to your devices, it's highly recommended to extend the ignoreRegexp of your IO device! Could be something like |zigbee2mqtt/[A-Za-z0-9._]+/set.
par:BASE_TOPIC;base topic as set in configuration.yaml of the zigbee2mqtt bridge;{ AttrVal("DEVICE","devicetopic","") =~ m,[\b]?([^/:]+)(/.+)?, ? $1 : AttrVal("DEVICE","readingList","") =~ m,[\b]?([^/:]+)/bridge/.+, ? $1 : undef }
par:ICON;ICON as set, defaults to mqtt;{ AttrVal("DEVICE","icon","mqtt") }
@@ -173,14 +173,14 @@ attr DEVICE setList\
z_last_seen:disable,ISO_8601,epoch,ISO_8601_local $\DEVICETOPIC/bridge/config/last_seen $EVTPART1\
z_ban:textField $\DEVICETOPIC/bridge/config/ban $EVTPART1\
z_rename:textField $\DEVICETOPIC/bridge/config/rename {"old":"$EVTPART1","new":"$EVTPART2"}\
- z_reset_CC:noArg $\DEVICETOPIC/bridge/config/reset
+ z_reset_CC:noArg $\DEVICETOPIC/bridge/config/reset
attr DEVICE setStateList on off
attr DEVICE comment To check for new updates of the deamon software, you might want to use a separate HTTPMOD device. See HTTPMOD template zigbee2mqtt_daemon_updates for further details.
#set DEVICE attrTemplate do_general_mqtt_cleanup ADD_TO_IO_IGNOREREGEXP=BASE_TOPIC/[A-Za-z0-9._]+/set
set DEVICE attrTemplate do_general_mqtt_cleanup
attr DEVICE model zigbee2mqtt_bridge
setreading DEVICE attrTemplateVersion 20220328
-# Based on https://forum.fhem.de/index.php/topic,94060.msg872371.html#msg872371
+# Based on https://forum.fhem.de/index.php/topic,94060.msg872371.html#msg872371
@@ -532,7 +532,7 @@ setreading DEVICE attrTemplateVersion 20220622
# zigbee2mqtt 2 channel device
name:zigbee2mqtt_2channel_split
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
-desc:For zigbee2mqtt 2 channel device.
NOTE: a second device will be created for the second channel
NOTE: Untested updated version, should work with LLKZMK11LM, Ubisys S2 (-R),
+desc:For zigbee2mqtt 2 channel device.
NOTE: a second device will be created for the second channel
NOTE: Untested updated version, should work with LLKZMK11LM, Ubisys S2 (-R),
order:L_05c
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 }
@@ -540,7 +540,7 @@ par:ICON;ICON as set, defaults to message_socket;{ AttrVal('DEVICE','icon','mess
attr DEVICE icon ICON
attr DEVICE devicetopic BASE_TOPIC/DEV_ID
attr DEVICE readingList $\DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP); $ret->{state}=lc($ret->{state}); return $ret }
-attr DEVICE jsonMap state:availability state_l1:state state_l2:0
+attr DEVICE jsonMap state:availability state_l1:state state_l2:0
attr DEVICE setList \
on:noArg $\DEVICETOPIC/l1/set {"state":"ON"}\
off:noArg $\DEVICETOPIC/l1/set {"state":"OFF"}\
@@ -584,7 +584,7 @@ setreading DEVICE,DEVICE_CH2 attrTemplateVersion 20220622
# zigbee2mqtt 3 channel device
name:zigbee2mqtt_3channel_split
filter:TYPE=MQTT2_DEVICE:FILTER=CID~zigbee.*
-desc:For zigbee2mqtt 3 channel device like Silvercrest Steckerleiste »Zigbee Smart Home«.
NOTE: Two additional devices will be created for further channels.
NOTE: Untested updated version
+desc:For zigbee2mqtt 3 channel device like Silvercrest Steckerleiste »Zigbee Smart Home«.
NOTE: Two additional devices will be created for further channels.
NOTE: Untested updated version
order:L_05e
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 }
@@ -592,7 +592,7 @@ par:ICON;ICON as set, defaults to message_socket;{ AttrVal('DEVICE','icon','mess
attr DEVICE icon ICON
attr DEVICE devicetopic BASE_TOPIC/DEV_ID
attr DEVICE readingList $\DEVICETOPIC:.* { my $ret=json2nameValue($EVENT,'',$JSONMAP); $ret->{state}=lc($ret->{state}); return $ret }
-attr DEVICE jsonMap state:availability state_l1:state state_l2:0 state_l3:0
+attr DEVICE jsonMap state:availability state_l1:state state_l2:0 state_l3:0
attr DEVICE setList \
on:noArg $\DEVICETOPIC/set {"state_l1":"ON"}\
off:noArg $\DEVICETOPIC/set {"state_l1":"OFF"}\
@@ -1028,7 +1028,7 @@ attr DEVICE jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Cha
option:{ JSONMAPTYPE == 2 }
attr DEVICE jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:pct Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 Channel_5:0 HSBColor:0 Color:rgb
option:{ JSONMAPTYPE == 3 }
-attr DEVICE jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:pct Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 HSBColor:0 Channel_5:0 Color:rgb Channel_4:white
+attr DEVICE jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:pct Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 HSBColor:0 Channel_5:0 Color:rgb Channel_4:white
option:{ JSONMAPTYPE == 4 }
attr DEVICE jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:pct Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 Channel_5:0 HSBColor:0 Color:0
option:global
@@ -1130,7 +1130,7 @@ filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*(tele|cmnd|stat).*
desc:Applies to Sonoff POW devices and other Tasmota flashed devices with power measuring abilities.
NOTE: Power topic will be set to POWER1; the format the device is sending data will also be changed to lowercase!
order:A_01c
par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}cmnd$3" : undef }
-par:CALLSPEECHRECOGN;Set this to 0 to not set any speech recogn. related attributes;{ 1 }
+par:CALLSPEECHRECOGN;Set this to 0 to not set any speech recogn. related attributes;{ 1 }
set DEVICE attrTemplate tasmota_basic_state_power1 \CALLSPEECHRECOGN=CALLSPEECHRECOGN
attr DEVICE setList \
off:noArg CMNDTOPIC/POWER1 0\
@@ -1337,7 +1337,7 @@ attr DEVICE readingList \
TELETOPIC/INFO.:.* { $EVENT =~ m,^..Info[1-3]..(.+).$, ? json2nameValue($1,'',$JSONMAP) : json2nameValue($EVENT,'',$JSONMAP) }\
TELETOPIC/SENSOR:.* { my %ret; while ($EVENT =~ /.Id...([A-F0-9]{12})...Temperature..([-]?[\d]+\.[\d]+)./g) { $ret{"Temperatur_".$1}=$2; }; return \%ret; }\
TELETOPIC/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
-farewell:template has been applied successfully. You might want to edit readingList attribute to avoid double info or let autocreate add more entries.
+farewell:template has been applied successfully. You might want to edit readingList attribute to avoid double info or let autocreate add more entries.
attr DEVICE model tasmota_use_DS18x20_id
setreading DEVICE attrTemplateVersion 20210515
@@ -1381,8 +1381,8 @@ desc:sonoff 2 channel device flashed with Tasmota.
NOTE: a second device wil
order:A_02
par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}cmnd$3" : undef }
par:STATTOPIC;ack topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}stat$3" : undef }
-par:CALLSPEECHRECOGN;Set this to 0 to not set any speech recogn. related attributes;{ 1 }
-par:SETCHANNELINFO;Set this to 0 to not set channelinfo;{ 1 }
+par:CALLSPEECHRECOGN;Set this to 0 to not set any speech recogn. related attributes;{ 1 }
+par:SETCHANNELINFO;Set this to 0 to not set channelinfo;{ 1 }
set DEVICE attrTemplate tasmota_basic_state_power1 \CALLSPEECHRECOGN=0
copy DEVICE DEVICE_CH2
defmod DEVICE_CH2 MQTT2_\DEVICE DEVICE_CH2
@@ -1399,7 +1399,7 @@ attr DEVICE,DEVICE_CH2 model tasmota_2channel_split
setreading DEVICE,DEVICE_CH2 attrTemplateVersion 20220127
option:{SETCHANNELINFO}
set DEVICE attrTemplate set_associatedWith \CHANNELS=2
-option:{ CALLSPEECHRECOGN }
+option:{ CALLSPEECHRECOGN }
set DEVICE,DEVICE_CH2 attrTemplate speechcontrol_type_switch
@@ -1411,8 +1411,8 @@ order:A_02a1
par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal("DEVICE",'readingList','') =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}cmnd$3" : undef }
par:TELETOPIC;info topic prefix, without trailing /;{ AttrVal("DEVICE",'readingList','') =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}tele$3" : undef }
par:STATTOPIC;ack topic prefix, without trailing /;{ AttrVal("DEVICE",'readingList','') =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}stat$3" : undef }
-par:CALLSPEECHRECOGN;Set this to 0 to not set any speech recogn. related attributes;{ 1 }
-par:SETCHANNELINFO;Set this to 0 to not set channelinfo;{ 1 }
+par:CALLSPEECHRECOGN;Set this to 0 to not set any speech recogn. related attributes;{ 1 }
+par:SETCHANNELINFO;Set this to 0 to not set channelinfo;{ 1 }
set DEVICE attrTemplate tasmota_basic_state_power1 \CALLSPEECHRECOGN=0
attr DEVICE setExtensionsEvent 1
attr DEVICE setStateList on off toggle
@@ -1438,7 +1438,7 @@ attr DEVICE,DEVICE_CH2 model tasmota_2channel_split_energy
setreading DEVICE,DEVICE_CH2 attrTemplateVersion 20210728
option:{SETCHANNELINFO}
set DEVICE attrTemplate set_associatedWith \CHANNELS=2
-option:{ CALLSPEECHRECOGN }
+option:{ CALLSPEECHRECOGN }
set DEVICE,DEVICE_CH2 attrTemplate speechcontrol_type_switch
@@ -1503,7 +1503,7 @@ par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal("DEVICE","readi
par:TELETOPIC;info topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}tele$3" : undef }
par:STATTOPIC;ack topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}stat$3" : undef }
par:IO_DEV;Currently used IO;{ AttrVal('DEVICE','IODev',InternalVal('DEVICE','IODev',undef)->{NAME}) }
-par:CALLSPEECHRECOGN;Set this to 0 to not set any speech recogn. related attributes;{ 1 }
+par:CALLSPEECHRECOGN;Set this to 0 to not set any speech recogn. related attributes;{ 1 }
par:BCKLGCMND;Send out configuration command via backlog?;{ 1 }
par:ICON;ICON as set, defaults to fts_shutter_updown;{ AttrVal("DEVICE","icon","fts_shutter_updown") }
set DEVICE attrTemplate tasmota_set_lowercase_texts_and_state1
@@ -1552,14 +1552,14 @@ For calibration, use of more than one shutter device and further information on
farewell:template has been applied successfully. Now it's recommended to set shutter's open and close duration and 50% position, see short instruction in comment attribute or the
Tasmota wiki.
attr DEVICE model tasmota_2ch_shutter_invert_1
setreading DEVICE attrTemplateVersion 20210607
-option:{ CALLSPEECHRECOGN }
+option:{ CALLSPEECHRECOGN }
set DEVICE attrTemplate speechcontrol_type_blind
# tasmota 2ch as shutter device.
name:tasmota_2ch_shutter_invert_0
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*(tele|cmnd|stat).*
-desc:Configures a dual chanel tasmota device as shutter; needs some configuration of firmware compilation to operate, see Tasmota wiki
and Forum Thread
NOTE: This template will configure the shutter in Homematic-style with pct 100% = open. For ROLLO style device with pct 0% = open shutter. Use template tasmota_2ch_shutter_invert_1 instead.
+desc:Configures a dual chanel tasmota device as shutter; needs some configuration of firmware compilation to operate, see Tasmota wiki
and Forum Thread
NOTE: This template will configure the shutter in Homematic-style with pct 100% = open. For ROLLO style device with pct 0% = open shutter. Use template tasmota_2ch_shutter_invert_1 instead.
order:A_02b1
par:IO_DEV;Currently used IO;{ AttrVal('DEVICE','IODev',InternalVal('DEVICE','IODev',undef)->{NAME}) }
par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}cmnd$3" : undef }
@@ -1577,7 +1577,7 @@ setreading DEVICE attrTemplateVersion 20210607
# tasmota 4ch as double shutter device.
name:tasmota_4ch_two_shutters_invert_0
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*(tele|cmnd|stat).*
-desc:Configures a four channel tasmota device as two shutters; needs some additional configuration via web-interface to operate properly, see Tasmota wiki
and Forum Thread
NOTE: This template will configure the shutters in Homematic-style with pct 100% = open.
+desc:Configures a four channel tasmota device as two shutters; needs some additional configuration via web-interface to operate properly, see Tasmota wiki
and Forum Thread
NOTE: This template will configure the shutters in Homematic-style with pct 100% = open.
order:A_02b2
par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}cmnd$3" : undef }
par:STATTOPIC;ack topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}stat$3" : undef }
@@ -1619,7 +1619,7 @@ par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal('DEVICE','readi
par:TELETOPIC;info topic prefix, without trailing /;{ AttrVal('DEVICE','readingList','') =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}tele$3" : undef }
par:STATTOPIC;ack topic prefix, without trailing /;{ AttrVal('DEVICE','readingList','') =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}stat$3" : undef }
par:IO_DEV;Currently used IO;{ AttrVal('DEVICE','IODev',InternalVal('DEVICE','IODev',undef)->{NAME}) }
-par:CALLSPEECHRECOGN;Set this to 0 to not set any speech recogn. related attributes;{ 1 }
+par:CALLSPEECHRECOGN;Set this to 0 to not set any speech recogn. related attributes;{ 1 }
par:BCKLGCMND;Send out configuration command via backlog?;{ 1 }
par:ICON;ICON as set, defaults to fts_shutter_updown;{ AttrVal('DEVICE','icon','fts_shutter_updown') }
set DEVICE attrTemplate tasmota_set_lowercase_texts_and_state1
@@ -1666,7 +1666,7 @@ For calibration, tilt range settings, use of more than one shutter device and fu
farewell:template has been applied successfully. Now it's recommended to set shutter's open and close duration and shuttertiltconfig1, see short instruction in comment attribute or the
Tasmota wiki.
attr DEVICE model tasmota_2ch_shutter_venetian_invert_0
setreading DEVICE attrTemplateVersion 20220218
-option:{ CALLSPEECHRECOGN }
+option:{ CALLSPEECHRECOGN }
set DEVICE attrTemplate speechcontrol_type_blind
@@ -1995,7 +1995,7 @@ setreading DEVICE attrTemplateVersion 20210515
name:tasmota_8channel_split
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*(tele|cmnd|stat).*
-desc:sonoff 8 channel device flashed with Tasmota.
NOTE: several additional devices will be created for channels 2 to 8
+desc:sonoff 8 channel device flashed with Tasmota.
NOTE: several additional devices will be created for channels 2 to 8
order:A_04c1
par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}cmnd$3" : undef }
par:STATTOPIC;ack topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}stat$3" : undef }
@@ -2235,7 +2235,7 @@ name:tasmota_bt2tasmota_bridge
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*(tele|cmnd|stat).*
desc:This is a very early version of a template meant to configure a bridge device showing some basic info about the microcontroller (mcu) itself. For further details on bluetooth2tasmota visit https://tasmota.github.io/docs/Bluetooth_ESP32/ and https://tasmota.github.io/docs/Commands/#ble-esp32
NOTE: Initial version, not yet tested...
Most likely will be subject to changes!!!
order:A_06t01
-farewell:template has been applied successfully.\n Note: some changes have been applied to the mcu firmware settings. Incoming messages from bluetooth devices now should be forwarded to different FHEM devices, make sure, you have a TYPE=autocreate device active.
+farewell:template has been applied successfully.\n Note: some changes have been applied to the mcu firmware settings. Incoming messages from bluetooth devices now should be forwarded to different FHEM devices, make sure, you have a TYPE=autocreate device active.
par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal('DEVICE','readingList','') =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}cmnd$3" : undef }
par:TELETOPIC;info topic prefix, without trailing /;{ AttrVal('DEVICE','readingList','') =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}tele$3" : undef }
par:STATTOPIC;ack topic prefix, without trailing /;{ AttrVal('DEVICE','readingList','') =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}stat$3" : undef }
@@ -2272,7 +2272,7 @@ name:tasmota_zigbee2tasmota_bridge
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*(tele|cmnd|stat).*
desc:This template is meant to configure a bridge device showing some basic info about the microcontroller (mcu) itself. For further details on zigbee2tasmota visit https://tasmota.github.io/docs/Zigbee/
NOTE: Initial version, not yet tested, just build according to https://forum.fhem.de/index.php/topic,112253.0.html
Needs still some changes!!!
order:A_01u01
-farewell:template has been applied successfully.\n Note: some changes have been applied to the mcu firmware settings. Incoming messages from zigbee devices now should be forwarded to different FHEM devices, make sure, you have a TYPE=autocreate device active.
+farewell:template has been applied successfully.\n Note: some changes have been applied to the mcu firmware settings. Incoming messages from zigbee devices now should be forwarded to different FHEM devices, make sure, you have a TYPE=autocreate device active.
par:CMNDTOPIC;Command topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}cmnd$3" : undef }
par:TELETOPIC;info topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}tele$3" : undef }
par:STATTOPIC;ack topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\b(tele|cmnd|stat)(/.*)?/LWT:, ? "${1}stat$3" : undef }
@@ -2356,7 +2356,7 @@ attr DEVICE devStateIcon {zigbee2mqtt_devStateIcon255($name)}
attr DEVICE setExtensionsEvent 1
attr DEVICE jsonMap Dimmer:brightness Power:state Device:0 Hue:hue Sat:saturation CT:ct
deletereading -q DEVICE (?!associatedWith|IODev).*
-option:{ CALLSPEECHRECOGN }
+option:{ CALLSPEECHRECOGN }
set DEVICE attrTemplate speechcontrol_type_light_255
attr DEVICE model tasmota_zigbee2tasmota_light_dimmer
setreading DEVICE attrTemplateVersion 20210811
@@ -2418,7 +2418,7 @@ attr DEVICE setStateList on off
attr DEVICE setExtensionsEvent 1
attr DEVICE jsonMap Power:state Device:0
deletereading -q DEVICE (?!associatedWith|IODev).*
-option:{ CALLSPEECHRECOGN }
+option:{ CALLSPEECHRECOGN }
set DEVICE attrTemplate speechcontrol_type_switch
option:global
attr DEVICE model tasmota_zigbee2tasmota_single_switch
@@ -2449,7 +2449,7 @@ attr DEVICE_CH2 readingList \
TELETOPIC:.* { return if $EVENT !~ m/.Endpoint..2/; $EVENT =~ s/"Power":1/"Power":"on"/g; $EVENT =~ s/"Power":0/"Power":"off"/g; $EVENT =~ m,^.*(..Device.+)..$, ? json2nameValue($1,'',$JSONMAP) : $EVENT =~ m,0xDEV_ID.:(.*).., ? json2nameValue($1,'',$JSONMAP) : undef }
attr DEVICE_CH2 setList on CMNDTOPIC/ZbSend {"device":"0xDEV_ID","Endpoint":2,"send":{"Power":"On"}}\
off CMNDTOPIC/ZbSend {"device":"0xDEV_ID","Endpoint":2,"send":{"Power":"Off"}}
-option:{ CALLSPEECHRECOGN }
+option:{ CALLSPEECHRECOGN }
set DEVICE,DEVICE_CH2 attrTemplate speechcontrol_type_switch
option:global
attr DEVICE,DEVICE_CH2 model tasmota_zigbee2tasmota_2channel_split
@@ -2487,7 +2487,7 @@ par:ICON;ICON as set, defaults to tradfri_remote;{ AttrVal("DEVICE","icon","trad
attr DEVICE icon ICON
attr DEVICE readingList \
TELETOPIC:.* { $EVENT =~ m,(([0-9])([0-9])([0-9])([0-9])!([0-9][0-9])), ? { 'state'=>"${5}${4}${3}${2}$6" } : $EVENT =~ m,^.*(..Device.+)..$, ? json2nameValue($1,'',$JSONMAP) : $EVENT =~ m,0xDEV_ID.:(.*).., ? json2nameValue($1,'',$JSONMAP) : undef }
-attr DEVICE jsonMap Device:0 Battery:0 BatteryPercentage:batteryPercent BatteryVoltage:batteryVoltage Temperature:temperature
+attr DEVICE jsonMap Device:0 Battery:0 BatteryPercentage:batteryPercent BatteryVoltage:batteryVoltage Temperature:temperature
deletereading -q DEVICE (?!associatedWith|IODev).*
attr DEVICE model tasmota_zigbee2tasmota_remote_control
setreading DEVICE attrTemplateVersion 20210811
@@ -2703,7 +2703,7 @@ deletereading -q DEVICE (?!associatedWith|IODev).*
set DEVICE x_mqttcom announce
attr DEVICE model shelly1_w_energy_measuring
setreading DEVICE attrTemplateVersion 20220408
-option:{ CALLSPEECHRECOGN }
+option:{ CALLSPEECHRECOGN }
set DEVICE attrTemplate speechcontrol_type_switch
option:{ RADIO_SETUSERREADING }
attr DEVICE userReadings NEWUSERREADINGS
@@ -2712,7 +2712,7 @@ attr DEVICE userReadings NEWUSERREADINGS
name:shelly1_w_energy_measuring_washer_example
filter:TYPE=MQTT2_DEVICE:FILTER=readingList=.*shellies.*
order:A_10b1
-desc:Example how to configure a single relay Shelly device offering energy measuring like Shelly 1PM or Shelly Plug S to visualise state of a machine behind the plug. Icons will not allow to turn the machine off.
+desc:Example how to configure a single relay Shelly device offering energy measuring like Shelly 1PM or Shelly Plug S to visualise state of a machine behind the plug. Icons will not allow to turn the machine off.
par:DEVNAME;Shelly device name in the topic;{ AttrVal('DEVICE','readingList','') =~ m,shellies/([^/]*)/, ? $1 : undef }
set DEVICE attrTemplate shelly1_w_energy_measuring CALLSPEECHRECOGN=0
attr DEVICE devStateIcon { my $amp = ReadingsVal($name,"online","false") eq "false" ? "rot" : ReadingsVal($name,"new_fw","false") eq "true" ? "gelb" : "gruen"; my $pic = ReadingsVal($name,"loadState","") eq "on"?'scene_laundry_room_fem@green':'scene_laundry_room_fem'; my $text = ReadingsVal($name,"loadState","") eq "on"?"Waschmaschine läuft - Aktuell: ".ReadingsVal($name,"relay_0_power","")." W":'Standby'; my $show = "$amp" eq "gelb" ? "".FW_makeImage("10px-kreis-".$amp)."" : "".FW_makeImage("10px-kreis-".$amp).""; "