FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Müller am 18 Juni 2020, 22:16:04

Titel: komprimierter Sonoff 4Kanal - on-for-timer gelöst
Beitrag von: Müller am 18 Juni 2020, 22:16:04
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
Titel: Antw:komprimierter Sonoff 4Kanal - on-for-timer
Beitrag von: amenomade am 19 Juni 2020, 01:19:29
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
Titel: Antw:komprimierter Sonoff 4Kanal - on-for-timer
Beitrag von: Müller am 19 Juni 2020, 18:17:00
Vielen Dank, es funktioniert.