Gekipptes Fenster Alarm - HOMEMODE

Begonnen von MadMax75, 07 Februar 2018, 20:21:04

Vorheriges Thema - Nächstes Thema

MadMax75

Ich verwende seit kurzem das Modul HOMEMODE und bin schwer begeistert.
Eine Sache habe ich leider bis jetzt geschafft. Ich habe mehrere Fenstersensoren. Wenn ich die Anlage scharf stelle (alle Fenster sind auf cloesed) erhalten ich wie geplant einen Alarm sobald ein Fester geöffnet wird.
Wenn im Sommer ein Fenster gekippt ist (ich weiß gekipptes Fenster und eine Alarmanlage) so ist dieses in FHEM auf open. Ich möchte daher bei einer Zustandsänderung einen Alarm:
Alle die auf closed waren und nun open melden
Alle die auf open waren und nun closed melden

Wie wäre so etwas zu realisieren?
Mir ist auch aufgefallen, dass periodisch der Alarm ausgelöst wird wenn ein Fenster zum Zeitpunkt des scharf stellens offen war.

DeeSPe

Das kannst Du ändern indem Du bei Deinen Sensoren das Attribut "event-on-change-reading" entsprechend setzt.
Dann gibt es wirklich nur bei Veränderung ein Event und somit ein "Auslösen" in HOMEMODE.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

MadMax75

Hallo Dan,

Danke für den Tipp - ist schon etwas peinlich für mich, da ich genau das an anderer Stelle implementiert habe.

Aber eine Frage zu einem Sonderfall:

Ein Fester ist gekippt (Sensor open) und die Anlagge wird scharf gestellt.
Es kommt nur event wenn sich der Status ändert - somit löst der Alarm aus. Das ist genau das was ich möchte.

JEDOCH: ich vermute der Alarm wird auch ausgelöst wenn sich der Status nicht ändert sondern battery "low" meldet - korrekt?

Das wäre natürlich blöd, aber hast du dazu eine Idee?

Ich weiß, event-on-change-reading kann ich auch nur auf das reading state setzen. Aber ich möchte auch eine Alarmiereung (stille) wenn die Batterien low sind.
Evtl. unterliege ich einem Denkfehler....

DeeSPe

Open/closed für die Alarmanlage hat nichts mit der Batteriewarnung zu tun. Die ist unabhängig davon.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

MadMax75

#4
Danke - es funktioniert nun wie es soll. :) :D

Eine andere Sache beschäftige mich noch.
Bei meiner Befehlskette die im Alarmfall ausgeführt werden soll, möchte ich eine Zeitverzögerung einbauen. Das habe in mit wait xx bisher in DOIF Befehlen realisiert.
Zusätzlichhabe ich noch versucht ein at +00:00:30 einzubauen - aber auch hier kommt nicht die gwünschte Verzögerung.

Das scheint bei HOMEMODE nicht zu funktionieren.

Es sollte möglich sein das ganze als Pearl Code einzugeben. Aber hier bin ich gescheitert...

Evtl. hast du hier ebenso einen Hinweis. :-[

MadMax75

#5
Habe soeben gesehen, dass ich mit sleep xx den gewünschten Effekt erziele.
Mein Ablauf funktioniert soweit.

Einzig, wenn die Befehlskette ausgelöst wurde und abläuft, so wird sie nicht unterbrochen wenn ich in der Zwischenzeit die Anlage mit set xxx modeAlarm confirm bzw. disarm schalte.

Bin mir fast sicher, dass es hier eine Möglichkeit gibt. Im Forum/Wiki sowie cmd ref. habe ich nichts gefunden

MadMax75

Ich habe leider immer noch keine Lösung für folgendes Problem gefunden:

Wenn ein Alarm ausgelöst wird, läuft bei mir eine Befehlskette zum Teile zeitverzögert ab.
Ich möchte jedoch diese Befehlskette komplett abbrechen, wenn in der Zwischenzeit die Anlage mit set xxx modeAlarm disarm schalte.

Hat jemand eine Idee?
Bin für jeden Hinweis dankbar!



kjmEjfu

Arbeite nicht mit sleep, sondern lege ATs an. Die ATs lässt du dann bei einem disarm löschen.
Migriere derzeit zu Home Assistant

rabehd

#8
Zitatbisher in DOIF Befehlen realisiert.
Gehts hier um ein DOIF?
Da würde ich kein Sleep nehmen, sondern hier mal lesen
https://wiki.fhem.de/wiki/DOIF/Einsteigerleitfaden,_Grundfunktionen_und_Erl%C3%A4uterungen#wait
Zitatwait
Das Attribut verzögert die Befehlsausführung, nach wahr werden einer Bedingung.

Laufende Wait-Timer werden bei einem eingeleiteten Statuswechsel des DOIF abgebrochen, daher werden die zu verzögernden Befehle nicht mehr ausgeführt.

Löst scheinnbar Deine 2 Probleme.

Findet man sofort, wenn man die Suchfunktion/Google benutzt.
Auch funktionierende Lösungen kann man hinterfragen.

MadMax75

ich glaube ich kann nicht genau folgen.

Also keine Befehlskette anlegen - da diese abgearbeitet wird (auch wenn die Anlage in der Zwischenzeit auf disarm steht).

Die "harte Alarmierung" mit einem at anlegen. Bei disarm löschen von diesem at.

Hört sich irgenwie logisch an.

Ich versuchs mal

Danke auf alle Fälle

MadMax75

@rabehd: nein, es geht um kein DOIF. Das kenne ich sehr gut. DOIF und das attr wait sind mir vertraut.

MadMax75

Habe einen Teil meiner Befehlskette in ein at ausgegliedert. Das at lösche ich bei disarm.
Funktoniert  - DANKE für den Hinweis!

kjmEjfu

Ich nutze diesen Thread mal, weil ich derzeit über etwas zum Title passendes stolpere:
- alle Residents haben das Haus verlassen und der Status im Homemode wechselt entsprechend auf armaway
- dummerweise ist noch ein Fenster offen, dessen Sensor mit Homemode verknüpft ist
- ich bekomme einen entsprechenden Hinweis (analog zum Beispiel von https://wiki.fhem.de/wiki/Modul_HOMEMODE#HomeCMDmodeAlarm-.3Carmaway.2Farmhome.2Farmnight.2Fdisarm.3E)
So weit, so gut.
- ungefähr eine Stunde später löst dieser Fensterkontakt nun den Alarm aus (es ist nur event-on-change-reading .* gesetzt, event-on-update-reading ist nicht gesetzt)

Dürfte er aber eigentlich gar nicht, weil ja kein neues Event generiert wurde.
Eine Idee, woran das liegen könnte?
Migriere derzeit zu Home Assistant

errazzor

Das gleiche Problem habe ich mit meiner selbst gebastelten Alarmanlage. Event-on-change-reading .* ist gesetzt, aber ein bereits offenes Fenster löst trotzdem nach ca. 1 stunde einen Alarm aus.

Hab nie den Grund dafür rausgefunden.

nils_

viele Wege in FHEM es gibt!