From e62025b8b5798ddfabf67bb28f18d66837594712 Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Thu, 22 Nov 2018 08:57:54 +0000 Subject: [PATCH] mqtt2.template: handle strange tasmota topic configuration (Forum #93442) git-svn-id: https://svn.fhem.de/fhem/trunk@17814 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/lib/AttrTemplate/mqtt2.template | 25 +++++++++++++---------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/fhem/FHEM/lib/AttrTemplate/mqtt2.template b/fhem/FHEM/lib/AttrTemplate/mqtt2.template index 9a93030be..07ce315d1 100644 --- a/fhem/FHEM/lib/AttrTemplate/mqtt2.template +++ b/fhem/FHEM/lib/AttrTemplate/mqtt2.template @@ -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