set group=Licht on mit exkludierung eines Devices

Begonnen von choetzu, 11 Februar 2018, 14:10:02

Vorheriges Thema - Nächstes Thema

choetzu

#15
Hallo Damian,

super, danke. Bei 2 Zuständen eigentlich auch logisch..

Da ich mir z.Z. eine Alarmanlage "baue", bin ich ein bischen vorsichtig, weil das muss ja auch funktionieren. Darf ich mein Vorhaben "Alarmanlage" kurz erläutern, oder soll ich dies in einem neuen Beitrag tun. Ich wäre dankbar, wenn ihr kurz drüber schaut und mir meldet, ob ich etwas falsch gemacht habe oder noch optimieren kann. Input sehr willkommen. Danke.

Vorhaben:

1. Aktivierung/Deaktivierung Alarmanlage: Wenn ich das Haus verlasse, drücke ich einen Schalter, welcher mein Abwesenheitsdummy via DOIF auf ON setzt und gleichzeitig meine Kameras einschaltet (Arlo_Dummy und phyton script). Wenn ich nach Hause komme, dann drück ich den Schalter erneut. Somit wird die Anlage aktiviert resp. deaktiviert.

Das entsprechende Abwesenheit-DOIF lautet wie folgt:
([Taster_EnO2] eq "on")
({system ("python /opt/fhem/FHEM/ArloAllesAN.py &")})
(set Abwesenheit_Dummy on)
(set Arlo_Dummy on)
(set ALARM_Vorwarnung_DOIF enable)
(save)
(set Sonos_.*:FILTER=TYPE=SONOSPLAYER Stop)
(set Pushover msg title=Abwesend message="NIEMAND zu hause")

DOELSEIF
([Taster_EnO2] eq "off")
({system ("python /opt/fhem/FHEM/ArloAllesAUS.py &")})
(set Abwesenheit_Dummy off)
(set Arlo_Dummy off)
(set ALARM off)
(set ALARM_Vorwarnung_DOIF disable)
(save)
(set Pushover msg title=Home message="JEMAND zu hause")
DOELSE



2. Alarmauslöser: Wenn meine Innenkamera eine Bewegung bemerkt (Reading "motion" im Device Arlo_Dummy), dann löst es den Alarm-Vorwarn trigger ein und schaltet den ALARM_Dummy ein. Der Alarm-Vorwarn trigger ist ein 3maliges Blinken der Esszimmerlampe.

Das Alarm_Vorwarn_DOIF dazu:
([Arlo_Dummy:Innen] eq "motion"
and [?Abwesenheit_Dummy] eq "on")
(set EZ_L_NodOn11 blink 3 1)
(set ALARM on)
(set ALARM_Vorwarnung_DOIF disable)
(save)

DOELSE


3. Wenn nach 30 Sekunden nicht der Abwesenheits-Schalter gedrückt wird, dann geht der Alarm an. Der Alarm besteht aus den Sirenen meiner 3 Rauchmelder. Ursprünglich wollte ich Sonos dazu benutzen, aber dies läuft m.E. nicht zuverlässig. Deshalb beschränk ich es auf die Sirene. Was ich in einem zweiten Schritt noch ergänzen werde: Zwischen sunset-sunrise werden zusätzlich noch alle Lichter angehen und die Storen öffen. Aber das mach ich erst, wenn alles funktioniert.

Ich kann den Alarm wiederum mit dem Abwesenheits-Schalter abstellen.

Das Alarm-Doif lautet:

([ALARM:state] eq "on")
(set Rauchmelder_Team alarmOn)
(set Pushover msg title=ALARM message="ALARM ALARM ALARM - Da ist jemand im Haus!")

DOELSE
(set Rauchmelder_Team alarmOff)
(set Pushover msg title=ALARM message="ALARM Deaktiviert!!")


Na, wie sieht das für Euch aus? Ich habe es nicht getestet, weil ich gerne zuerst euer Feedback möchte...  Natürlich nur, wenn es Euch keine Umstände macht. Herzlichen Dank..

Raspi3, EnOcean, Zwave, Homematic

Damian

Warum nicht, dann teste es mal.

DOELSE ohne Anweisung macht nur ohne do always Sinn, wenn es nur einen DOIF-Zweig gibt.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

choetzu

#17
Zitat von: Damian am 12 Februar 2018, 20:12:55
Warum nicht, dann teste es mal.

DOELSE ohne Anweisung macht nur ohne do always Sinn, wenn es nur einen DOIF-Zweig gibt.

Danke. Ich habe da kein do always. Deshalb kann ich es stehen lassen, oder?

Test verlief erfolgreich.  Was ich aber nicht verstehe, wenn ich im Vorwarn-Dummy als Trigger folgendes schreibe, triggert er nicht:

([Arlo_Dummy:Innen] eq "motion")
Wenn die Innenkamera angeht, gibt es einen Eintrag im Dummy mit dem Reading Innen und dem Wert motion. Als Attribut habe ich im Dummy event-on-update-reading hinterlegt und es wird auch im Eventmonitor so aufgezeigt.. Geht wie gesagt nicht.

Oder

([Arlo_Dummy:Innen] eq "motion" or [Bewegungsmelder2] eq "on")
Wenn ich nebst der Innenkamera noch einen Bewegungsmelder platziere, dann geht es auch nicht.. Komisch.


Es funktioniert nur mit
([Arlo_Dummy:Innen] eq "motion"
and [?Abwesenheit_Dummy] eq "on")


Wieso wohl?
Raspi3, EnOcean, Zwave, Homematic

Otto123

Hi,

also warum Deine drei letzten Beispiele funktionieren oder nicht kann man nur raten. Dazu waäre ein list vom DOIF in verschiedenen Zuständen hilfreicher als der Code. Im list sieht man viel mehr!
Aber Ideen
([Arlo_Dummy:Innen] eq "motion") funktioniert ohne do always meines Wissen nur einmal.
([Arlo_Dummy:Innen] eq "motion" or [Bewegungsmelder2] eq "on") ist eventuell gleiches Problem.
([Arlo_Dummy:Innen] eq "motion" and [?Abwesenheit_Dummy] eq "on") hier ändert sich sicher wirklich der Zustand deswegen geht es ohne do always.

Da wir ja das mit ? durchgekaut haben: All diese Sachen funktionieren durch Zustände, DOIF kann auch auf Events triggern. Schau Dir das in der commandref an.

Ich mache solche Sachen mit Bewegungsmeldern immer mit Event Triggerung
([PIR1:"motion:.on"]]

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