Hallo Forum,
ich wollte eines meiner MQTT2 mit einem timer laufen lassen, aber irgenwie bekommen ich dies nicht hin.
Kann mir in diesem Punkt jemand weiterhelfen?
Anbei die list
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 40
MQTT2_FHEM_Server_TIME 2020-05-24 22:09:28
MSGCNT 40
NAME MQTT2_DVES_CCD14C
NR 587
STATE Online
1:off
2:off
<br>
<a href="http://IPAddress" target="_blank">IPAddress</a>
TYPE MQTT2_DEVICE
READINGS:
2020-05-24 22:09:28 Heap 27
2020-05-24 21:02:03 LWT Online
2020-05-24 22:09:28 LoadAvg 19
2020-05-24 22:09:28 POWER1 off
2020-05-24 22:09:28 POWER2 off
2020-05-24 19:00:50 SaveData on
2020-05-24 19:00:50 SetOption26 on
2020-05-24 22:09:28 Sleep 50
2020-05-24 22:09:28 SleepMode Dynamic
2020-05-24 19:00:49 StateText1 off
2020-05-24 19:00:49 StateText2 on
2020-05-24 19:00:49 StateText3 toggle
2020-05-24 19:00:50 StateText4 hold
2020-05-24 22:09:28 Time 2020-05-24T21:09:28
2020-05-24 22:09:28 Uptime 0T03:10:35
2020-05-24 22:09:28 Wifi_AP 1
2020-05-24 22:09:28 Wifi_BSSId 2C:91:AB:CC:C6:C0
2020-05-24 22:09:28 Wifi_Channel 6
2020-05-24 22:09:28 Wifi_DeepSleep 0
2020-05-24 22:09:28 Wifi_Downtime 0T00:00:04
2020-05-24 22:09:28 Wifi_Heap 28304
2020-05-24 22:09:28 Wifi_LinkCount 1
2020-05-24 22:09:28 Wifi_RSSI 80
2020-05-24 22:09:28 Wifi_SSId Bloh_WLAN_2,4G
2020-05-24 18:59:50 associatedWith MQTT2_DVES_CCD14C_CH2
2020-05-24 19:59:34 subscriptions cmnd/DVES_CCD14C_fb/# cmnd/Sprinkler/# cmnd/sonoffs/#
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/DVES_575127/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}
POWER2:on,off,toggle cmnd/Sprinkler/POWER2 $EVTPART1 on-for-timer {my $duration = $EVTPART1*10; 'cmnd/DVES_575127/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}
setStateList on off toggle
stateFormat LWT
1:POWER1
2:POWER2
<br>
<a href="http://IPAddress" target="_blank">IPAddress</a>
webCmd POWER1:POWER2
Und das logfile
2020.05.27 06:54:44.239 3: MQTT2_DEVICE set MQTT2_DVES_CCD14C POWER1 on-for-timer 10
2020.05.27 06:54:44.240 5: MQTT2_FHEM_Server: PUBLISH cmnd/Sprinkler/POWER1 on-for-timer
2020.05.27 06:54:44.246 5: MQTT2_FHEM_Server_192.168.0.69_55238 DVES_CCD14C => cmnd/Sprinkler/POWER1:on-for-timer
2020.05.27 06:54:44.247 5: out: PUBLISH: 0#(0)(21)cmnd/Sprinkler/POWER1on-for-timer
2020.05.27 06:54:44.384 5: in: PUBLISH: 0'(0)(21)stat/Sprinkler/RESULT{"POWER1":"off"}
2020.05.27 06:54:44.384 4: MQTT2_FHEM_Server_192.168.0.69_55238 DVES_CCD14C PUBLISH stat/Sprinkler/RESULT:{"POWER1":"off"}
2020.05.27 06:54:44.385 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000DVES_CCD14C\000stat/Sprinkler/RESULT\000{"POWER1":"off"}
2020.05.27 06:54:44.449 5: in: PUBLISH: 0(26)(0)(21)stat/Sprinkler/POWER1off
2020.05.27 06:54:44.449 4: MQTT2_FHEM_Server_192.168.0.69_55238 DVES_CCD14C PUBLISH stat/Sprinkler/POWER1:off
2020.05.27 06:54:44.450 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000DVES_CCD14C\000stat/Sprinkler/POWER1\000off
Fehlt nicht ein Newline vor on-for-timer?
Und on-for-timer sollte man nicht zweimal definieren.
So habs mal geändert.
Aber es funktioniert immer noch nicht
Anbei die list
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 392
MQTT2_FHEM_Server_TIME 2020-05-25 21:55:30
MSGCNT 392
NAME MQTT2_DVES_CCD14C
NR 587
STATE Online
1:off
2:on
<br>
<a href="http://IPAddress" target="_blank">IPAddress</a>
TYPE MQTT2_DEVICE
READINGS:
2020-05-25 21:55:17 Heap 27
2020-05-25 17:52:13 LWT Online
2020-05-25 21:55:17 LoadAvg 19
2020-05-25 21:55:30 POWER1 off
2020-05-25 21:55:29 POWER2 on
2020-05-24 19:00:50 SaveData on
2020-05-24 19:00:50 SetOption26 on
2020-05-25 21:55:17 Sleep 50
2020-05-25 21:55:17 SleepMode Dynamic
2020-05-24 19:00:49 StateText1 off
2020-05-24 19:00:49 StateText2 on
2020-05-24 19:00:49 StateText3 toggle
2020-05-24 19:00:50 StateText4 hold
2020-05-25 21:55:17 Time 2020-05-25T20:55:17
2020-05-25 21:55:17 Uptime 1T02:56:24
2020-05-25 21:55:17 Wifi_AP 1
2020-05-25 21:55:17 Wifi_BSSId 2C:91:AB:CC:C6:C0
2020-05-25 21:55:17 Wifi_Channel 11
2020-05-25 21:55:17 Wifi_DeepSleep 0
2020-05-25 21:55:17 Wifi_Downtime 0T00:00:20
2020-05-25 21:55:17 Wifi_Heap 28304
2020-05-25 21:55:17 Wifi_LinkCount 6
2020-05-25 21:55:17 Wifi_RSSI 94
2020-05-25 21:55:17 Wifi_SSId Bloh_WLAN_2,4G
2020-05-24 18:59:50 associatedWith MQTT2_DVES_CCD14C_CH2
2020-05-24 19:59:34 subscriptions cmnd/DVES_CCD14C_fb/# cmnd/Sprinkler/# cmnd/sonoffs/#
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/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
Ich wuerde das FHEM-Log nach "attr MQTT2_FHEM_Server verbose 5" und "set MQTT2_DVES_CCD14C on-for-timer 10" anschauen.
Und dann ueberlegen, ob das im FHEM-Log gezeigte topic/message das ist, was das Geraet erwartet.
So, habe mal die beiden Zeilen ausgeführt, aber so richtig was geändert hat sich nicht.
Anbei das log
2020.05.26 06:13:36.481 3: MQTT2_DEVICE set MQTT2_DVES_CCD14C on-for-timer 10
2020.05.26 06:13:36.482 5: MQTT2_FHEM_Server: PUBLISH {my $duration = 10*10; 'cmnd/cmnd/Sprinkler/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}
2020.05.26 06:13:45.192 5: in: PINGREQ: (192)(0)
2020.05.26 06:13:45.192 4: MQTT2_FHEM_Server_192.168.0.69_50390 DVES_CCD14C PINGREQ
2020.05.26 06:13:45.193 5: out: PINGRESP: (208)(0)
2020.05.26 06:14:00.741 5: in: PINGREQ: (192)(0)
2020.05.26 06:14:00.741 4: MQTT2_FHEM_Server_192.168.0.13_63925 DVES_976FB9 PINGREQ
2020.05.26 06:14:00.742 5: out: PINGRESP: (208)(0)
2020.05.26 06:14:01.168 5: in: PINGREQ: (192)(0)
2020.05.26 06:14:01.168 4: MQTT2_FHEM_Server_192.168.0.47_16711 DVES_E54AAB PINGREQ
2020.05.26 06:14:01.168 5: out: PINGRESP: (208)(0)
2020.05.26 06:14:03.978 5: in: PINGREQ: (192)(0)
2020.05.26 06:14:03.978 4: MQTT2_FHEM_Server_192.168.0.154_50207 DVES_9796BC PINGREQ
2020.05.26 06:14:03.979 5: out: PINGRESP: (208)(0)
2020.05.26 06:14:15.200 5: in: PINGREQ: (192)(0)
2020.05.26 06:14:15.201 4: MQTT2_FHEM_Server_192.168.0.69_50390 DVES_CCD14C PINGREQ
2020.05.26 06:14:15.202 5: out: PINGRESP: (208)(0)
2020.05.26 06:14:30.770 5: in: PINGREQ: (192)(0)
2020.05.26 06:14:30.770 4: MQTT2_FHEM_Server_192.168.0.13_63925 DVES_976FB9 PINGREQ
2020.05.26 06:14:30.771 5: out: PINGRESP: (208)(0)
2020.05.26 06:14:31.172 5: in: PINGREQ: (192)(0)
2020.05.26 06:14:31.173 4: MQTT2_FHEM_Server_192.168.0.47_16711 DVES_E54AAB PINGREQ
2020.05.26 06:14:31.173 5: out: PINGRESP: (208)(0)
2020.05.26 06:14:34.006 5: in: PINGREQ: (192)(0)
2020.05.26 06:14:34.007 4: MQTT2_FHEM_Server_192.168.0.154_50207 DVES_9796BC PINGREQ
2020.05.26 06:14:34.007 5: out: PINGRESP: (208)(0)
Ist den meine setlist so i.O?
POWER1:on,off,toggle cmnd/Sprinkler/POWER1 $EVTPART1
on-for-timer {my $duration = $EVTPART1*10; 'cmnd/cmnd/Sprinkler/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}
POWER2:on,off,toggle cmnd/Sprinkler/POWER2 $EVTPART1
Komisch finde ich, dass ich manuel jetzt gar nicht mehr schalten kann
Wenn ich deine Konfiguration bei mir eingebe, dann bekomme ich fuer "set MQTT2_DVES_CCD14C on-for-timer 10"
2020.05.26 09:38:08 5: m2s: PUBLISH cmnd/cmnd/Sprinkler/Backlog POWER1 1; delay 100; POWER1 0
Das ist zwar wegen cmnd/cmnd mAn etwas komisch, aber deutlich besser als deine Variante.
Weiss nicht, was bei Dir anders ist.
Kann es denn etwas damit zu tun haben, dass dies ein 2Kanal ist.
Ich habe noch einen sonoffs mit 1Kanal am laufen, welcher von Anfang an mit on-for-timer funktionierte ohne das etwas in der setList hinzugefügt oder geändert wurde
Generell ist ein kombiniertes Geraet mit mehreren Kanaelen aufwendiger zu konfigurieren, weil die Mechanismen wie SetExtensions sowas nicht beherrschen, aber in diesem Fall geht es um was anderes, vermutlich Tippfehler
=> deine PUBLISH Ausgabe sollte etwas enthalten, womit dein MQTT-Client etwas anfangen kann (und nicht Perl-Code)
Da der Code für den einen Kanal vermutlich aus dem Wiki/Praxisbeispiele kommt:
(Ungetestet:) Mach' da mal ein zweites ";" rein
on-for-timer {my $duration = $EVTPART1*10;; 'cmnd/cmnd/Sprinkler/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}
Falls das funktioniert, kannst du mal das noch so ändern:
on-for-timer {my $duration = $EVTPART1*10;; qq(cmnd/cmnd/Sprinkler/Backlog POWER1 1; delay $duration; POWER1 0)}
Wenn das paßt, würde ich das dann auch wieder im Wiki anpassen (ich hatte das, was jetzt da steht, nur als "funktionierend" zugerufen bekommen, nie getestet und evtl. auch einen Fehler beim Übertrag gemacht...).
Getestet:
Zitatattr MQTT2_DVES_CCD14C setList POWER1:on,off,toggle cmnd/Sprinkler/POWER1 $EVTPART1\
on-for-timer {my $duration = $EVTPART1*10;; 'cmnd/cmnd/Sprinkler/Backlog POWER1 1;; delay '.$duration.';; POWER1 0'}\
POWER2:on,off,toggle cmnd/Sprinkler/POWER2 $EVTPART1
Das ; muss fuer fhem.cfg ueberall verdoppelt werden, da der FHEM Parser nicht so intelligent ist, dass es ein "innerhalb" von ' (oder " oder qq etc) feststellen kann.
In der Detailansicht sieht man nur noch ein ; und auch beim Bearbeiten des Attributes im FHEMWEB ist nur noch ein ; notwendig, da es hier immer um genau ein FHEM Befehl geht, und es keine Befehlskette sein kann.
Hmm, dann war das im Wiki bisher jedenfalls mißverständlich; habe mal den Hinweis rein, dass das der Weg der Eingabe via FHEMWEB-Attributfeld ist... (der Rest des Artikels geht immer von RAW-input aus).
@TE: es gibt ein "split"-template, damit hätte SetExtensions-on-for-timer&Co ootb funktioniert...
Zitat von: rudolfkoenig am 26 Mai 2020, 12:07:03
Getestet:Das ; muss fuer fhem.cfg ueberall verdoppelt werden, da der FHEM Parser nicht so intelligent ist, dass es ein "innerhalb" von ' (oder " oder qq etc) feststellen kann.
Ich habe das nun mal eingegeben.
So richtig verbessert hat es sich aber nicht.
Schalten via "on-for-timer" geht immer noch nicht.
Anbei die 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 313
MQTT2_FHEM_Server_TIME 2020-05-26 20:41:51
MSGCNT 313
NAME MQTT2_DVES_CCD14C
NR 587
STATE Online
1:off
2:off
<br>
<a href="http://IPAddress" target="_blank">IPAddress</a>
TYPE MQTT2_DEVICE
OLDREADINGS:
READINGS:
2020-05-26 20:41:51 Heap 27
2020-05-26 17:31:41 LWT Online
2020-05-26 20:41:51 LoadAvg 19
2020-05-26 20:41:51 POWER1 off
2020-05-26 20:41:51 POWER2 off
2020-05-26 10:18:29 SaveData on
2020-05-26 10:18:29 SetOption26 on
2020-05-26 20:41:51 Sleep 50
2020-05-26 20:41:51 SleepMode Dynamic
2020-05-26 10:18:28 StateText1 off
2020-05-26 10:18:28 StateText2 on
2020-05-26 10:18:28 StateText3 toggle
2020-05-26 10:18:28 StateText4 hold
2020-05-26 20:41:51 Time 2020-05-26T19:41:51
2020-05-26 20:41:51 Uptime 2T01:42:58
2020-05-26 20:41:51 Wifi_AP 1
2020-05-26 20:41:51 Wifi_BSSId 2C:91:AB:CC:C6:C0
2020-05-26 20:41:51 Wifi_Channel 1
2020-05-26 20:41:51 Wifi_DeepSleep 0
2020-05-26 20:41:51 Wifi_Downtime 0T00:00:23
2020-05-26 20:41:51 Wifi_Heap 27864
2020-05-26 20:41:51 Wifi_LinkCount 7
2020-05-26 20:41:51 Wifi_RSSI 90
2020-05-26 20:41:51 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/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
da ist auch noch ein "doppeltes "cmnd" drin, das habe ich auch übersehen, Rudi hatte das aber schon früher angemakelt...
Zitat von: Beta-User am 26 Mai 2020, 20:56:10
da ist auch noch ein "doppeltes "cmnd" drin, das habe ich auch übersehen, Rudi hatte das aber schon früher angemakelt...
Guten Morgen, anbei meine Vorgehensweise
- Ich wähle für den zwei Kanal Sonoff-Tasmota mit attrTemplate den "tasmota_2ch-unified"
- setze dann die "setExtesionEvent" auf 1
- gebe dann über raw input "on-for-timer {my $duration = $EVTPART1*10; 'cmnd/Sprinkler/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}" ein
dann lässt sich das device weiterhin manuel schalten, aber on-for-timer funktioniert nicht
Noch eine Idee?
Anbei die aktuelle List des devices
[/list]
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 482
MQTT2_FHEM_Server_TIME 2020-05-27 06:47:13
MSGCNT 482
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 06:47:13 Heap 27
2020-05-27 06:47:13 LoadAvg 19
2020-05-27 06:47:13 POWER1 off
2020-05-27 06:47:13 POWER2 off
2020-05-27 06:27:18 SaveData on
2020-05-27 06:27:18 SetOption26 on
2020-05-27 06:47:13 Sleep 50
2020-05-27 06:47:13 SleepMode Dynamic
2020-05-27 06:27:17 StateText1 off
2020-05-27 06:27:17 StateText2 on
2020-05-27 06:27:17 StateText3 toggle
2020-05-27 06:27:18 StateText4 hold
2020-05-27 06:47:13 Time 2020-05-27T05:47:13
2020-05-27 06:47:13 Uptime 2T11:48:20
2020-05-27 06:47:13 Wifi_AP 1
2020-05-27 06:47:13 Wifi_BSSId 2C:91:AB:CC:C6:C0
2020-05-27 06:47:13 Wifi_Channel 1
2020-05-27 06:47:13 Wifi_DeepSleep 0
2020-05-27 06:47:13 Wifi_Downtime 0T00:00:26
2020-05-27 06:47:13 Wifi_Heap 28032
2020-05-27 06:47:13 Wifi_LinkCount 8
2020-05-27 06:47:13 Wifi_RSSI 90
2020-05-27 06:47:13 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
Zitat von: cornelius fillmore am 27 Mai 2020, 06:52:01gebe dann über raw input "on-for-timer {my $duration = $EVTPART1*10; 'cmnd/Sprinkler/Backlog POWER1 1; delay '.$duration.'; POWER1 0'}" ein
:o ...warum schreibe ich im Wiki, dass die Schreibweise mit einem ";" für die Eingabe ins Attributfeld ist? Und hier, dass das abweicht von RAW, was sonst im Artikel verwendet wird?!?
Antwort im Klartext: Weil es über RAW mit je einem ";" nicht klappt... (qed)
Langform: nutze die Attributeingabe zur Korrektur, dann sollte es passen ;) .
:-\ 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)
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 100
Entweder 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
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
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).
Ich prüfe dies umgehend
Nach einen "erzwungenem" update läuft es nun.
Danke noch mal an die Ideengeber