Ankündigung

Einklappen
Keine Ankündigung bisher.

Klingel protokollieren?

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

    Klingel protokollieren?

    Moin zusammen,

    ich würde gerne wissen, wie Ihr eine Protokollierung einer Klingel umsetzen würdet?

    Die Gegebenheiten sehen folgendermaßen aus: Unsere Klingel schaltet einen Binärkontakt. Jetzt würde ich gerne, jedes Mal wenn jemand klingelt und der Kontakt auslöst, einen Protokolleintrag in die Datenbank oder sonst wohin schreiben lassen.

    Im Ergebnis soll in openHAB eine Liste dargestellt werden, welche beispielsweise die letzten 20 Auslösungen optisch gegliedert darstellt, in etwa so:
    2016-03-02 um 11:45 Uhr
    2016-03-03 um 9:03 Uhr
    usw.

    Lässt sich sowas mittels Rule realisieren und wenn ja, hat jemand eventuell ein Beispielskript für mich?

    Danke im Voraus.

    MfG
    Smylo

    #2
    Grundsätzlich protokolliere ich in MySQL mit, die verschiedenen Klingelknöpfe sind jeweils als Item angelegt und werden einfach persistiert. Mit der Ansicht der letzten Klingelereignisse habe ich allerdings bisher auch noch keine befriedigende Lösung gefunden. Man könnte mehrere Items anlegen und per Rule den Inhalt umschichten, wenn jemand klingelt, aber bei 20 Einträgen für die Historie ist das irgendwie ... unbefriedigend, zumal man beim Hochfahren des Systems auch noch die letzten 20 Ereignisse aus dem Persistence Service holen müsste.
    Es gibt laut Wiki ein List-Item, welches aber von keiner UI richtig unterstützt wird. Damit habe ich auch schon mal experimentiert, bin aber auch nicht sonderlich weit gekommen.

    Kommentar


      #3
      Vielleicht eine Idee, obwohl ich so etwas noch nie gemacht habe:
      man könnte ein String-Item verwenden, welches nur für die Darstellung der Werte genutzt wird. Vielleicht klappt die Trennung in mehrere Zeilen mit "\r\n" ?!?! (keine Ahnung).

      Dann könntest Du in einer Rule bei Betätigung des Klingeltasters aus dem String die letze "Zeile" (letztes "\r\n" bis Ende des Strings) ausschneiden/löschen und von vorne den neuen Eintrag einsetzen.

      Wie gesagt, einfach als Idee ohne Garantie....

      Kommentar


        #4
        Meine Lösung für ein "Klingel-Protokoll":
        Eine eigene Log-Datei für die Klingel (Klingel.log, auf Basis des "standard" Loggings in oH) und eine Rule, die einen Logeintrag mit dem Logger dieser Klingel erzeugt.

        Dann ein Webview in der Visu, welches z.B. mittels js-logtail (modifiziert nach Belieben) das Logfile chronologisch absteigend anzeigt.
        Dafür Symlink von dem Ort des Logs [z.B. /var/log/openhab/klingel.log] auf /<openhab-pfad>/webapps/klingel/klingel.log.
        Die index.html von js-logtail liegt dann unter /<openhab-pfad>/webapps/klingel/index.html, kann via Symlink auf den Log zugreifen und beides wird praktischerweise über den OpenHab Webserver mit ausgeliefert.

        Durch die automatische Archivierung der Logs (in den Logger Einstellungen) kann eingestellt werden, wie häufig in ein Archiv geschoben und eine neue Klingel.log Datei angelegt werden soll.

        Funktioniert bisher einwandfrei.

        Viel Erfolg
        Jannick

        Kommentar

        Lädt...
        X