Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Script] MessageHandler: Nachrichten protokollieren +VIS

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    [Script] MessageHandler: Nachrichten protokollieren +VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      Tirador last edited by Tirador

      Ich habe ein paar Skript erstellt als Infrastruktur zur Protokollierung von Nachrichten/Ereignissen.
      Zusätzlich gibt es ein MDCSS v2 Widget, dass die protokollierten Nachrichten anzeigt.
      Nachrichten können damit als kompakte Darstellung des globalen Systemzustands in VIS verwendet werden.

      Die Idee ist es, alle relevanten Informationen auf "einen Blick" zu erkennen. Wichtige und kritische Ereignisse werden daher in der Liste zentral oben platziert. Unwichtigere Informationen eher unten.

      Beispiel Vis-Ansicht:
      demo_messagehandler.gif

      Beispiel: Lovelace-Ansicht
      lovelace.png

      Kernfunktionen:

      • Ermöglicht es Nachrichten aus Skripten auszulösen und zu entfernen. Dies kann über zwei Wege erfolgen:

        • Automatisches Erzeugen/Entfernen von Nachrichten über das Javascript MessageStateCreator.

          • Es werden konfigurierte Datenpunkte überwacht und bei konfigurierten Bedingungen Nachrichten erzeugt oder auch entfernt.
          • Die Textausgabe der Nachrichten kann auch konfiguriert werden und dynamisch erzeugt werden.
          • Nachrichten können erst nach einer Verzögerungszeit ausgelöst werden.
          • Nachrichten können kontinuierlich nach einer Wiederholungszeit ausgelöst werden (dient zum erneuten Senden von Pushs per Email / Telegram)
        • Javascript-Funktionen postMessage(..) oder removeMessage(..) für den Einsatz in eigenen Skripten.

      • Es können entweder alle Nachrichten eines Nachrichtentyps protokolliert werden oder immer nur die letzte eingetretende Nachricht.

      • Nachrichten werden nach Prioritäten visuell in VIS dargestellt. Es stehen zwei VIS-Ausgaben zur Verfügung:

        • einfache HTML-Tabelle (ohne Schnickschnack)
      • Lovelace-Kartenausgabe über Markdown-Card mit Datenpunkt {0_userdata.0.messageHandler.messages.markdown}

      • Material Design CSS 2.0 Card für Uhula.

      • Nachrichten können (optional) in VIS global und auch einzeln quittiert werden.

      • Nachrichten können mit einem VIS-View verknüpft werden. Aus dem VIS Widget kann somit direkt in den View verzweigt werden.

      • Mit einer Nachricht können ein oder mehrere Ereignisse ausgelöst werden:

        • Senden einer Email
        • Senden einer Pushover-Nachricht
        • Senden einer Telegram-Pushnachricht
      • Nachrichtendefinition: Nachrichten werden über eine Konfigurationsstruktur definiert und damit wesentliche Eigenschaften der Nachricht bestimmt, darunter:

        • Nachrichtenüberschrift
        • Nachrichtentext
        • Kritikalität (Information, Warnung, Alarm etc.) / Priorität
        • Icon für die VIS Ausgabe
        • Farbe des Icons
        • VIS-View
        • Nachrichtenereignis (Senden eines Telegrams / Email)

      Beispiele für Nachrichten:

      • Alarmanlage ausgelöst!
      • Wasseralarm
      • Erinnerung Fenster lüften!
      • Erinnerung Fenster zu lange geöffnet!
      • Aktuell offene Fenster
      • Aktuell
      • Aktuell offene Türen
      • Lichter angeschaltet
      • Aktive Steckdosen
      • Post im Briefkasten mit Datum letzter Einwurf
      • Nächster Müllabfuhrtermin mit Information zur Tonne
      • DWD Wetterwarnung
      • Bewegung erkannt
      • Internetverbindung Offline
      • Termine des Tages
      • Termine morgen
      • Corona-Statistiken
      • Temperaturen
      • ...

      Sourcen / Anleitung und Projekt auf Github:

      https://github.com/St0Ma/ioBroker-MessageHandler

      In diesem Thread könnt ihr gerne Fragen stellen. Ich versuche im Rahmen meiner Möglichkeiten Support zu geben.

      M Glasfaser sigi234 R M 7 Replies Last reply Reply Quote 14
      • M
        martinschm @Tirador last edited by

        @Tirador Sehr cool, vielen Dank. So etwas suche ich schon lange.

        T 1 Reply Last reply Reply Quote 0
        • T
          Tirador @martinschm last edited by

          @martinschm Besten Dank. 🙂

          Interessant sind natürlich auch die Anwendungen / Verwendung von Nachrichten.
          Gerne nehme ich auch weitere Konfigurationen von allgemeingültigen Adaptern/Skripten mit in das Skript auf.

          Manchmal kommt man auf interessante neue Anwendungsfälle. 🙂

          M 1 Reply Last reply Reply Quote 1
          • M
            martinschm @Tirador last edited by martinschm

            @Tirador said in [Script] MessageHandler: Nachrichten protokollieren +VIS:

            @martinschm Besten Dank. 🙂

            Interessant sind natürlich auch die Anwendungen / Verwendung von Nachrichten.
            Gerne nehme ich auch weitere Konfigurationen von allgemeingültigen Adaptern/Skripten mit in das Skript auf.

            Manchmal kommt man auf interessante neue Anwendungsfälle. 🙂

            Deine Liste ist schon sehr umfangreich. Spontan fällt mir noch ein

            • Waschmaschine fertig (läuft bei mir über eine Gosund Steckdose mit Energiemessung)
            • Status des Rasenmähroboters (hängt fest, ist fertig ...)
            • Rauchmelder ausgelöst
            • Produktion der Photovoltaikanlage
            • Batteriezustand von Geräten (x Geräte mit nur noch 20%)

            Ist es möglich die HTML View auch in iQontrol anzuzeigen?
            Nutze kein vis, da mir aktuell zu kompliziert.

            T 1 Reply Last reply Reply Quote 0
            • T
              Tirador @martinschm last edited by

              @martinschm Batteriezustand bräuchte ich auch noch. Wenn du dort auf einem Forenskript aufbaust, könnte man die Lösung ja in die Beispiel-Konfiguration aufnehmen. Das gilt auch für deine anderen Nachrichtenideen. 🙂

              Am Anfang wollte ich eigentlich nur die interessanten Dinge. Ich habe aus Spielerei jetzt Temperatur und Corona integriert (und weil es geht!). Ich werde das jetzt beobachten und eventuell wieder zu einem reduzierten Ansatz zurückkehren.
              Eventuell werde ich auch Multimedia noch integrieren (z:B. Fernsehr an und es läuft Sender xy, oder auf Sonos wird folgende Musik gespielt).

              Aktuell bin ich dran auch noch "Nachrichtenereignisse" (Senden einer Email, Telegram oder Lampen blinken lassen in Wunschfarbe) in das Skript zu integrieren. Das wird aber noch etwas dauern, da ich noch in der Ideenfindung bin.

              M 1 Reply Last reply Reply Quote 0
              • M
                martinschm @Tirador last edited by

                @Tirador said in [Script] MessageHandler: Nachrichten protokollieren +VIS:

                @martinschm Batteriezustand bräuchte ich auch noch. Wenn du dort auf einem Forenskript aufbaust, könnte man die Lösung ja in die Beispiel-Konfiguration aufnehmen. Das gilt auch für deine anderen Nachrichtenideen. 🙂

                Am Anfang wollte ich eigentlich nur die interessanten Dinge. Ich habe aus Spielerei jetzt Temperatur und Corona integriert (und weil es geht!). Ich werde das jetzt beobachten und eventuell wieder zu einem reduzierten Ansatz zurückkehren.
                Eventuell werde ich auch Multimedia noch integrieren (z:B. Fernsehr an und es läuft Sender xy, oder auf Sonos wird folgende Musik gespielt).

                Aktuell bin ich dran auch noch "Nachrichtenereignisse" (Senden einer Email, Telegram oder Lampen blinken lassen in Wunschfarbe) in das Skript zu integrieren. Das wird aber noch etwas dauern, da ich noch in der Ideenfindung bin.

                Wie wäre es mit diesem Skript: https://forum.iobroker.net/topic/31676/vorlage-generische-batteriestandsüberwachung-vis-ausgabe

                Pattini hat da mal was generisches zusammen gestellt.

                T 1 Reply Last reply Reply Quote 0
                • T
                  Tirador @martinschm last edited by

                  @martinschm das Skript für die Batterie Überwachung von pattini ist relativ neu. Ich nutze momentan das Skript von livinsky:

                  https://forum.iobroker.net/topic/28789/script-fürtabelle-der-batterie-zustände

                  Welches sich besser eignet für die Nachrichtenintegration kann ich nicht beurteilen. Hatte bisher keine Zeit mich um das Thema zu kümmern.

                  1 Reply Last reply Reply Quote 0
                  • D
                    der-eine last edited by

                    @Tirador tolle Arbeit! Hab alles mal installiert und versuche mich einzuarbeiten. Postkasten funktioniert schon mal. Seh ich das richtig, man quittiert quasi alle Meldungen auf einmal?

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      Tirador @der-eine last edited by

                      @der-eine ja momentan kann man nur Meldungen global, d.h. für alle quittierbaren Meldungen gleichzeitig, quittieren. Das reicht für meine Fälle aus.

                      Schöner wäre natürlich ein Einzel-quittiermodus. Da fehlt mir noch der programmatische und schöne Ansatz, wie man das in VIS interagiert hinbekommt. Das Listview Widget von scrounger kann das. Ich habe aber aktuell keine Priorität auf eine Verbesserung des aktuellen Zustands. Wenn jemand anderes da eine Verbesserung beiträgt, nehme ich diese gerne auf.

                      D liv-in-sky 2 Replies Last reply Reply Quote 0
                      • D
                        der-eine @Tirador last edited by

                        @Tirador ok ist auch in Ordnung wenn man es weiss.
                        Habe das Skript von Pittini für die Fensterüberwachung eingepflegt. Sollte ich da nicht auch die Meldung über die geöffneten Fenster finden wie in deinem Screenshot?
                        Bekomme die Meldung, dass alle Fenster geschlossen sind und sie verschwindet auch wenn ein Fenster geöffnet wurde aber welche geöffnet sind seh ich nicht.

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          Tirador @der-eine last edited by

                          @der-eine , wenn Fenster geöffnet sind sollte auch eine Meldung kommen. Ich nutze auch das pattini Fensterskript.

                          Im MessageStateCreator ist dies die erste Nachrichtendefinition:

                          msgID: 'WINDOW_ISOPEN_INFO',

                          Hast du geprüft, ob die überwachten Datenpunkte sich ändern bei dir? Hast du die aktuelle Version von pattini?

                          1 Reply Last reply Reply Quote 0
                          • D
                            der-eine last edited by

                            Habe sowohl das Skript von Pittini sowie Deines nicht geändert. Das Skript ist auch die aktuelle Version 1.4.0

                            Hier die Datenpunkte

                            Bildschirmfoto 2020-04-13 um 21.25.36.png

                            T 1 Reply Last reply Reply Quote 0
                            • T
                              Tirador @der-eine last edited by

                              @der-eine kannst du mir deine Konfiguration bitte Mal senden.

                              1 Reply Last reply Reply Quote 0
                              • D
                                der-eine last edited by der-eine

                                Danke @Tirador für die Hilfe, nach einer Neuinstallation aller Skripte und Neustarten des ioBrokers lief es. 👍

                                Die Abfrage der Kalendereinträge sind aber nicht im Skript enthalten? Kommt das noch als Update? 😀

                                T 1 Reply Last reply Reply Quote 0
                                • T
                                  Tirador @der-eine last edited by

                                  @der-eine Kalender ist noch offen.. Idealerweise würde der Kalenderadapter bereits Datenpunkte bereitstellen für Termine morgen , übermorgen etc.. dann wäre die Integration easy.

                                  D 1 Reply Last reply Reply Quote 0
                                  • D
                                    der-eine @Tirador last edited by der-eine

                                    Edit: Das sind die vom User erstellten Ereignisse. Sorry

                                    @Tirador werden sie das nicht?
                                    Bildschirmfoto 2020-04-13 um 22.23.30.png

                                    • 0 = today

                                    • 1 = tomorrow

                                    • 2 = day after tomorrow

                                    T 2 Replies Last reply Reply Quote 0
                                    • T
                                      Tirador @der-eine last edited by

                                      @der-eine die habe ich noch nicht gesehen. Ist einen Versuch wert.

                                      1 Reply Last reply Reply Quote 0
                                      • D
                                        der-eine last edited by

                                        Habe noch die Haustür und eine Bewegungserkennung der Kameras mit dazu gebaut.
                                        Alle Bewegungen der Kameras werden aufgeführt nicht nur eine.

                                        Echt cooles Skript danke nochmal dafür. 👍

                                        Bildschirmfoto 2020-04-13 um 23.32.07.png

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          Tirador @der-eine last edited by

                                          @der-eine
                                          Das mit dem Kalendar habe ich mir nochmal angesehen. Dort werden nur Ereignisse als Datenpunkte aufgenommen, die im Kalender definiert sind.
                                          Datenpunkte für alle Termine des Tages gibt es so separat aktuell nicht.
                                          Ich werde das Kalenderthema erstmal zurückstellen.

                                          1 Reply Last reply Reply Quote 0
                                          • D
                                            der-eine last edited by

                                            @Tirador hast Du eine Idee wieso mir auf dem Handy die View nicht richtig angezeigt wird?

                                            IMG_7151.PNG

                                            Einstellungen sind die gleichen wie in den anderen List-Views von Uhula da stimmen die Zeichen.

                                            IMG_FAA3AF82660B-1.jpeg

                                            T 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            802
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            25
                                            336
                                            39932
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo