Ankündigung

Einklappen
Keine Ankündigung bisher.

FritzBox Binding TR064 Presence Benachrichtigungen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    FritzBox Binding TR064 Presence Benachrichtigungen

    Hallo zusammen ,

    ich habe mir über das FritzBox TR064 Binding eine Presence Schaltung eingerichtet. Diese funktioniert auch tadellos, jedoch habe ich noch Probleme mit einer Rule.
    Code:
    rule "Licht vergessen"
    when
        Item Handy_Flo received update OFF or
        Item Handy_Claudia received update OFF
    then
        if (gAlleLichterohneWZ.members.filter[g|g.state == OFF].size != 0 && gHandys.members.filter[g|g.state == ON].size == 0) {
        sendTelegram("Florian", "Es brennt noch ein Licht zu Hause. Bitte kontrollieren!")
            }
    end
    Das Problem ist, dass das Binding alle 60 Sekunden aktualisiert und dabei die Items updated. Ich bekomme also wenn wir beide außer Haus sind alle 60s eine Nachricht. Einmal würde mir ja reichen. :-)

    Hat jemand eine Idee wie ich die Nachricht nur noch einmal beim ersten Erkennen erhalten kann?

    #2
    Das kannst du erreichen, indem du explizit nur auf eine Änderung von ON nach OFF triggerst

    Code:
    (...)
     Item Handy_Flo changed from ON to OFF or (...)
    Oder du musst dir ein Status-Item einrichten und entsprechend setzen. Persistent einrichten nicht vergessen - sonst ist der Status nach jedem OH Neustart weg. Danach kannst du das Benachrichtigen vom Status dieses Items abhängig machen.

    Welche Methode mehr Sinn macht, hängt davon ab, ob du den Status auch außerhalb dieser Regel benötigst/nutzen willst.
    Zuletzt geändert von DiMa; 02.01.2019, 20:36.

    Kommentar


      #3
      Cool! Danke, hat prima funktioniert! War einfacher als gedacht. ???? Ist mir fast bisschen peinlich...

      Zitat von DiMa Beitrag anzeigen
      Persistent einrichten nicht vergessen
      Was genau meinst du mit Persistent? Was ist/macht das?

      Kommentar


        #4
        Autokorrektur... Gemeint war Persistenz.

        Kommentar


          #5
          Danke. Ich habe mir das mal angeschaut. Ich denke, dass übersteigt meinen Wissensstand und auch meinen Nutzen.
          Zudem müsste nach einem Neustart das TR064 Binding den Status der Handys abfragen und so wäre 1-2 Minuten nach dem Neustart auch der akt. Stand der Anwesenheit wiederhergestellt. Das reicht mir als Verwendungszweck.

          Kommentar


            #6
            Die Persistenz ist nun wirklich easy. Für das Wiederherstellen des letzten Status vor Neustart reicht mapdb aus, also
            1. über Paper UI -> Addons -> Persistence mapdb installieren
            2. im Verzeichnis /etc/openhab2/persistence/ eine Datei mapdb.persist anlegen, mit folgendem Inhalt:
            Code:
            Strategies {
                everyMinute :"0 * * * * ?"
            }
            Items {
                *: strategy = everyChange  
                Handy_Flo,Handy_Claudia : strategy = everyChange,restoreOnStartup  
            }
            Ab sofort wird der Status aller Items gespeichert (die Zeile mit dem *) und für die beiden Items Handy_Flo und Handy_Claudia wird der Status beim Neustart des Systems wiederhergestellt. Kein Hexenwerk, keine Doktorarbeit, kein Ingenieursstudium, kein Masterabschluss...

            Allerdings ist das für den vorliegenden Fall tatsächlich eher zweitrangig, zumindest für andere Items kann es aber sehr sinnvoll sein...

            Kommentar

            Lädt...
            X