Alarm - Lampe blinken lassen wenn Fenster/Tür (zu lange auf)

  • hier mal eine rule die @romibaer benötigt. der grund für die veröffentlichung hier ist die notwendige komplexität der rules. ich bin also verbesserungsvorschläge offen.

    die rules können natürlich auch als normales optisches feedback bei einbruch (fenster gehen auf bei aktivem alarm o.ä.) genutzt werden.
    dafür muss nur der "fenster ist offen timer" entfernt werden und bspw mit "member of" als rule trigger gearbeitet werden....bei Interesse ggf hier nachfragen

    das ganze macht also folgendes:
    - lassen frau/hund/kind/mann das fenster/die tür unbesichtigt auf fängt lampe x nach 1min für 2min an zu blinken
    - wird das fenster geschlossen wird die farbe der lampe wieder auf den vorherigen wert gesetzt
    - sind die 2min um wird die farbe der lampe wieder auf den vorherigen wert gesetzt


    folgende items werden verwendet:
    HueStripe_Farbe -> (zeile 5,10, 33, 44) muss auf den itemnamen geändert werden der den colorchannel der hue lampe nutzt
    HueStripe -> (zeile 15,16, 19 2x) muss auf den itemnamen geändert werden der den dimmerchannel der hue lampe nutzt
    Fenster -> (zeile 3,9,29) muss auf den itemnamen geändert werden der das/die zu überwachende fenster/tür darstellt
    Switch Fenster_Ueberwachung muss als Dummy in der itemsdatei angelegt werden
    String Fenster_Ueberwachung_Farbe muss als Dummy in der itemsdatei angelegt werden

    ein paar grundlegende infos:
    - nicht wundern über die mini-timer, die sind notwendig um kleine lags der datenübermittlung auszugleichen, ausserdem ist es möglich so thread::sleep zu umgehen
    - in zeile 7 schicken wir den aktuellen wert der hues zu unserem dummy um nach dem optischen alarm die hue wieder in den ursprünglichen wert zu versetzen
    - in zeile 8 wird festgelegt nach welcher zeit die lampe blinkt
    - zeile 10 legt den hsb wert der alarmfarbe fest....in dem beispiel rot
    - zeile 15-20...könnte man auch simpel mit on/off machen...das fade-out sieht bei den hues aber schon recht nett aus
    - zeile 41 legt fest, nach welcher zeit das blinken aufhört

  • Folgendes Beispiel:

    Ich gehe zur Haustür, öffne sie, der Timer wird gestartet. Ich schließe die Tür hinter mir und gehe zum Auto. Jetzt wird mir bewusst, dass ich gar keinen Geldbeutel einstecken habe. Ich gehe zurück öffne die Tür wieder. In dem Moment läuft der Timer aus (die Tür ist offen -> das Licht blinkt).

  • ok, das ist zwar recht hypothetisch aber du hast recht wenn der timer noch aktiv ist und zufällig nach 1min gerade die tür auf ist würden die lampen blinken.
    verbesserungsvorschläge?
    man könnte mit nem zusätzlichen if (Fenster.state == OPEN) bspw 30sek nach dem ersten triggern prüfen ob die tür noch offen ist und dann erst davon abhängig, weitere 30sek später den timer starten lassen.

  • Mhm es gibt glaube keine Möglichkeit den Timer vorzeitig abzubrechen oder? Persistenz könnte man nutzen, das wäre dann absolut safe.

    Die Geschichte hört sich zwar recht unwahrscheinlich an aber wenn man mit vielen Leuten in einem Haus lebt, kommt es doch schon recht oft vor, dass die Haustür geöffnet/geschlossen wird.

    Hab leider mein Openhab nicht mehr laufen aber werd mich damit mal auseinander setzen sobald ich neue Hardware besorgt hab.

  • Mhm es gibt glaube keine Möglich den Timer vorzeitig abzubrechen oder? Persistenz könnte man nutzen, das wäre dann absolut safe.

    doch wenn sich ein status ändert kann man timer auch abrechen/neustarten lassen. das nutzen ja auch einige für bewegungsmelder timer. stichwort "cancel/reshedule timer"
    ich hab selbst aber noch nie so einen anwendungsfall gehabt in dem ich das brauchte.
    das müsste sich so umsetzen lassen, gute idee.

    Die Geschichte hört sich zwar recht unwahrscheinlich an aber wenn man mit vielen Leuten in einem Haus lebt, kommt es doch schon recht oft vor, dass die Haustür geöffnet/geschlossen wird.

    mehrfach öffnen/schliessen würde ja noch nichts durcheinander bringen....erst wenn nach ablauf des timers, dann wenn der fenster/tür status abgefragt wird zufällig wieder geöffnet wäre.

    aber du hast schon recht...man sollte alle eventualitäten beachten.

  • mehrfach öffnen/schliessen würde ja noch nichts durcheinander bringen....erst wenn nach ablauf des timers, dann wenn der fenster/tür status abgefragt wird zufällig wieder geöffnet wäre.

    Eigentlich schon, denn wenn ein weiterer Timer gestartet wird und ein vorheriger noch läuft, ist der vorherige "ungültig" (Wenn ich innerhalb von 60s die Tür mehrfach öffne und schließe, habe ich mehrere Timer parallel laufen).

  • man könnte auch einfach das expire binding nutzen
    item:

    Switch Fenster_Timer { expire="55s, command=OFF" }
    dann in zeile 6 das expire item starten und in zeile 9 prüfen ob das expire item abgelaufen ist.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!