NEWS
[Script] MessageHandler: Nachrichten protokollieren +VIS
-
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:
Beispiel: Lovelace-Ansicht
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.
-
-
@Tirador Sehr cool, vielen Dank. So etwas suche ich schon lange.
-
@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.
-
@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. -
@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.
-
@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.
-
@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.
-
@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?
-
@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.
-
@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. -
@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?
-
Habe sowohl das Skript von Pittini sowie Deines nicht geändert. Das Skript ist auch die aktuelle Version 1.4.0
Hier die Datenpunkte
-
@der-eine kannst du mir deine Konfiguration bitte Mal senden.
-
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?
-
@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.
-
Edit: Das sind die vom User erstellten Ereignisse. Sorry
@Tirador werden sie das nicht?
-
0 = today
-
1 = tomorrow
-
2 = day after tomorrow
-
-
@der-eine die habe ich noch nicht gesehen. Ist einen Versuch wert.
-
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.
-
@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. -
@Tirador hast Du eine Idee wieso mir auf dem Handy die View nicht richtig angezeigt wird?
Einstellungen sind die gleichen wie in den anderen List-Views von Uhula da stimmen die Zeichen.