Hallo meine lieben...
Hab mich jetzt etwas mit sonoff Geräten ausgestattet .. derzeit f20 Steckdosen im Einsatz.
Funktioniert alles super mit MQTT2.
Nur eines bekomm ich nicht hin, wenn ich an der Steckdose manuell an/aus schalte, ändert sich der Status in Fhem leider nicht. Das reading POWER ändert sich auf den jeweiligen Zustand ON OFF.
Habe das attr. event-on-change-reading .* gesetzt ohne Erfolg.
Hier mal ein list von device:
Internals:
CFGFN
CID steckdose1
DEF steckdose1
DEVICETOPIC S1_Flug_UG
FUUID 5df672ec-f33f-599c-49eb-689ba273f1632d00
IODev myBroker
LASTInputDev myBroker
MSGCNT 510
NAME S1_Flug_UG
NR 112171
STATE on
TYPE MQTT2_DEVICE
myBroker_MSGCNT 510
myBroker_TIME 2019-12-16 21:25:53
READINGS:
2019-12-16 20:05:48 FallbackTopic cmnd/steckdose1_fb/
2019-12-16 20:05:48 GroupTopic /SmartHome/Wohnung/sonoffs/cmnd/
2019-12-16 21:25:53 Heap 27
2019-12-16 20:05:48 Hostname Steckdose1-6013
2019-12-16 20:05:48 IPAddress 192.168.2.46
2019-12-16 20:05:48 LWT Online
2019-12-16 21:25:53 LoadAvg 19
2019-12-16 20:05:48 Module Sonoff Basic
2019-12-16 21:25:53 MqttCount 1
2019-12-15 20:39:32 OtaUrl http://thehackbox.org/tasmota/release/tasmota-DE.bin
2019-12-16 21:25:53 POWER ON
2019-12-16 20:05:48 RestartReason Power on
2019-12-16 21:25:53 Sleep 50
2019-12-16 21:25:53 SleepMode Dynamic
2019-12-16 21:25:53 Time 2019-12-16T21:25:52
2019-12-15 20:40:29 UPGRADE Successful. Restarting
2019-12-15 20:39:33 Upgrade Version 6.7.1 from http://thehackbox.org/tasmota/release/tasmota-DE.bin
2019-12-16 21:25:53 Uptime 0T01:20:12
2019-12-16 21:25:53 UptimeSec 4812
2019-12-16 20:05:48 Version 7.1.2(tasmota)
2019-12-16 20:05:48 WebServerMode Admin
2019-12-16 21:25:53 Wifi_AP 1
2019-12-16 21:25:53 Wifi_BSSId E0:28:6D:AA:63:32
2019-12-16 21:25:53 Wifi_Channel 1
2019-12-16 21:25:53 Wifi_Downtime 0T00:00:06
2019-12-16 21:25:53 Wifi_LinkCount 1
2019-12-16 21:25:53 Wifi_RSSI 60
2019-12-16 21:25:53 Wifi_SSId Kartoffelsuppe
2019-12-16 20:57:10 state on
2019-12-16 16:56:03 subscriptions /SmartHome/Wohnung/Steckdose1/cmnd/# /SmartHome/Wohnung/sonoffs/cmnd/# cmnd/steckdose1_fb/#
Attributes:
IODev myBroker
event-on-change-reading .*
readingList steckdose1:/SmartHome/Wohnung/Steckdose1/tele/LWT:.* LWT
steckdose1:/SmartHome/Wohnung/Steckdose1/cmnd/POWER:.* POWER
steckdose1:/SmartHome/Wohnung/Steckdose1/tele/INFO1:.* { json2nameValue($EVENT) }
steckdose1:/SmartHome/Wohnung/Steckdose1/tele/INFO2:.* { json2nameValue($EVENT) }
steckdose1:/SmartHome/Wohnung/Steckdose1/tele/INFO3:.* { json2nameValue($EVENT) }
steckdose1:/SmartHome/Wohnung/Steckdose1/stat/RESULT:.* { json2nameValue($EVENT) }
steckdose1:/SmartHome/Wohnung/Steckdose1/stat/POWER:.* POWER
steckdose1:/SmartHome/Wohnung/Steckdose1/tele/STATE:.* { json2nameValue($EVENT) }
steckdose1:/SmartHome/Wohnung/Steckdose1/stat/UPGRADE:.* UPGRADE
room MQTT2_DEVICE
setList on /SmartHome/Wohnung/Steckdose1/cmnd/POWER on
off /SmartHome/Wohnung/Steckdose1/cmnd/POWER off
(Aktuell attr. Event on change reading wieder gelöscht.)
Vlt kann mir jemand auf die schnelle sagen welches Attribut ich setzen muss dass auch der Status sich in fhem ändert.
Vielen Dank schon mal und allen eine gute Nacht;)
Lg
ZitatVlt kann mir jemand auf die schnelle sagen welches Attribut ich setzen muss dass auch der Status sich in fhem ändert.
Kein Attribut, sondern ein
set S1_Flug_UG attrTemplate tasmota_basic_state_power1
Damit solltest du sowas bekommen (Attribut):
eventMap
{ dev=>{'^(.*)POWER(.?): OFF$'=>'$1POWER$2: off', '^(.*)POWER(.?): ON$'=>'$1POWER$2: on'} }
Dann sollten alle Änderungen in beiden Richtungen funktionieren.
VG Sebastian
hier gab es so was ähnliches?
https://forum.fhem.de/index.php/topic,106323.msg1001899.html#msg1001899
Gruß Otto
Zitat von: binford6000 am 16 Dezember 2019, 22:20:38
Kein Attribut, sondern ein
set S1_Flug_UG attrTemplate tasmota_basic_state_power1
Damit solltest du sowas bekommen (Attribut):
eventMap
{ dev=>{'^(.*)POWER(.?): OFF$'=>'$1POWER$2: off', '^(.*)POWER(.?): ON$'=>'$1POWER$2: on'} }
Dann sollten alle Änderungen in beiden Richtungen funktionieren.
VG Sebastian
Ahhh super... vielen Dank!!! Da wäre ich nicht drauf gekommen. Danke.
Problem gelöst
Zitat von: binford6000 am 16 Dezember 2019, 22:20:38
Damit solltest du sowas bekommen (Attribut):
eventMap
{ dev=>{'^(.*)POWER(.?): OFF$'=>'$1POWER$2: off', '^(.*)POWER(.?): ON$'=>'$1POWER$2: on'} }
Aus Interesse, das mit dem eventMap ist aber schon ein Weilchen (knappes Jahr) her, oder ?
Aktuell sieht das Template so aus und führt das tasmota_set_lowercase_texts_and_state1 aus
attr DEVICE icon ICON
attr DEVICE stateFormat POWER1
set DEVICE attrTemplate tasmota_set_lowercase_texts_and_state1
attr DEVICE setList \
off:noArg CMNDTOPIC/POWER1 0\
on:noArg CMNDTOPIC/POWER1 1\
toggle:noArg CMNDTOPIC/POWER1 2\
setOtaUrl:textField CMNDTOPIC/OtaUrl $EVTPART1\
upgrade:noArg CMNDTOPIC/upgrade 1
attr DEVICE readingList \
TELETOPIC/LWT:.* LWT\
TELETOPIC/STATE:.* { json2nameValue($EVENT) }\
TELETOPIC/SENSOR:.* { json2nameValue($EVENT) }\
TELETOPIC/INFO.:.* { json2nameValue($EVENT) }\
STATTOPIC/RESULT:.* { json2nameValue($EVENT) }
deletereading -q DEVICE (?!associatedWith).*
attr DEVICE setStateList on off toggle
attr DEVICE comment NOTE: For on-for-timer SetExtensions are used. You may add on-for-timer option running on the device. The following is limited to 1h max duration, but will not affect future simple "on" commands:
on-for-timer {my $duration = $EVTPART1*10; 'cmnd/CMNDTOPIC/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}
See the "Praxisbeispiele" in the wiki for "pulseTime1" alternative option and it's restrictions.
attr DEVICE autocreate 0
attr DEVICE model tasmota_basic_state_power1
tasmota_set_lowercase_texts_and_state1-Template:
set IO_DEV publish CMNDTOPIC/Backlog StateText1 off; StateText2 on; StateText3 toggle; StateText4 hold; SetOption26 1; SaveData 1
Gruß
Thomas
ZitatAus Interesse, das mit dem eventMap ist aber schon ein Weilchen (knappes Jahr) her, oder ?
Jo, das ist tatsächlich schon eine Weile her. Funktioniert aber noch bestens ;)
Ein zweiter Sonoff basic ist schon up-to-date 8)
VG Sebastian