MQTT2 + on-for-timer

Begonnen von cornelius fillmore, 24 Mai 2020, 22:16:06

Vorheriges Thema - Nächstes Thema

cornelius fillmore

#15
 :-\ Leider nicht
anbei die aktuelle List des devices

Internals:
   CID        DVES_CCD14C
   DEF        DVES_CCD14C
   DEVICETOPIC MQTT2_DVES_CCD14C
   FUUID      5ecaa637-f33f-4662-8be3-2d2fa2831bd839b2
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 710
   MQTT2_FHEM_Server_TIME 2020-05-27 17:58:02
   MSGCNT     710
   NAME       MQTT2_DVES_CCD14C
   NR         587
   STATE      LWT
1:off
2:off
<br>
<a href="http://IPAddress" target="_blank">IPAddress</a>
   TYPE       MQTT2_DEVICE
   OLDREADINGS:
   READINGS:
     2020-05-27 17:57:24   Heap            27
     2020-05-27 17:57:24   LoadAvg         19
     2020-05-27 17:58:02   POWER1          off
     2020-05-27 17:57:57   POWER2          off
     2020-05-27 17:50:08   SaveData        on
     2020-05-27 17:50:08   SetOption26     on
     2020-05-27 17:57:24   Sleep           50
     2020-05-27 17:57:24   SleepMode       Dynamic
     2020-05-27 17:50:07   StateText1      off
     2020-05-27 17:50:07   StateText2      on
     2020-05-27 17:50:07   StateText3      toggle
     2020-05-27 17:50:08   StateText4      hold
     2020-05-27 17:57:24   Time            2020-05-27T16:57:24
     2020-05-27 17:57:24   Uptime          2T22:58:31
     2020-05-27 17:57:24   Wifi_AP         1
     2020-05-27 17:57:24   Wifi_BSSId      2C:91:AB:CC:C6:C0
     2020-05-27 17:57:24   Wifi_Channel    1
     2020-05-27 17:57:24   Wifi_DeepSleep  0
     2020-05-27 17:57:24   Wifi_Downtime   0T00:01:06
     2020-05-27 17:57:24   Wifi_Heap       27864
     2020-05-27 17:57:24   Wifi_LinkCount  10
     2020-05-27 17:57:24   Wifi_RSSI       88
     2020-05-27 17:57:24   Wifi_SSId       Bloh_WLAN_2,4G
     2020-05-26 09:33:31   associatedWith  MQTT2_DVES_CCD14C_CH2
