mqtt2.template: handle strange tasmota topic configuration (Forum #93442)

git-svn-id: https://svn.fhem.de/fhem/trunk@17814 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig
2018-11-22 08:57:54 +00:00
parent a9d6891ae4
commit e62025b8b5

View File

@@ -43,31 +43,34 @@ attr DEVICE setList \
# Basic sonoff 1 channel device flashed with Tasmota
# The regexp must handle
# - tele/sonoff/LWT: => cmnd/sonoff/
# - DVES_XXXXXX:/SmartHome/Esszimmer/Stehlampe/tele/LWT: => /SmartHome/Esszimmer/Stehlampe/cmnd/
name:sonoff_tasmota_1ch
filter:TYPE=MQTT2_DEVICE
par:MQTTNAME;Topic in "Configure MQTT", must be unique;{ AttrVal("DEVICE","readingList","") =~ m,tele/(.*)/LWT:, ? $1 : undef }
par:COMMAND;Command topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\btele(/.*)?/LWT:, ? "${1}cmnd$2" : undef }
attr DEVICE stateFormat POWER1
attr DEVICE setList \
off:noArg cmnd/MQTTNAME/POWER1 0\
on:noArg cmnd/MQTTNAME/POWER1 1\
toggle:noArg cmnd/MQTTNAME/POWER1 2
off:noArg COMMAND/POWER1 0\
on:noArg COMMAND/POWER1 1\
toggle:noArg COMMAND/POWER1 2
# sonoff 2 channel device flashed with Tasmota.
# NOTE: a second device will be created for the second channel
name:sonoff_tasmota_2ch
filter:TYPE=MQTT2_DEVICE
par:MQTTNAME;Topic in "Configure MQTT", must be unique;{ AttrVal("DEVICE","readingList","") =~ m,tele/(.*)/LWT:, ? $1 : undef }
par:COMMAND;Command topic prefix, without trailing /;{ AttrVal("DEVICE","readingList","") =~ m,([^:]*)\btele(/.*)?/LWT:, ? "${1}cmnd/$2" : undef }
attr DEVICE stateFormat POWER1
attr DEVICE setList \
off:noArg cmnd/MQTTNAME/POWER1 0\
on:noArg cmnd/MQTTNAME/POWER1 1\
toggle:noArg cmnd/MQTTNAME/POWER1 2
off:noArg COMMAND/POWER1 0\
on:noArg COMMAND/POWER1 1\
toggle:noArg COMMAND/POWER1 2
attr DEVICE comment Channel 1 for DEVICE, see also DEVICE_CH2
copy DEVICE DEVICE_CH2
attr DEVICE_CH2 stateFormat POWER2
attr DEVICE_CH2 comment Channel 2 for DEVICE
attr DEVICE_CH2 setList \
off:noArg cmnd/MQTTNAME/POWER2 0\
on:noArg cmnd/MQTTNAME/POWER2 1\
toggle:noArg cmnd/MQTTNAME/POWER2 2
off:noArg COMMAND/POWER2 0\
on:noArg COMMAND/POWER2 1\
toggle:noArg COMMAND/POWER2 2