bestimmen der Ereignissereihenfolge in DOIF möglich?

Begonnen von hdad, 12 Januar 2019, 13:55:25

Vorheriges Thema - Nächstes Thema

hdad

Hallo,
Ich bin dabei die Lichtsteuerung an der Haustür zu optimieren.
Verwendt sind
1 Bewegungsmelder
1 Max Türkontakt
1 Außenlicht - AU_Licht
1 Flurlicht - DV_Licht

Diese habe ich wie folgt schaltet

defmod DV_Licht_An DOIF ([?AU_Bewegungsmelder_1:brightness]<100 and [AU_Bewegungsmelder_1:state] eq "motion" and [MAX_004cf1:state] eq "opened") (set DV_Licht on)  DOELSE (set DV_Licht off)
defmod AU_Licht_An DOIF ([?AU_Bewegungsmelder_1:brightness]<100 and [AU_Bewegungsmelder_1:state] eq "motion") (set AU_Licht on) DOELSE (set AU_Licht off)


Funktioniert ja auch. Wenn jemand von Außen kommt der Bewegungsmelder löst aus geht das Außenlicht an
öffnet die Haustür geht das Flurlicht an.
Soweit so gut. Gehe ich aber hinaus öffne die Haustür und der Bewegungsmelder löst aus geht auch das Außenlicht an (Gut)
aber auch das Flurlicht (Schlecht).
Ist es nun möglich eine Reihenfolge der triggernden Ereignisse zubestimmen?
Bei mir währe die gewünschte Reihenfolge so:
Kommen: erst Bewegungsmelder dann Haustür (Außenlicht an und Flurlicht an)
Gehen: erst Haustür dann Bewegungsmelder (Außenlicht an und Flurlicht aus)

Ist also mit DOIF eine solche Reihenfolge möglich oder ist es mit einem anderen Modul möglich.

Gruß holger
FHEM auf IntelNuc; TabletUI; MAX Heizung ; div HM-Actoren ;Z-Wave; YAMAHA Musiccast WX-030 ,YSP-1600

Icinger

Verwende deine Zeit nicht mit Erklärungen. Die Menschen hören (lesen) nur, was sie hören (lesen) wollen. (c) Paulo Coelho

Otto123

#2
Moin,

nimm doch einfach nur einen Trigger und die anderen nur per Abfrage (?)
Und packe alle Bedingungen und Reaktionen in ein DOIF und lass nicht zwei parallel werkeln.

gruß Otto
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

hdad

Hallo,
Danke für die schnellen Antworten

@Icinger
Schau ich mir mal an, hab ich noch nicht mit gearbeitet.Hast du vieleicht Beispiele wie du es nutzt?

@Otto
Das ganze läßt sich bestimmt in einen DOIF verpacken.Zum Test habe ich erstmal mit zweien
gearbeitet. Wenn ich 2 Bedingungen nur abfrage ob nun die Haustür oder den Bewegungsmelder
dann geht doch eine Funktion nicht.Sei es das Flurlicht oder Außenlicht.
Vielleicht fehlt dann doch noch ein Bewegungsmelder der innen den Flur überwacht.

Gruß holger
FHEM auf IntelNuc; TabletUI; MAX Heizung ; div HM-Actoren ;Z-Wave; YAMAHA Musiccast WX-030 ,YSP-1600

Otto123

Hallo Holger,

ich habe nicht versucht deinen Code zu verstehen (ist manchmal besser)
Aber ich habe verstanden: Du willst einen primären Trigger und weitere Bedingungen. Also ist mein Ansatz: nimm nur einen Trigger.

Gruß Otto
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

hdad

Hallo Otto

Nein da haben wir uns mißverstanden. Ich suche nach einer Möglichkeit die Reihenfolge
der Trigger zu bestimmen.Um das "kommen" oder "gehen" zu unterscheiden.

Gruß holger
FHEM auf IntelNuc; TabletUI; MAX Heizung ; div HM-Actoren ;Z-Wave; YAMAHA Musiccast WX-030 ,YSP-1600

Byte09

#6
Zitat von: hdad am 12 Januar 2019, 15:10:36
Hallo Otto

Nein da haben wir uns mißverstanden. Ich suche nach einer Möglichkeit die Reihenfolge
der Trigger zu bestimmen.Um das "kommen" oder "gehen" zu unterscheiden.

Gruß holger

naja, wenn du die reihenfolge bestimme willst, müssen eh beide trigger erstmal auslösen bevpr etwas passiert. dann kannst du doch wie otto schon sagt auf nur einen trigger setzen ( in diesem fall wohl den PIR ) , und bei ankommen des events prüfen , on in den letzten x sekunden die tür geöffnet wurde oder nicht ( readingsage ) . somit weisst du doch dann die reihenfolge.



gruss Byte09

Otto123

ZitatKommen: erst Bewegungsmelder dann Haustür (Außenlicht an und Flurlicht an)
Gehen: erst Haustür dann Bewegungsmelder (Außenlicht an und Flurlicht aus)

Bedeutet für mich
1. Fall Trigger auf BM, Haustür abfragen.
2. Fall Trigger auf Haustür, BM abfragen.

Und/oder die Bedingung/Aktion (anders) aufteilen:
1. Bedingung für Außenlicht an
2. Bedingung für Flurlicht an oder aus.

Schon so probiert?

Gruß Otto
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

hdad

OK

das mit den triggern von einer Bedingung werde ich mal testen.

Danke Euch holger
FHEM auf IntelNuc; TabletUI; MAX Heizung ; div HM-Actoren ;Z-Wave; YAMAHA Musiccast WX-030 ,YSP-1600