NEWS
[Vorlage] Servicemeldungen Volume2
-
@looxer01
Bei HM classic wired gibt es NUR die 6 Datenpunkte, welche ich oben gepostet habe, also nix undervoltage usw...@zahnheinrich
bei HMIPW hast du im screen print einmal "Error_Undervoltage_Alarm"Frage:
gibt es bei HM wired auch 2 instanzen, also je eine für HM-Classic und eine fuer HMIP?
Das wäre ja noch gar nicht eingebaut.vG Looxer
-
@flkontakt
Hi,
vielen Dank für die Rückmeldung. Freut mich, dass es zunächst mal läuft.
Das mit dem Kurztext hatte ich schon auf der Liste. Dauert aber noch etwas.vG Looxer
-
Hi,
Das vorliegende Script logged Servicemeldungen von der CCU/AccessPoint/HCU-Für welche Umgebungen eignet sich das Skript?
- CCU (bzw. Raspberry Pi-Ersatz)
- CCU FUNK
- CCU Wired
- HMIP Access Point (Achtung: „GeraeteIDTrigger“ muss auf „true“ gesetzt sein)
- HMIP HCU Cloud (Achtung: „GeraeteIDTrigger“ muss auf „true“ gesetzt sein)
Es handelt sich dabei nicht um ein „entweder-oder“ – die Instanzen werden parallel überwacht.
Was kann das Skript?
- Überprüfung der Servicemeldungen: Das Skript prüft, ob Servicemeldungen vorliegen.
- Speicherung der Servicemeldungen: Servicemeldungen werden in Lang- und Kurztexten (Text, JSON, HTML) gespeichert.
- Zählung von Servicemeldungen: Es werden Zählungen nach Meldungsarten und insgesamt gespeichert.
- Erstellung der erforderlichen Datenpunkte: Das Skript legt automatisch die notwendigen Datenpunkte an.
- Reaktion auf Geräteänderungen: Es reagiert entweder auf Veränderungen auf Geräteebene (viele Subscriptions – z.B. 298 bei 80 Geräten) oder, standardmäßig, auf Veränderungen der Anzahl der in der CCU gemeldeten Servicemeldungen (1 Subscription)
- Historie: Es wird eine Historie geführt, die auch zeigt, wann Servicemeldungen wieder aufgehoben wurden.
- HMIP Access Point/HCU Support: Wenn der Access Point genutzt wird, muss auf die Geräte-ID getriggert werden (da der REGA-Datenpunkt fehlt).
- Externe Log-Datei: Es kann ein externes Log im Excel-Format fortgeschrieben werden. Hierin werden alle Servicemeldungen langfristig fortgeschrieben
- Heizungsgruppenmeldungen: Heizungsgruppenmeldungen sind standardmäßig deaktiviert. Sie können jedoch bei Bedarf aktiviert werden.
- Servicemeldungen Bestätigung: Das Skript bestätigt auf Wunsch CCU Servicemeldungen.
- Flexible Messaging Services: Es können email', 'whatsApp', 'Signal','Telegram', 'Pushover', 'Pushsafer oder auch SPRACHE zum versenden von Servicemeldungen eingestellt werden. Das Versenden kann per MessageType vereinbart werden.
- Flexibles Tabellenwerk: Anpassungen für z.B. neue MessageTypes von Servicemeldungen bei neuen Geräten können ohne Programmierung im Tabellenwerk konfiguriert werden
Einfache Nutzung: Das Skript ist sofort lauffähig, vorausgesetzt, die Instanzen (CCU etc.) sind korrekt eingerichtet.
Das Skript arbeitet in der aktuellen Version stabil und zuverlässig.Zusätzliche Hinweise:
In der Standardkonfiguration des Skripts werden 2 Subscriptions und 1 Schedule erstellt.
Ich verwende das Skript mit einer Subscription auf Ebene Einzel-ID (Einstellung „GeraeteIDTrigger“). Bei dieser Konfiguration wird eine Warnung im Log angezeigt, wenn mehr als 100 Subscriptions von dem Servicemeldungs-Skript erstellt werden.
Diese Grenze kann in den „Instanzen JavaScript“-Einstellungen angepasst werden. Für diesen Anwendungsfall sind keine Performance-Probleme zu erwarten.
Channel Selector: Das Skript verwendet statische Channel-Selector. Das bedeutet, dass Änderungen an den Datenstrukturen durch die CCU (z.B. das Löschen oder Hinzufügen von Geräten) nicht bekannt sind, solange das Skript nicht neu gestartet wird.
Falls Geräte hinzugefügt oder gelöscht werden, muss das Skript neu gestartet werden.und hier das Script:
Servicemeldungen_Vol2_3-32.txtDazu stelle ich zwei Views für VIS zur Verfügung:

Den View gibt es für das JSON Format also auch für das HTML Format. Beide sehen weitestgehend identisch aus-
JSON View: Diese View ist für die Darstellung der JSON-Datenpunkte gedacht. Die Datenpunkte sind auf „javascript.0....“ ausgerichtet, was ggf. angepasst werden muss. Die View kann in VIS über „view importieren“ geladen werden. Der Inventwo-Adapter muss installiert sein. Falls du VIS2 nutzt, empfiehlt sich momentan die HTML-Variante.
View_SM_JSON.txt -
HTML View: Diese View zeigt die HTML-Datenpunkte an. Auch hier müssen die Datenpunkte ggf. angepasst werden. Die View kann ebenfalls in VIS über „view importieren“ geladen werden. Die verwendeten Widgets sind klassische ioBroker-Widgets und funktionieren sowohl in VIS1 als auch in VIS2.
View_SM_HTML.txt
Die Views enthalten einen Push-Button. Wenn der gedrückt wird, wird die Meldungshistorie ohne Nachfrage gelöscht
Da das Skript bei niedrigem Batteriestand automatisch die erforderlichen Batterien überprüft, müssen die Geräte mit den Batterien in eine Liste eingetragen werden. Mit dem folgenden Script kannst du überprüfen, ob die Liste vollständig ist. Alle Geräte mit unbekannten Batterien werden aufgelistet. Du kannst mir diese Liste dann zur Verfügung stellen, und ich pflege sie gerne ein.
hier das Checkscript:
Batterie-Check-1-1.txtZusätzlich stelle ich ein Tool zur Verfügung, das alle ioBroker-Subscriptions auflistet. Dies steht nicht direkt im Zusammenhang mit dem Servicemeldungsskript, ist aber hilfreich, um transparent zu sehen, was insgesamt abonniert wurde. Über eine Variable kann die Liste auch auf ein bestimmtes Skript eingeschränkt werden. Das Ergebnis kann in eine externe Datei geschrieben werden.
Hier das script
ListSubscriptions_1.0@looxer01 sagte in [Vorlage] Servicemeldungen Volume2:
hier das Checkscript:
Servicemeldungen_Vol2_1-10.txtSollte es nicht das Batterieskript sein?
-
@looxer01 sagte in [Vorlage] Servicemeldungen Volume2:
hier das Checkscript:
Servicemeldungen_Vol2_1-10.txtSollte es nicht das Batterieskript sein?
-
@zahnheinrich
bei HMIPW hast du im screen print einmal "Error_Undervoltage_Alarm"Frage:
gibt es bei HM wired auch 2 instanzen, also je eine für HM-Classic und eine fuer HMIP?
Das wäre ja noch gar nicht eingebaut.vG Looxer
@looxer01
Das classic wired läuft in einer separaten Instanz nach dem hs485d Protokoll, das neue ist IP-wired läuft in der HMIP Instanz zusammen mit anderen HMIP Geräten wie z.B. Thermostaten o.ä. nach dem HM IP Protokoll -
@looxer01
Das classic wired läuft in einer separaten Instanz nach dem hs485d Protokoll, das neue ist IP-wired läuft in der HMIP Instanz zusammen mit anderen HMIP Geräten wie z.B. Thermostaten o.ä. nach dem HM IP Protokoll@zahnheinrich
Danke für den Hinweis.
Es ist also auch nicht möglich Wired separariert von der HMIP Instanz als eigene Instanz zu konfigurieren ?vG Looer
-
@zahnheinrich
Danke für den Hinweis.
Es ist also auch nicht möglich Wired separariert von der HMIP Instanz als eigene Instanz zu konfigurieren ?vG Looer
@looxer01
Richtig -
@zahnheinrich
Danke für den Hinweis.
Es ist also auch nicht möglich Wired separariert von der HMIP Instanz als eigene Instanz zu konfigurieren ?vG Looer
@looxer01
Ich habe folgende Konstellation:
hm-rpc.0 -> CuxD
hm-rpc.1 -> rfd (HM classic)
hm-rpc.2 -> HMIP einschl. wiredScript Vers. 1.12
Problem: Bei Auslösen eines Sabotagealarms eines Fensterkontaktes (HMIP) kommt fehlermeldung in der CCU sofort, jedoch keine Veränderung der Datenpunkte im Script, es wird nicht getriggert.Folgende Scripteinstellungen:
// CuxD Instanzen duerfen nicht eingetragen werden
const HMClassicInstanz = 1; // HM-Classic Instanz eintragen // 9 = falls nicht relevant
const HMIPInstanz = 2; // Homematic IP Instanz eintragen // 9 = falls nicht relevant
const WiredInstanz = 9; // Wired Instanz // 9 = falls nicht relevant
const GruppenInstanz = 9; // 9 = nicht relevant - Die Gruppen werden i.d.R. nicht gebrauchtSollte es nicht eine Einstellung geben, mit der eine (evtl) vorhandene CuxD-Instanz auf "9" gesetzt werden müsste, bei mir also die Instanz 0?
Edit: Script nochmal neu gestartet, jetzt geht´s, beobachte weiter...
-
@looxer01
Ich habe folgende Konstellation:
hm-rpc.0 -> CuxD
hm-rpc.1 -> rfd (HM classic)
hm-rpc.2 -> HMIP einschl. wiredScript Vers. 1.12
Problem: Bei Auslösen eines Sabotagealarms eines Fensterkontaktes (HMIP) kommt fehlermeldung in der CCU sofort, jedoch keine Veränderung der Datenpunkte im Script, es wird nicht getriggert.Folgende Scripteinstellungen:
// CuxD Instanzen duerfen nicht eingetragen werden
const HMClassicInstanz = 1; // HM-Classic Instanz eintragen // 9 = falls nicht relevant
const HMIPInstanz = 2; // Homematic IP Instanz eintragen // 9 = falls nicht relevant
const WiredInstanz = 9; // Wired Instanz // 9 = falls nicht relevant
const GruppenInstanz = 9; // 9 = nicht relevant - Die Gruppen werden i.d.R. nicht gebrauchtSollte es nicht eine Einstellung geben, mit der eine (evtl) vorhandene CuxD-Instanz auf "9" gesetzt werden müsste, bei mir also die Instanz 0?
Edit: Script nochmal neu gestartet, jetzt geht´s, beobachte weiter...
@zahnheinrich
Hi,
ich habe für die nächste Version erhebliche Änderungen eingebaut.
Lohnt sich daher nicht in die alte Version zu schauen.
Die kommt dann heute oder morgen, falls ich nicht erhebliche Probleme finde.vG Looxer
-
Hi,
Version 1.20 ist online.
Ein größerer Sprung- Code optimiert und stellenweise umgeschrieben
- Einstellungsbereich strukturiert
- Funktional: Es ist nun möglich, für jeden Nachrichtenservice (z. B. E-Mail, WhatsApp usw.) individuell festzulegen, ob eine kurze oder lange Meldung versendet werden soll.
Bitte beachten und das galt auch schon für die alten Versionen
- Die Instanzen müssen stimmen.
- Eine 9 eingeben, wenn eine Instanz nicht benötigt wird
- Die Instanz für CuxD bitte nirgendwo eingeben
- Ansonsten sind die Instanznummern natürlich mit den Instanzen HMRPC des ioBrokers abzugleichen
vG Looxer
-
Version 1.30 ist online
Funktional ist meine Liste nun abgearbeitet. Die Funktionen, die ich einarbeiten wollte sind enthalten.
Falls Fehler auftauchen werde ich diese gerne fixen. Um dies zu supporten gibt es nun auch eine neue wichtige Funktion.- Kommentare hinzugefuegt
- Alarmtypes koennen fuer jede Instanz getrennt ausgeschlossen werden
- Ausschlussliste geht jetzt auch bei REGA subscription
- 3 Alarmtypes entfernt (error_reduced / U_Source_Fail / USBH_POWERFAIL)
- LOW_BAT_ALARM -Log angepasst
- System Log kann extern gespeichert werden
Der letzte Punkt ist mir sehr wichtig
Falls ihr Ungereimtheiten habt, dann stellt bitte in den Einstellungen folgendes ein: const SystemLog = true
Bitte damit bitte auch den DebugLevel auf mindestens 2 stellen.
Damit wird das externe logging aktiviert und alle log-Nachrichten werden in das externe log aber nicht auf der im ioBroker log ausgegeben (aufgrund der Menge der log-Nachrichten würde das auch eher stören)
Anmerkung: die grundlegenden logs (Level 0) werden AUCH im iobroker weiter ausgegeben.
Das Log könnt ihr dann mit der Beschreibung des Fehlers posten. Somit sollte es wesentlich einfacher sein festzustellen wo das Problem liegt.Ansonsten ist es hier im Thread sehr ruhig, was hoffentlich bedeutet, dass alles läuft: :hand_with_index_and_middle_fingers_crossed:
vG Looxer
-
Ich habe in den ersten Beitrag noch ein Tool online gestellt mit dem ihr eure Subscriptions listen könnt.
Das geht mit oder Auswahl eines Scriptenames. So könnt ihr gezielt die System-Subscriptions einsehen.
Diese müssen mit dem Reporting der Servicemeldungen übereinstimmen. Dort werden die Subscriptions ja gezählt und mit debugLevel = 3 werden auch die einzelnen IDs, die subscribed wurden gelistet.
Trotzdem hilft die Transparenz ja zu verstehen wie das ganze aufgesetzt ist.vG Looxer
-
Hi,
Version 1.32 ist online.- Funktion SubscriptionID - (Es gab sporadisch nicht gemeldete Servicemeldungen - nur innerhalb eines alarmtypes parallel auftretenden Servicemeldungen)
- Funktion SubscriptionID - umgestellt auf klassische For-Schleife
- Funktion SubscriptionID - Schwellwert fuer Ausführungsverzögerung von 50 auf 25 reduziert // Pause reduziert von 5 auf 3 Minuten
- Log Messages hinzugefügt
vG Looxer
-
Hi,
ich habe zwischenzeitlich noch ein wenig geschraubt.
Ich teste gerade eine Version, die es erlaubt auch mit HM-REGA subscription (also nur mit einer einzigen Subscription anstatt hunderter Subscriptions) auch eine Historie zu führen. Die ist zwar weniger präzise aber für die meisten wohl ausreichend.Da es hier so ruhig ist bin ich nicht so sicher, ob das überhaupt interessant ist.
Rückmeldung wäre schön.vG Looxer
-
Hi,
ich habe zwischenzeitlich noch ein wenig geschraubt.
Ich teste gerade eine Version, die es erlaubt auch mit HM-REGA subscription (also nur mit einer einzigen Subscription anstatt hunderter Subscriptions) auch eine Historie zu führen. Die ist zwar weniger präzise aber für die meisten wohl ausreichend.Da es hier so ruhig ist bin ich nicht so sicher, ob das überhaupt interessant ist.
Rückmeldung wäre schön.vG Looxer
@looxer01 sagte in [Vorlage] Servicemeldungen Volume2:
Rückmeldung wäre schön.
kommt morgen.
war länger etwas ausgenockt. -
Hi,
ich habe zwischenzeitlich noch ein wenig geschraubt.
Ich teste gerade eine Version, die es erlaubt auch mit HM-REGA subscription (also nur mit einer einzigen Subscription anstatt hunderter Subscriptions) auch eine Historie zu führen. Die ist zwar weniger präzise aber für die meisten wohl ausreichend.Da es hier so ruhig ist bin ich nicht so sicher, ob das überhaupt interessant ist.
Rückmeldung wäre schön.vG Looxer
-
Hi,
ich schmeiße heute die Version 2.00 in den Ring mit vielen Anpassungen- weiteres Logging hinzugefuegt
- AccessPoint /HCU integration hinzugefuegt. Allerdings fehlen mir informationen- Wer also einen AP hat und gerne untersützt wäre das super - insbesondere die Objektdefinition der betroffenen IDs ist unklar
- historische Servicemeldungen fuer GeraeteID trigger nach Datum aufsteigend in JSON und Tex
- Achtung : Umbenennung von DP TestVergangeneSM in TextVergangeneSM. Das Script legt den neuen DP automatisch an. Den alten/falschen koennt ihr loeschen
- Historische Servicemeldungen auch bei REGA Subscription
- reichlich Umstrukturierungen und Performance Verbesserungen. Ein Durchlauf braucht nur noch 4 MS vorher 11 (in meiner Systemumgebung)
- für historische Meldungen werden jetzt auch immer "keine Servicemeldungen" festgehalten
- Voreingestellt ist jetzt die subscription für REGA (1 subscription) Ich persönlich bevorzuge aber immer noch die Geraete-ID subscription (mehr Informationen)
Für die REGA Subscriptions bezüglich der historischen Meldungen ist es so, dass bei Änderungen immer alle aktuelle Meldungen geloggt werden. (Liegt in der Natur der Sache). Dafür habe ich habe eine rel. klare Darstellung implementiert (siehe Grafik)

vG Looxer
-
Hi,
ich schmeiße heute die Version 2.00 in den Ring mit vielen Anpassungen- weiteres Logging hinzugefuegt
- AccessPoint /HCU integration hinzugefuegt. Allerdings fehlen mir informationen- Wer also einen AP hat und gerne untersützt wäre das super - insbesondere die Objektdefinition der betroffenen IDs ist unklar
- historische Servicemeldungen fuer GeraeteID trigger nach Datum aufsteigend in JSON und Tex
- Achtung : Umbenennung von DP TestVergangeneSM in TextVergangeneSM. Das Script legt den neuen DP automatisch an. Den alten/falschen koennt ihr loeschen
- Historische Servicemeldungen auch bei REGA Subscription
- reichlich Umstrukturierungen und Performance Verbesserungen. Ein Durchlauf braucht nur noch 4 MS vorher 11 (in meiner Systemumgebung)
- für historische Meldungen werden jetzt auch immer "keine Servicemeldungen" festgehalten
- Voreingestellt ist jetzt die subscription für REGA (1 subscription) Ich persönlich bevorzuge aber immer noch die Geraete-ID subscription (mehr Informationen)
Für die REGA Subscriptions bezüglich der historischen Meldungen ist es so, dass bei Änderungen immer alle aktuelle Meldungen geloggt werden. (Liegt in der Natur der Sache). Dafür habe ich habe eine rel. klare Darstellung implementiert (siehe Grafik)

vG Looxer
@looxer01 sagte in [Vorlage] Servicemeldungen Volume2:
AccessPoint /HCU integration hinzugefuegt. Allerdings fehlen mir informationen- Wer also einen AP hat und gerne untersützt wäre das super - insbesondere die Objektdefinition der betroffenen IDs ist unklar
ich hab einen
HmIP-HAPals AP-Gateway an der CCU3 -
@looxer01 sagte in [Vorlage] Servicemeldungen Volume2:
AccessPoint /HCU integration hinzugefuegt. Allerdings fehlen mir informationen- Wer also einen AP hat und gerne untersützt wäre das super - insbesondere die Objektdefinition der betroffenen IDs ist unklar
ich hab einen
HmIP-HAPals AP-Gateway an der CCU3@negalein
Hi,
ich nehme mal an, dass du den AP als Reichenweitenverlängerung nutzt. In dem Fall werden ja keine Geräte Datenpunkte angelegt.
Wenn aber der AP mit der dem Adapter "Homematic IP Cloud Zugriffspunkt" installiert wird, dann werden auch die datenstrukturen übernommen. Ein HMIP Geräte kann immer nur genau 1 x von einer Steuerzentrale verwaltet werden. Also, entweder CCU3 oder AP oder auch HCU.Es kann sein, dass die Implementierung sogar schon funktioniert (für "lowBat" und "unreach"). Es kann aber auch sein, dass die objekt definition abweichend ist für
- Common Object Native
- common object name
- common object id
dazu bräuchte ich die Datenpunkt definition der Objekte wie sie im AP angelegt werden
vG Looxer
-
@negalein
Hi,
ich nehme mal an, dass du den AP als Reichenweitenverlängerung nutzt. In dem Fall werden ja keine Geräte Datenpunkte angelegt.
Wenn aber der AP mit der dem Adapter "Homematic IP Cloud Zugriffspunkt" installiert wird, dann werden auch die datenstrukturen übernommen. Ein HMIP Geräte kann immer nur genau 1 x von einer Steuerzentrale verwaltet werden. Also, entweder CCU3 oder AP oder auch HCU.Es kann sein, dass die Implementierung sogar schon funktioniert (für "lowBat" und "unreach"). Es kann aber auch sein, dass die objekt definition abweichend ist für
- Common Object Native
- common object name
- common object id
dazu bräuchte ich die Datenpunkt definition der Objekte wie sie im AP angelegt werden
vG Looxer
@looxer01 sagte in [Vorlage] Servicemeldungen Volume2:
ich nehme mal an, dass du den AP als Reichenweitenverlängerung nutzt
stimmt, da bin ich dann leider raus
