Warum wird watchdog mit mehreren Kommandos nicht ausgeführt

Begonnen von Bronze, 21 April 2021, 11:04:58

Vorheriges Thema - Nächstes Thema

Bronze

Hallo,
mir ist nicht klar, welchen Syntaxfehler ich begehe im Vergleich zu einem DOIF, das ausgeführt wird:

Das wird nie ausgeführt:

KNX_0400003:closed 00:05:00 KNX_0400003:open
(set Rollade_EG_WZ_TuerErker position 100,
set Rollade_EG_WZ_TuerLinks position 100,
msg push rr_Thomas |Watchdog | Rollade EG WZ Tür Links/Rechts auf 100% gefahren);; .


Das wird immer ausgeführt:

KNX_0400003:closed 00:05:00 KNX_0400003:open msg push rr_Thomas |Watchdog| Externer Alarm laenger als 5 Minuten scharf geschaltet;; .

Wie kann man mehrere Befehle ausführen lassen im Watchdog?

Und warum geht diese Abfrage als Bedingung nicht:

([KNX_0400003] eq "closed")

Vielen Dank!

Beta-User

(Diese aus DOIF übernommenen Klammersetzungen sind einfach nur gruselig...)

Lt. commandref zu watchdog sind beide Ereignisse als "regexp" zu notieren, damit ist eigentlich klar, dass ein "eq" oder "gt" etc. nicht geht. Ist nicht anders als bei notify. Und wie dort gehe ich mal davon aus, dass mehrere Kommandos mit einem (einzelnen) Semikolon zu trennen sind.

KNX_0400003:closed 00:05:00 KNX_0400003:open set Rollade_EG_WZ_TuerErker,Rollade_EG_WZ_TuerLinks position 100; msg push rr_Thomas |Watchdog | Rollade EG WZ Tür Links/Rechts auf 100% gefahren
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

rudolfkoenig

ZitatUnd wie dort gehe ich mal davon aus, dass mehrere Kommandos mit einem (einzelnen) Semikolon zu trennen sind.
Richtig, wenn man sie in dem DEF Fenster auf der Detailseite eingibt, da hier klar ist, dass es sich um die Definition eines einzelnes Befehls geht.
Sonst (z.Bsp. in der Kommandzeile oben) muss man das komplette Befehl eingeben (define/modify/etc), und hier sind zwei ;; noetig, um zu zeigen, dass alle Befehle zu dieser einer watchdog-Definition gehoeren.

Bronze

Prima, danke; das habe ich jetzt schon besser verstanden.

Und wie geht, wenn der Wert eines Reading ein Leerzeichen enthält?

KNX_0403028.state:alarm 00:05 KNX_0403028.state:"no alarm" msg push rr_Thomas Garagentor laenger als 5 Minuten geoeffnet

So wie in obigem Code ja anscheinend nicht.

rudolfkoenig


Otto123

Der
Zitat von: Bronze am 21 April 2021, 13:50:15
Prima, danke; das habe ich jetzt schon besser verstanden.

Und wie geht, wenn der Wert eines Reading ein Leerzeichen enthält?

Der Eventmonitor mit seinem Feature auch ein watchdog direkt vom Event zu erzeugen hilft dabei ungeheuer! Ok beim watchdog kann er nur den ersten Event, aber dann lässt man sich nach der Erzeugung ein zweites "zeigen" nimmt den zweiten Event und sieht dann wie man SAME ersetzen muss. ;)
https://wiki.fhem.de/wiki/Event_monitor
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Bronze

ZitatDer Eventmonitor mit seinem Feature auch ein watchdog direkt vom Event zu erzeugen hilft dabei ungeheuer! Ok beim watchdog kann er nur den ersten Event, aber dann lässt man sich nach der Erzeugung ein zweites "zeigen" nimmt den zweiten Event und sieht dann wie man SAME ersetzen muss. ;)
https://wiki.fhem.de/wiki/Event_monitor

Danke, das hat auch noch einmal sehr geholfen!