Attributes:
   IODev      MQTT2_FHEM_Server
   autocreate 0
   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:<br>on-for-timer {my $duration = $EVTPART1*10; 'cmnd/cmnd/Sprinkler/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}<br>See the "Praxisbeispiele" in the wiki for "pulseTime1" alternative option and it's restrictions.
   devStateIcon Online:10px-kreis-gruen Offline:10px-kreis-rot 1.on:on:POWER1+off 1.off:off:POWER1+on 2.on:on:POWER2+off 2.off:off:POWER2+on
   eventMap   attr MQTT2_DVES_CCD14C eventMap { dev=>{ 'true'=>'on', 'false'=>'off' }, usr=>{ '^on$'=>'true', '^off$'=>'false' }, fw=>{ '^on$'=>'on', '^off$'=>'off' } }
   icon       hue_filled_outlet
   model      tasmota_2ch_unified
   readingList tele/Sprinkler/LWT:.* LWT
  tele/Sprinkler/STATE:.* { json2nameValue($EVENT) }
  tele/Sprinkler/SENSOR:.* { json2nameValue($EVENT) }
  tele/Sprinkler/INFO.:.* { json2nameValue($EVENT) }
  stat/Sprinkler/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
  tele/Sprinkler/UPTIME:.* { json2nameValue($EVENT) }
  stat/Sprinkler/POWER1:.* POWER1
  stat/Sprinkler/POWER2:.* POWER2
   room       Aussen->Bewässerung,Steuerung->MQTT2_DEVICE
   setExtensionsEvent 1
   setList    POWER1:on,off,toggle cmnd/Sprinkler/POWER1 $EVTPART1
on-for-timer {my $duration = $EVTPART1*10; 'cmnd/Sprinkler/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}
  POWER2:on,off,toggle cmnd/Sprinkler/POWER2 $EVTPART1
   setStateList on off toggle
   stateFormat LWT
1:POWER1
2:POWER2
<br>
<a href="http://IPAddress" target="_blank">IPAddress</a>
   webCmd     POWER1:POWER2

und der log nach Eingabe von on-for-timer
2020.05.27 17:54:56.190 3: MQTT2_DEVICE set MQTT2_DVES_CCD14C POWER1 on-for-timer 100
2020.05.27 17:54:56.191 5: MQTT2_FHEM_Server: PUBLISH cmnd/Sprinkler/POWER1 on-for-timer
2020.05.27 17:54:56.191 5:   MQTT2_FHEM_Server_192.168.0.69_63137 DVES_CCD14C => cmnd/Sprinkler/POWER1:on-for-timer
2020.05.27 17:54:56.191 5: out: PUBLISH: 0#(0)(21)cmnd/Sprinkler/POWER1on-for-timer
2020.05.27 17:54:56.453 5: in:  PUBLISH: 0'(0)(21)stat/Sprinkler/RESULT{"POWER1":"off"}
2020.05.27 17:54:56.454 4:   MQTT2_FHEM_Server_192.168.0.69_63137 DVES_CCD14C PUBLISH stat/Sprinkler/RESULT:{"POWER1":"off"}
2020.05.27 17:54:56.455 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000DVES_CCD14C\000stat/Sprinkler/RESULT\000{"POWER1":"off"}
2020.05.27 17:54:56.631 5: in:  PUBLISH: 0(26)(0)(21)stat/Sprinkler/POWER1off
2020.05.27 17:54:56.632 4:   MQTT2_FHEM_Server_192.168.0.69_63137 DVES_CCD14C PUBLISH stat/Sprinkler/POWER1:off
2020.05.27 17:54:56.633 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000DVES_CCD14C\000stat/Sprinkler/POWER1\000off


Was ich auch nicht verstehe ist, dass wenn ich die Zeile via Attributeingabe einfügen möchte, doch automatisch ein Fenster aufgeht, welches genauso aussieht wie der RAW-Input (oben mit dem +-Zeichen)
3 x Fhem 5.9 mit RPI

Beta-User

1. Die Synatxprüfung bzw. "Übersetzung" ist eine andere, je nachdem, welches Dialogfeld man nimmt. Weiß aber nicht, warum das noch fraglich ist. Einfach hinterher den RAW-Code ansehen...

2. Dein Befehl ist "suboptimal":
2020.05.27 17:54:56.190 3: MQTT2_DEVICE set MQTT2_DVES_CCD14C POWER1 on-for-timer 100Entweder du schaltest "POWER1" oder "on-for-timer" (das geht gedanklich auf "state"). Versuch' mal das:
set MQTT2_DVES_CCD14C on-for-timer 100
(Warum denkst du wohl, dass wir "split"-Geräte empfehlen, wenn es keinen Grund gibt für "unified" (z.B. weil nur interne Verwendung für was anderes)....)Du kannst auch den setter POWER1-for-timer nennen und den für Kanal 2 POWER2-for-timer; beides hat mit einem "FHEM-on-for-timer" wenig zu tun. Also in setList
POWER1-for-timer {my $duration = $EVTPART1*10; 'cmnd/Sprinkler/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}
Dann geht Kommando
set MQTT2_DVES_CCD14C POWER1-for-timer 100
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

cornelius fillmore

So habe nun das template vom unified zu split Gerät gewechselt
On-for-timer funktioniert von Anfang an ohne irgenwelche Eingaben in die setlist
Zumindest Kanal 1

Kanal 2 wird auch geschaltet zeigt aber keine Rückmeldung welche Stellung er nun hat
Muss ich da noch was konfigurieren?

Anbei die list vom CH1
Internals:
   CFGFN     
   CID        DVES_CCD14C
   DEF        DVES_CCD14C
   DEVICETOPIC MQTT2_DVES_CCD14C
   FUUID      5ecec671-f33f-4662-ed9c-94f2aa9960799b17
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 49
   MQTT2_FHEM_Server_TIME 2020-05-27 22:14:51
   MSGCNT     49
   NAME       MQTT2_DVES_CCD14C
   NR         17184
   STATE      off
   TYPE       MQTT2_DEVICE
   JSONMAP:
     Channel_0  0
     Channel_1  0
     Channel_2  0
     Channel_3  0
     Channel_4  0
     Color      0
     Dimmer     0
     HSBColor   0
     POWER1     0
     POWER2     0
     POWER3     0
     POWER4     0
   OLDREADINGS:
   READINGS:
     2020-05-27 22:13:50   Heap            28
     2020-05-27 22:13:50   LoadAvg         19
     2020-05-27 21:59:20   SaveData        on
     2020-05-27 21:59:20   SetOption26     on
     2020-05-27 22:13:50   Sleep           50
     2020-05-27 22:13:50   SleepMode       Dynamic
     2020-05-27 21:59:19   StateText1      off
     2020-05-27 21:59:19   StateText2      on
     2020-05-27 21:59:19   StateText3      toggle
     2020-05-27 21:59:19   StateText4      hold
     2020-05-27 22:13:50   Time            2020-05-27T21:13:49
     2020-05-27 22:13:50   Uptime          0T00:15:14
     2020-05-27 22:13:50   Wifi_AP         1
     2020-05-27 22:13:50   Wifi_BSSId      2C:91:AB:CC:C6:C0
     2020-05-27 22:13:50   Wifi_Channel    1
     2020-05-27 22:13:50   Wifi_DeepSleep  0
     2020-05-27 22:13:50   Wifi_Downtime   0T00:00:04
     2020-05-27 22:13:50   Wifi_Heap       28824
     2020-05-27 22:13:50   Wifi_LinkCount  1
     2020-05-27 22:13:50   Wifi_RSSI       94
     2020-05-27 22:13:50   Wifi_SSId       Bloh_WLAN_2,4G
     2020-05-27 21:59:18   associatedWith  MQTT2_DVES_CCD14C_CH2
     2020-05-27 22:14:51   state           off
     2020-05-27 21:59:18   subscriptions   cmnd/DVES_CCD14C_fb/# cmnd/Sprinkler/# cmnd/sonoffs/#
   TIMED_OnOff:
     CMD        on-for-timer
     DURATION   800
     NEXTCMD    off
     START      1590610120
     START_FMT  2020-05-27 22:08:40
     hash:
Attributes:
   IODev      MQTT2_FHEM_Server
   autocreate 0
   comment    Channel 1 for MQTT2_DVES_CCD14C, see also MQTT2_DVES_CCD14C_CH2
   icon       hue_filled_outlet
   jsonMap    POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
   model      tasmota_2channel_split
   readingList tele/Sprinkler/LWT:.* LWT
  tele/Sprinkler/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }
  tele/Sprinkler/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }
  tele/Sprinkler/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }
  tele/Sprinkler/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }
  stat/Sprinkler/POWER1:.* state
  stat/Sprinkler/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
   room       Aussen->Bewässerung,Steuerung->MQTT2_DEVICE
   setList    off:noArg    cmnd/Sprinkler/POWER1 0
  on:noArg     cmnd/Sprinkler/POWER1 1
  toggle:noArg cmnd/Sprinkler/POWER1 2
  setOtaUrl:textField cmnd/Sprinkler/OtaUrl $EVTPART1
  upgrade:noArg   cmnd/Sprinkler/upgrade 1
   setStateList on off toggle

