Hallo,
ich wollte einen Sonoff in einer komprimierten Darstellung in FHEM einbinden. Hierzu mein List
Internals:
CID DVES_8CAB36
DEF DVES_8CAB36
DEVICETOPIC MQTT2_SONOFF_4CH_PRO_R2_8CAB36
FUUID 5ec1b0d7-f33f-a4d3-3f2f-f82c70e2a2ade278
IODev MQTT2
LASTInputDev MQTT2
MQTT2_MSGCNT 746
MQTT2_TIME 2020-06-18 22:13:45
MSGCNT 746
NAME MQTT2_SONOFF_4CH_PRO_R2_8CAB36
NR 272
STATE 1:off
2:off
3:off
4:off
TYPE MQTT2_DEVICE
READINGS:
2020-06-17 23:38:01 BASE 18
2020-06-17 23:38:01 FLAG 15
2020-06-17 23:38:07 FallbackTopic cmnd/DVES_8CAB36_fb/
2020-06-17 23:38:01 GPIO_1 255
2020-06-17 23:38:01 GPIO_10 255
2020-06-17 23:38:01 GPIO_11 255
2020-06-17 23:38:01 GPIO_12 255
2020-06-17 23:38:01 GPIO_13 255
2020-06-17 23:38:01 GPIO_2 255
2020-06-17 23:38:01 GPIO_3 255
2020-06-17 23:38:01 GPIO_4 255
2020-06-17 23:38:01 GPIO_5 255
2020-06-17 23:38:01 GPIO_6 255
2020-06-17 23:38:01 GPIO_7 255
2020-06-17 23:38:01 GPIO_8 255
2020-06-17 23:38:01 GPIO_9 255
2020-06-17 23:38:07 GroupTopic cmnd/tasmotas/
2020-06-18 22:13:16 Heap 22
2020-06-17 23:38:07 Hostname DVES_8CAB36-2870
2020-06-17 23:38:07 IPAddress 192.168.178.40
2020-06-18 16:50:05 LWT Online
2020-06-18 22:13:16 LoadAvg 19
2020-06-17 23:38:07 Module Sonoff 4CH Pro
2020-06-18 22:13:16 MqttCount 3
2020-06-17 23:38:01 NAME Generic
2020-06-18 22:13:45 POWER1 off
2020-06-18 22:13:16 POWER2 off
2020-06-18 22:13:16 POWER3 off
2020-06-18 22:13:16 POWER4 off
2020-06-18 22:13:35 PulseTime1_Remaining 100
2020-06-18 22:13:35 PulseTime1_Set 100
2020-06-17 23:38:07 RestartReason Software/System restart
2020-05-17 23:47:30 SaveData on
2020-05-17 23:47:30 SetOption26 on
2020-06-18 22:13:16 Sleep 50
2020-06-18 22:13:16 SleepMode Dynamic
2020-05-17 23:47:29 StateText1 off
2020-05-17 23:47:29 StateText2 on
2020-05-17 23:47:29 StateText3 toggle
2020-05-17 23:47:30 StateText4 hold
2020-06-18 22:13:16 Time 2020-06-18T21:13:16
2020-06-18 22:13:16 Uptime 0T22:35:14
2020-06-18 22:13:16 UptimeSec 81314
2020-06-17 23:38:07 Version 8.2.0.5(tasmota)
2020-06-17 23:38:07 WebServerMode Admin
2020-06-18 22:13:16 Wifi_AP 1
2020-06-18 22:13:16 Wifi_BSSId 7C:FF:4D:17:EB:4D
2020-06-18 22:13:16 Wifi_Channel 1
2020-06-18 22:13:16 Wifi_Downtime 0T00:00:13
2020-06-18 22:13:16 Wifi_LinkCount 3
2020-06-18 22:13:16 Wifi_RSSI 52
2020-06-18 22:13:16 Wifi_SSId FRITZ B.
2020-06-18 22:13:16 Wifi_Signal -74
2020-05-22 18:53:09 associatedWith MQTT2_SONOFF_4CH_PRO_R2_8CAB36,Rasenregner2,Lavendelbeet
2020-06-17 20:02:26 off1 set
2020-06-17 23:40:33 off2 set
2020-06-17 20:02:29 off3 set
2020-06-17 19:55:22 on-for-timer set 3600
2020-06-18 22:13:34 on-for-timer1 set 10
2020-06-17 23:40:23 on-for-timer2 set 10
2020-06-17 20:00:21 on-for-timer3 set 10
2020-06-17 19:59:39 on-for-timer4 set 10
2020-06-17 19:46:37 on2 set
2020-06-17 19:47:31 on3 set
2020-06-17 19:43:10 state set_off
Attributes:
IODev MQTT2
alias Beregnung
autocreate 0
comment Channel 3 for MQTT2_DVES_8CAB36, see also MQTT2_DVES_8CAB36, MQTT2_DVES_8CAB36_CH2 and MQTT2_DVES_8CAB36_CH4
http://192.168.178.40/
devStateIcon 1.on:sani_sprinkling@blue:off1 1.off:sani_sprinkling@gray:AN1 2.on:sani_sprinkling@blue:off2 2.off:sani_sprinkling@gray:AN2 3.on:sani_sprinkling@blue:off1 3.off:sani_sprinkling@gray:AN3 4.on:sani_sprinkling@blue:off1 4.off:sani_sprinkling@gray:AN4
eventMap /on-for-timer1 10:AN1/on-for-timer2 10:AN2/on-for-timer3 10:AN3/on-for-timer4 10:AN4/
group Beregnung
model tasmota_4channel_split
readingList tele/DVES_8CAB36/LWT:.* LWT
tele/DVES_8CAB36/STATE:.* { json2nameValue($EVENT) }
tele/DVES_8CAB36/SENSOR:.* { json2nameValue($EVENT) }
tele/DVES_8CAB36/INFO.:.* { json2nameValue($EVENT) }
stat/DVES_8CAB36/RESULT:.* { json2nameValue($EVENT) }
room Baßler,Baßler_komplett,MQTT2_DEVICE
setList off1:noArg cmnd/DVES_8CAB36/POWER1 0
on1:noArg cmnd/DVES_8CAB36/POWER1 1
toggle1:noArg cmnd/DVES_8CAB36/POWER1 2
on-for-timer1 {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100; 'cmnd/DVES_8CAB36/Backlog pulseTime1 '.$duration.'; POWER1 1'}
off2:noArg cmnd/DVES_8CAB36/POWER2 0
on2:noArg cmnd/DVES_8CAB36/POWER2 1
toggle2:noArg cmnd/DVES_8CAB36/POWER2 2
on-for-timer2 {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100; 'cmnd/DVES_8CAB36/Backlog pulseTime1 '.$duration.'; POWER2 1'}
off3:noArg cmnd/DVES_8CAB36/POWER3 0
on3:noArg cmnd/DVES_8CAB36/POWER3 1
toggle3:noArg cmnd/DVES_8CAB36/POWER3 2
on-for-timer3 {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100; 'cmnd/DVES_8CAB36/Backlog pulseTime1 '.$duration.'; POWER3 1'}
off4:noArg cmnd/DVES_8CAB36/POWER4 0
on4:noArg cmnd/DVES_8CAB36/POWER4 1
toggle4:noArg cmnd/DVES_8CAB36/POWER4 2
on-for-timer4 {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100; 'cmnd/DVES_8CAB36/Backlog pulseTime1 '.$duration.'; POWER4 1'}
setStateList on off toggle
sortby 03
stateFormat 1:POWER1
2:POWER2
3:POWER3
4:POWER4
webCmd AN1:AN2:AN3:AN4
Mit diesen setting kann ich alle vier Kanäle ein und aus schalten.
Da ich mit diesem Schalter meine Beregnung steuere, würde ich gerne den on-for-timer für alle 4 Kanäle nutzen.
Aber leider funktioniert das nur bei einem Kanal. vielleicht hat ja jemand Interesse an dieser Aufgabe ?
Ich vermute mal dass dieses Problem auch im Schalter liegt daher hier der Auszuf aus der Konsole:
00:00:00 CFG: aus Flash geladen am F7, zählen 541
00:00:00 Projekt SONOFF_4CH_PRO_R2 Tasmota Version 8.2.0.5(tasmota)-STAGE
00:00:00 WIF: verbinden mit AP1 FRITZ B. Channel 1 BSSId 7C:FF:4D:17:EB:4D in Modus 11N als DVES_8CAB36-2870...
00:00:01 WIF: verbunden
00:00:01 HTP: Web-Server aktiv bei DVES_8CAB36-2870 mit IP-Adresse 192.168.178.40
22:38:07 MQT: Verbindungsversuch...
22:38:07 MQT: verbunden
22:38:07 MQT: tele/DVES_8CAB36/LWT = Online (beibehalten)
22:38:07 MQT: cmnd/DVES_8CAB36/POWER =
22:38:07 MQT: tele/DVES_8CAB36/INFO1 = {"Module":"Sonoff 4CH Pro","Version":"8.2.0.5(tasmota)","FallbackTopic":"cmnd/DVES_8CAB36_fb/","GroupTopic":"cmnd/tasmotas/"}
22:38:07 MQT: tele/DVES_8CAB36/INFO2 = {"WebServerMode":"Admin","Hostname":"DVES_8CAB36-2870","IPAddress":"192.168.178.40"}
22:38:07 MQT: tele/DVES_8CAB36/INFO3 = {"RestartReason":"Software/System restart"}
22:38:07 MQT: stat/DVES_8CAB36/RESULT = {"POWER1":"off"}
22:38:07 MQT: stat/DVES_8CAB36/POWER1 = off
22:38:07 MQT: stat/DVES_8CAB36/RESULT = {"POWER2":"off"}
22:38:07 MQT: stat/DVES_8CAB36/POWER2 = off
22:38:07 MQT: stat/DVES_8CAB36/RESULT = {"POWER3":"off"}
22:38:07 MQT: stat/DVES_8CAB36/POWER3 = off
22:38:07 MQT: stat/DVES_8CAB36/RESULT = {"POWER4":"off"}
22:38:07 MQT: stat/DVES_8CAB36/POWER4 = off
22:38:11 MQT: tele/DVES_8CAB36/STATE = {"Time":"2020-06-17T22:38:11","Uptime":"0T00:00:09","UptimeSec":9,"Heap":23,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"POWER1":"off","POWER2":"off","POWER3":"off","POWER4":"off","Wifi":{"AP":1,"SSId":"FRITZ B.","BSSId":"7C:FF:4D:17:EB:4D","Channel":1,"RSSI":52,"Signal":-74,"LinkCount":1,"Downtime":"0T00:00:03"}}
22:39:58 MQT: stat/DVES_8CAB36/RESULT = {"PulseTime1":{"Set":100,"Remaining":100}}
22:39:58 MQT: stat/DVES_8CAB36/RESULT = {"POWER2":"on"}
22:39:58 MQT: stat/DVES_8CAB36/POWER2 = on
22:40:08 MQT: stat/DVES_8CAB36/RESULT = {"POWER1":"off"}
22:40:08 MQT: stat/DVES_8CAB36/POWER1 = off
22:40:21 MQT: stat/DVES_8CAB36/RESULT = {"POWER2":"off"}
22:40:22 MQT: stat/DVES_8CAB36/POWER2 = off
22:40:24 MQT: stat/DVES_8CAB36/RESULT = {"PulseTime1":{"Set":100,"Remaining":100}}
22:40:24 MQT: stat/DVES_8CAB36/RESULT = {"POWER2":"on"}
22:40:24 MQT: stat/DVES_8CAB36/POWER2 = on
22:40:33 MQT: stat/DVES_8CAB36/RESULT = {"POWER2":"off"}
22:40:33 MQT: stat/DVES_8CAB36/POWER2 = off
22:40:34 MQT: stat/DVES_8CAB36/RESULT = {"POWER1":"off"}
22:40:34 MQT: stat/DVES_8CAB36/POWER1 = off
Danke für eure Hilfe
off2:noArg cmnd/DVES_8CAB36/POWER2 0
on2:noArg cmnd/DVES_8CAB36/POWER2 1
toggle2:noArg cmnd/DVES_8CAB36/POWER2 2
on-for-timer2 {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100; 'cmnd/DVES_8CAB36/Backlog pulseTime1 '.$duration.'; POWER2 1'}
off3:noArg cmnd/DVES_8CAB36/POWER3 0
on3:noArg cmnd/DVES_8CAB36/POWER3 1
toggle3:noArg cmnd/DVES_8CAB36/POWER3 2
on-for-timer3 {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100; 'cmnd/DVES_8CAB36/Backlog pulseTime1 '.$duration.'; POWER3 1'}
off4:noArg cmnd/DVES_8CAB36/POWER4 0
on4:noArg cmnd/DVES_8CAB36/POWER4 1
toggle4:noArg cmnd/DVES_8CAB36/POWER4 2
on-for-timer4 {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100; 'cmnd/DVES_8CAB36/Backlog pulseTime1 '.$duration.'; POWER4 1'}
Bei allen on-for-timerNN setzt Du pulseTime1. Für on-for-timerNN muss es pulseTimeNN sein
Vielen Dank, es funktioniert.