(Gelöst) zu doof für doif?

Begonnen von mg64, 23 April 2016, 19:35:07

Vorheriges Thema - Nächstes Thema

Damian

Zitat von: mg64 am 24 April 2016, 19:06:44
Ich will dir ja nicht den ganzen Sonntag versauen  ;)

ich hab jetzt mal folgendes Coding probiert:
define di_window_open_EG_Buero DOIF (([":indow: Open"]) and [Meik_Handy] eq "present") (set fhem_mg64_bot message $DEVICE ist $EVENT)
attr di_window_open_EG_Buero do always


= funktioniert soweit, daß jetzt verschiedene Fenster gemeldet haben - halt bei jeder Statusabfrage

ein DOELSE am Ende hat nicht funktioniert

Es ist wichtig zu wissen, das Eventabfragen ohne Device-Spezifikation keinen DOELSE-Fall produzieren, denn sonst würde jedes andere Event in FHEM sofort den ELSE-Fall ausführen.

Das bedeutet umgekehrt, dass ein ELSE-Fall nur bei Eventabfragen der Form [<Device>:"<regex>"] existieren kann.

Gruß

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Ellert

#31
Ja, das ist richtig.

Alternativ kannst Du auch, einen weiteren Bedingungszweig einfügen, dann ohne do always:

([":indow: Open"] and [Meik_Handy] eq "present") (set fhem_mg64_bot message $DEVICE ist $EVENT)
DOELSEIF ([":indow: Closed"])


Du bekommst dann eine Meldung beim ersten geöffneten Fenster und beim Schliessen eines Fensters, für ein noch geöffnetes Fenster (bei Statusaktualisierung), bis alle Fenster geschlossen sind

mg64


VIELEN VIELEN DANK

für die Hilfe und den Sonntags-Workshop

Viel gelernt, Sch..ßwetter genutzt und jetzt scheint es so zu funktionieren wie geplant...

Aktuell hab ich noch ein paar LOVF, werd ich mal beobachten,
falls alles läuft schließ ich das Thema morgen mit gelöst ab.