und die List CH2
Internals:
   CFGFN     
   CID        DVES_CCD14C
   DEF        DVES_CCD14C
   DEVICETOPIC MQTT2_DVES_CCD14C_CH2
   FUUID      5ecec696-f33f-4662-7cba-0060d04ac95ff041
   IODev      MQTT2_FHEM_Server
   NAME       MQTT2_DVES_CCD14C_CH2
   NR         17194
   STATE      set_off
   TYPE       MQTT2_DEVICE
   JSONMAP:
     ANALOG_A0  0
     Dimmer     pct
     Heap       0
     LedTable   0
     LoadAvg    0
     MqttCount  0
     POWER1     0
     POWER2     0
     SaveData   0
     Scheme     0
     SetOption26 0
     Sleep      0
     SleepMode  0
     Speed      0
     StateText1 0
     StateText2 0
     StateText3 0
     StateText4 0
     Time       0
     Uptime     0
     UptimeSec  0
     Wifi_AP    0
     Wifi_BSSId 0
     Wifi_Channel 0
     Wifi_Downtime 0
     Wifi_LinkCount 0
     Wifi_RSSI  0
     Wifi_SSId  0
   READINGS:
     2020-05-27 21:59:18   associatedWith  MQTT2_DVES_CCD14C
     2020-05-27 22:10:49   state           set_off
     2020-05-27 21:59:18   subscriptions   cmnd/DVES_CCD14C_fb/# cmnd/Sprinkler/# cmnd/sonoffs/#
Attributes:
   IODev      MQTT2_FHEM_Server
   autocreate 0
   comment    Channel 2 for MQTT2_DVES_CCD14C
   icon       hue_filled_outlet
   jsonMap    POWER2:0 Dimmer:pct POWER1:0 Heap:0 LedTable:0 LoadAvg:0 MqttCount:0 SaveData:0 Scheme:0 SetOption26:0 Sleep:0 SleepMode:0 Speed:0 StateText1:0 StateText2:0 StateText3:0 StateText4:0 Time:0 Uptime:0 UptimeSec:0 Wifi_SSId:0 Wifi_RSSI:0 Wifi_LinkCount:0 Wifi_Downtime:0 Wifi_Channel:0 Wifi_BSSId:0 Wifi_AP:0 ANALOG_A0:0 SetOption26:0 Sleep:0 SleepMode:0 Speed:0 StateText1:0 StateText2:0 StateText3:0 StateText4:0 Time:0 Uptime:0 UptimeSec:0 Wifi_SSId:0 Wifi_RSSI:0 Wifi_LinkCount:0 Wifi_Downtime:0 Wifi_Channel:0 Wifi_BSSId:0 Wifi_AP:0
   model      tasmota_2channel_split
   readingList STATTOPIC/POWER2:.* state
   room       Aussen->Bewässerung,Steuerung->MQTT2_DEVICE
   setList    off:noArg    cmnd/Sprinkler/POWER2 0
  on:noArg     cmnd/Sprinkler/POWER2 1
  toggle:noArg cmnd/Sprinkler/POWER2 2
   setStateList on off toggle
3 x Fhem 5.9 mit RPI

Beta-User

Kann es sein, dass dein FHEM mind. 2 Monate nicht aktualisiert wurde? (afaik hatte ich das irgendwann im März repariert, dass der Parameter für STATTOPIC auch im 2. Kanal aufgelöst wird).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

cornelius fillmore

#19
Ich prüfe dies umgehend

Nach einen "erzwungenem" update läuft es nun.

Danke noch mal an die Ideengeber
3 x Fhem 5.9 mit RPI