notify mit sleep und perl

Begonnen von th0nix, 10 Dezember 2020, 23:53:11

Vorheriges Thema - Nächstes Thema

amenomade

Dann braucht man gar nicht mehr dieses Test von Timestamp, da ein neues Öffnen des Fensters das DOIF wieder auf cmd1 setzten wird.
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Damian

#16
Zitat von: amenomade am 12 Dezember 2020, 11:22:26
Dann braucht man gar nicht mehr dieses Test von Timestamp, da ein neues Öffnen des Fensters das DOIF wieder auf cmd1 setzten wird.

ja, den Code habe ich mir gar nicht genau genug anschaut. Das ist ein weiterer Vorteil von wait, dass ein Timer automatisch abgebrochen wird, wenn sich die Bedingung ändert, bzw. keine Wiederholung innerhalb der Zeitspanne stattfindet.

Es könnte schon ausreichen:

define d_Fensterstop  DOIF ([Fenster:alarm:] eq "AccessControl: Window/Door is open")
(set Heizung tmOff,   set Fenster.STATUS offen)
DOELSE
(set Fenster.STATUS geschlossen) (set Kueche.Heizung tmHeating)

attr wait 0:0,10


sieht zumindest etwas einfacher aus ;)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

rudolfkoenig

Damit es nicht missverstanden wird: meine Aussagen beziehen sich auf dem "normalen" notify.

Hier geht es aber um das FHEM-Modul IF (ein FHEM-Befehl), was erst ab Antwort #6 bekannt war.
Dieses Befehl ermoeglicht zwar auch das Ausfuehren von FHEM-Befehlen und perl-Ausdruecken, ist aber eine Ebene "tiefer", hat eine (leicht?) andere Syntax, und benoetigt ein zusaetzliches schuetzen des Trenners Semikolon duch Verdoppelung .

DOIF ist auch ein FHEM-Befehl, und der Nachfolger von IF, wenn ich es als Aussenstehender richtig verstanden habe.

Weiterhin: wenn das Frontend (FHEMWEB) weiss, dass es sich um ein einziges FHEM-Befehl handelt (z.Bsp. DEF-Fenster mit modify oder die attr Felder), werden Newlines mit \ ergaenzt, und ; durch ;; ersetzt.

Das ist _nicht_ der Fall im Raw-Definition Fenster, beim Editieren der fhem.cfg oder wenn man oben links auf + klickt.