iobroker.statusanzeigeliste
v0.2.4
Published
ioBroker adapter for configurable status message lists with VIS widgets
Readme
ioBroker Statusanzeigeliste
English documentation is available here: README.md.
Statusanzeigeliste erzeugt eine kompakte Statusmeldeliste aus konfigurierbaren ioBroker-Datenpunktvergleichen. Der Adapter ist als moderner Neubau der alten meldungsliste-Idee gedacht: mit jsonConfig-Oberflaeche, Analogwert-Vergleichen, Datenpunkt-gegen-Datenpunkt-Vergleichen und fertigen VIS/VIS-2 Widgets.

Voraussetzungen
- Node.js 20 oder neuer
- js-controller 6.0.11 oder neuer
- Admin 7.6.17 oder neuer
- VIS oder VIS-2 nur bei Verwendung der enthaltenen Widgets
- ioBroker E-Mail-Adapter nur bei Verwendung des E-Mail-Versands
Installation
Den Adapter nach seiner Aufnahme in das offizielle Repository über die Adapterliste im ioBroker Admin installieren. Nach der Installation:
- Eine Adapterinstanz anlegen.
- Die Instanzkonfiguration öffnen und die benötigten Regeln eintragen.
- Konfiguration speichern und schließen.
- In VIS/VIS-2 das Widget Statusanzeigeliste oder Archiv aus dem Widget-Set
statusanzeigelisteeinfügen.
Funktionen
- Beliebige ioBroker-Datenpunkte ueberwachen.
- Gegen einen festen Wert oder gegen einen anderen ioBroker-Datenpunkt vergleichen.
- Unterstuetzt
=,!=,>,>=,<,<=undcontains. - Automatische Typerkennung oder fest
number,booleanbzw.string. - Geeignet fuer digitale Zustaende und analoge Werte.
- Merkt sich den Zeitpunkt, an dem eine Meldung zuerst aktiv wurde.
- Startdatum optional vor die Meldung setzen.
- Startzeit optional vor die Meldung setzen.
- Ausgabe als HTML, Klartext und JSON.
- Dauerhaftes Meldungsarchiv mit Gekommen-/Gegangen-Zeitpunkten.
- Einstellbare maximale Anzahl gespeicherter Archivereignisse.
- Fertige VIS/VIS-2 Widgets enthalten.
Ausgaben
Der Adapter legt diese States an:
| State | Beschreibung |
| --- | --- |
| statusanzeigeliste.0.Meldungen | HTML-Liste, kompatibel zur alten Meldungsliste-Idee. |
| statusanzeigeliste.0.html | HTML-Liste fuer das enthaltene Widget. |
| statusanzeigeliste.0.text | Klartext-Liste mit einer Meldung pro Zeile. |
| statusanzeigeliste.0.json | Strukturierte JSON-Liste aktiver Meldungen und Werte. |
| statusanzeigeliste.0.info.activeCount | Anzahl aktiver Meldungen. |
| statusanzeigeliste.0.info.lastUpdate | Letzte Aktualisierung. |
| statusanzeigeliste.0.info.lastError | Letzter Fehler bei der Regelauswertung. |
| statusanzeigeliste.0.archive.html | Meldungsarchiv als formatiertes HTML. |
| statusanzeigeliste.0.archive.text | Meldungsarchiv als Klartext. |
| statusanzeigeliste.0.archive.json | Strukturierte Archivereignisse als JSON. |
| statusanzeigeliste.0.archive.csv | Semikolongetrennte CSV-Datei fuer Tabellenprogramme. |
| statusanzeigeliste.0.archive.count | Anzahl aktuell gespeicherter Archivereignisse. |
| statusanzeigeliste.0.archive.clear | Auf true setzen, um das Archiv zu leeren. |
| statusanzeigeliste.0.archive.sendEmail | Auf true setzen, um das CSV-Archiv per E-Mail zu senden. |
| statusanzeigeliste.0.archive.emailStatus | Ergebnis des letzten E-Mail-Versuchs. |
| statusanzeigeliste.0.archive.lastEmail | Zeitpunkt des letzten erfolgreichen E-Mail-Versands. |
Regelmodell
Jede Regel prueft eine Bedingung:
Quell-Datenpunkt Operator Festwert
Quell-Datenpunkt Operator Vergleichs-DatenpunktWenn die Bedingung wahr ist, erscheint der Meldungstext in der Liste. Wird die Bedingung falsch, wird die Meldung entfernt.
Admin-Einstellungen
Allgemein
| Option | Bedeutung |
| --- | --- |
| Statusanzeigeliste aktivieren | Aktiviert oder deaktiviert die gesamte Regelauswertung. |
| Startdatum vor Meldung anzeigen | Setzt das Datum der ersten Aktivierung vor die Meldung. Danach folgt mindestens ein Leerzeichen. |
| Startzeit vor Meldung anzeigen | Setzt die Uhrzeit der ersten Aktivierung vor die Meldung. Danach folgt mindestens ein Leerzeichen. |
| Text wenn keine Meldung aktiv ist | Optionaler Text, wenn keine Regel aktiv ist. |
| CSS-Klasse fuer Meldungszeilen | CSS-Klasse fuer die erzeugten HTML-Zeilen. Standard: statusanzeigeliste-row. |
| Meldungsarchiv aktivieren | Speichert bei jedem Zustandswechsel ein Ereignis GEKOMMEN oder GEGANGEN. |
| Maximale Anzahl Archiveintraege | Begrenzt das Archiv auf 1 bis 10.000 Ereignisse. Die aeltesten Ereignisse werden automatisch entfernt. |
| E-Mail-Adapterinstanz | Vorhandene Versandinstanz, zum Beispiel email.0. |
| Empfaenger fuer Archiv-E-Mail | Optional; leer verwendet den Standardempfaenger des E-Mail-Adapters. |
| Betreff der Archiv-E-Mail | Betreff fuer den Archivversand. |
Wenn Datum und Uhrzeit aktiv sind, sieht die Ausgabe so aus:
10.07.2026 18:42:03 Batteriespannung zu niedrigRegeln
| Spalte | Bedeutung |
| --- | --- |
| Aktiv | Aktiviert oder deaktiviert diese Regel. |
| Name | Interner Regelname fuer Diagnose. |
| Quell-Datenpunkt | ioBroker-Datenpunkt, der ueberwacht wird. |
| Vergleich | Operator: =, !=, >, >=, <, <=, contains. |
| Mit | Festwert oder anderer ioBroker-Datenpunkt. |
| Festwert | Wert, wenn Mit = Festwert gewaehlt ist. |
| Vergleichs-Datenpunkt | Datenpunkt, wenn Mit = Anderer Datenpunkt gewaehlt ist. |
| Typ | auto, number, boolean oder string. |
| Prioritaet | info, warning, error oder ok; wird als CSS-Klasse im Widget genutzt. |
| Meldungstext | Text, der angezeigt wird, solange die Regel aktiv ist. |
Vergleichsbeispiele
Boolean-Zustand
| Feld | Wert |
| --- | --- |
| Quell-Datenpunkt | 0_userdata.0.tuer.offen |
| Vergleich | = |
| Mit | Festwert |
| Festwert | true |
| Typ | boolean |
| Meldungstext | Tuer ist offen |
Analog-Grenzwert
| Feld | Wert |
| --- | --- |
| Quell-Datenpunkt | modbus.0.battery.voltage |
| Vergleich | < |
| Mit | Festwert |
| Festwert | 48 |
| Typ | number |
| Meldungstext | Batteriespannung unter 48 V |
Zwei Analogwerte vergleichen
| Feld | Wert |
| --- | --- |
| Quell-Datenpunkt | 0_userdata.0.haus.last |
| Vergleich | > |
| Mit | Anderer Datenpunkt |
| Vergleichs-Datenpunkt | 0_userdata.0.pv.erzeugung |
| Typ | number |
| Meldungstext | Hausverbrauch ist hoeher als PV-Erzeugung |
VIS und VIS-2 Widget
Der Adapter bringt ein Widget-Set namens statusanzeigeliste mit.
Das Standard-Widget liest den Klartext-Ausgabestate:
statusanzeigeliste.0.textIn VIS/VIS-2 kannst du das Widget einfuegen und optional anpassen:
| Widget-Option | Bedeutung |
| --- | --- |
| oid | State, der angezeigt wird. Standard: statusanzeigeliste.0.text. Klartext wird zeilenweise gerendert; HTML-States wie statusanzeigeliste.0.html werden als HTML eingefuegt. |
| title | Titel des Widgets. |
| showTitle | Zeigt oder versteckt die Titelzeile. |
| emptyText | Ersatztext, wenn der ausgewaehlte State leer ist. |
Das Widget nutzt CSS-Klassen je Prioritaet:
.statusanzeigeliste-row.info
.statusanzeigeliste-row.warning
.statusanzeigeliste-row.error
.statusanzeigeliste-row.okDiese Klassen kannst du bei Bedarf in VIS ueberschreiben.
Archiv-Widget
Im Widget-Set gibt es zusaetzlich das Widget Statusanzeigeliste Archiv. Es liest standardmaessig:
statusanzeigeliste.0.archive.htmlJede Zeile zeigt den Ereignistyp GEKOMMEN oder GEGANGEN, Datum, Uhrzeit und Meldungstext. Bei einer gegangenen Meldung wird zusaetzlich ihre aktive Dauer angezeigt. Das Archiv und die aktuell aktiven Startzeitpunkte bleiben bei einem Adapterneustart erhalten.
Mit CSV exportieren wird das vollstaendige aktuell gespeicherte Archiv direkt im Browser heruntergeladen. Die Datei enthaelt Zeitpunkt, Ereignis, Prioritaet, Regel, Meldung, Datenpunkt, Wert und Dauer und kann beispielsweise mit Excel oder LibreOffice Calc geoeffnet werden. Der Export-Button kann in den Widget-Einstellungen ausgeblendet und der CSV-Datenpunkt bei Bedarf geaendert werden.
Mit Per E-Mail senden wird dieselbe CSV-Datei ueber eine bereits installierte ioBroker-E-Mail-Adapterinstanz verschickt. SMTP- und Kontozugangsdaten verbleiben ausschliesslich im E-Mail-Adapter. Ist keine Empfaengeradresse im Statusanzeigen-Adapter eingetragen, wird der Standardempfaenger des E-Mail-Adapters verwendet.
E-Mail-Versand einrichten
- Eine ioBroker-E-Mail-Adapterinstanz, zum Beispiel
email.0, installieren und konfigurieren. - Zuerst direkt aus diesem Adapter eine Testmail versenden.
- Die Instanz-ID unter E-Mail-Adapterinstanz eintragen.
- Empfänger und Betreff optional eintragen. Ohne Empfänger wird der Standardempfänger des E-Mail-Adapters verwendet.
- Die Statusanzeigeliste-Konfiguration speichern.
- Im Archiv-Widget Per E-Mail senden auswählen.
Das Ergebnis steht in archive.emailStatus; der letzte erfolgreiche Versandzeitpunkt steht in archive.lastEmail.
Speicherung und Archivbegrenzung
Das Archiv wird in archive.json gespeichert und nach einem Adapterneustart wieder geladen. Die Startzeitpunkte aktiver Meldungen werden separat gesichert, damit beim Neustart keine doppelten GEKOMMEN-Ereignisse entstehen. Wird die konfigurierte Höchstzahl überschritten, entfernt der Adapter automatisch das älteste Ereignis. Einstellbar sind 1 bis 10.000 Einträge.
Fehlerbehebung
- Fehlen die Widgets im Editor, den Adapter neu starten und VIS/VIS-2 ohne einen alten Editor-Tab neu laden.
- Ist das Archiv leer, prüfen, ob eine Regel tatsächlich von inaktiv auf aktiv oder zurück gewechselt hat.
- Schlägt der Mailversand fehl,
archive.emailStatusprüfen und die ausgewählte E-Mail-Instanz separat testen. - Startet der CSV-Export nicht, Downloads für die VIS-Seite im Browser erlauben.
- Nicht mehrere VIS-Editor-Tabs gleichzeitig offen lassen; ein alter Tab kann beim Speichern neuere Projektdaten überschreiben.
Hinweise
- Die Startzeit bleibt erhalten, solange die Meldung aktiv ist. Wird die Bedingung spaeter erneut aktiv, bekommt sie eine neue Startzeit.
- Zahlenvergleiche akzeptieren Dezimalkomma und Dezimalpunkt.
autonutzt Zahlenvergleich, wenn beide Werte numerisch sind, Boolean-Vergleich bei Boolean-Werten und sonst String-Vergleich.containsvergleicht immer als Text.
Changelog
0.1.0
- Erste Statusanzeigeliste mit konfigurierbaren Vergleichen und VIS/VIS-2 Widgets.
0.1.1
- VIS-Widget-State-Bindung korrigiert, damit der Listenwert angezeigt und aktualisiert wird.
0.1.2
- Bereits registrierte VIS-2 Widget-Templates werden beim Adapterstart aktualisiert.
0.1.3
- VIS-Widget liest standardmaessig
statusanzeigeliste.0.text. - Klartext-Ausgabe wird im Widget zeilenweise gerendert.
0.1.4
- Aktueller Widget-Wert wird direkt beim VIS-2 Template-Rendering ausgegeben.
0.2.0
- Dauerhaftes Meldungsarchiv mit Gekommen-/Gegangen-Ereignissen.
- Maximale Archivgroesse in der Adapterkonfiguration einstellbar.
- Eigenes VIS/VIS-2 Widget Statusanzeigeliste Archiv.
- Archiv als HTML, Klartext und JSON sowie Loesch-Datenpunkt.
0.2.1
- CSV-Ausgabe fuer das Meldungsarchiv.
- Direkter Browser-Download ueber den Button CSV exportieren im Archiv-Widget.
0.2.2
- Versand des CSV-Archivs ueber einen vorhandenen ioBroker-E-Mail-Adapter.
- Button Per E-Mail senden im Archiv-Widget.
- Konfigurierbare E-Mail-Instanz, Empfaengeradresse und Betreff.
0.2.3
- CSV-Browserdownload funktioniert auch ohne zusaetzliches VIS-2-State-Abonnement.
0.2.4
- Paketmetadaten, CI und Dokumentation für das offizielle ioBroker-Repository vorbereitet.
- Echten VIS-2-Beispielscreenshot sowie ausführliche Installations-, E-Mail- und Fehlerbehebungsanleitung ergänzt.
Lizenz
MIT
Copyright (c) 2026 TheBam1990
