NEWS
[Vorlage] Servicemeldungen Volume2
-
@samson71 sagte in [Vorlage] Servicemeldungen Volume2:
Die hatten glaube ich 'LT' oder so ähnlich.
@homoran sagte in [Vorlage] Servicemeldungen Volume2:
Dann hätte ich noch ein paar Telekom gebrandete Geräte, die müssten aber auch HM kompatibel sein, haben nur xTK1234 in der ID
:grin:
@looxer01
das mit dem Roto und Typ ZEL... hatte ich deswegen erwähnt weil ich im Skript über einenZELEintrag bei den Batterietypen gestolpert war. -
@samson71 sagte in [Vorlage] Servicemeldungen Volume2:
Die hatten glaube ich 'LT' oder so ähnlich.
@homoran sagte in [Vorlage] Servicemeldungen Volume2:
Dann hätte ich noch ein paar Telekom gebrandete Geräte, die müssten aber auch HM kompatibel sein, haben nur xTK1234 in der ID
:grin:
@looxer01
das mit dem Roto und Typ ZEL... hatte ich deswegen erwähnt weil ich im Skript über einenZELEintrag bei den Batterietypen gestolpert war. -
@homoran
solange wir es mit Homematic Strukturen zu tun haben sollte alles möglich sein.
oder anders ausgedrückt: Wenn es Servicemeldungen von Homematic gibt, dann sollte es auch hier gehen -
@samson71 wobei einige ganz normale xEQ3... Kennung haben

und teilweise sogar in blauer EQ3 Verpackung verkauft wurden[/OT]!
-
Version 1.02 hochgeladen (im ersten Post)
- ein paar Code Optimierungen
- Ausschlussliste Anwendung bei Historie
- Versuche geloeschte Geraete abzufangen
- Kosmetik
Hallo, kannst du eine JSON Table der DP einbauen für eine Anzeige in VIS?
-
@sigi234 sagte in [Vorlage] Servicemeldungen Volume2:
kannst du eine JSON Table der DP einbauen für eine Anzeige in VIS?
klar, wenn du dann Dein Ergebnis hier posten könntest ;)
bin ich schon gespannt darauf.Ich nehme mal an:
- für aktuelle UND für historische Meldungen
- Struktur
- Datum der Meldung
- Message type (also z.B. Low-BAT, Error, etc.
- ID des Gerätes
- Text des Gerätes (Bezeichnung)
- gemeldeter Status = 0 - 7
- Text der Servicemeldung
vG Looxer
-
Version 1.3 ist online.
ChangeLog- JSON fuer aktuelle SM hinzugefuegt.
- JSON fuer historische SM hinzugefuegt.
Bitte zunächst mal probieren. Waren doch einige Aenderungen zu machen.
vG Looxer
PS.
Probleme fixen wird jetzt ein paar Tage dauern. Komme wahrscheinlich erst nächste Woche dazu. -
Version 1.3 ist online.
ChangeLog- JSON fuer aktuelle SM hinzugefuegt.
- JSON fuer historische SM hinzugefuegt.
Bitte zunächst mal probieren. Waren doch einige Aenderungen zu machen.
vG Looxer
PS.
Probleme fixen wird jetzt ein paar Tage dauern. Komme wahrscheinlich erst nächste Woche dazu.Schaut schon mal gut aus,
Ergebnis:

Denke mal Beschreibung verwechselt?

Ausgabe JSON:
0_userdata.0.ServicemeldungenVol2.JSONAktuelleSM [{"datum_seit":"05.11.24 06:04:47 Uhr","meldungsart":"ERROR","common_name":"Haustuer","id_name":"NEQ1818500","status":7,"status_message":"Sabotage","batterie_bezeichnung":null}] 0_userdata.0.ServicemeldungenVol2.JSONVergangeneSM [{"datum_seit":"05.11.24 06:04:47 Uhr","meldungsart":"ERROR","common_name":"Haustuer","id_name":"NEQ1818500","status":7,"status_message":"05.11.24 06:04:47 Uhr - ERROR - Haustuer - (NEQ1818500) - 7 - Sabotage"}]Noch was, wie kommst du auf diesen DP:
0_userdata.0.ServicemeldungenVol2.Anzahl_GESAMT
Da steht bei mir 57, sind das nicht Anzahl der IDs ?
javascript.0 06:47:53.541 info script.js.CCU3.Servicemeldungen3: es wurden insgesamt 57 ids gecheckt - insgesamt gibt es 1 ServicemeldungenEDIT2:
Nach Behebung des Sabotage Fehlers kommt diese Meldung und es wird eine Leere Mail versendet.
undefined<br>05.11.24 06:04:47 Uhr - ERROR - Haustuer - (NEQ1818500) - 7 - Sabotage<br>undefined<br>02.11.24 21:02:13 Uhr - ERROR - Haustuer - (NEQ1818500) - 7 - Sabotage<br>undefined<br>02.11.24 19:30:55 Uhr - ERROR - Haustuer - (NEQ1818500) - 7 - Sabotage<br>
JSON
0_userdata.0.ServicemeldungenVol2.JSONVergangeneSM

-
Schaut schon mal gut aus,
Ergebnis:

Denke mal Beschreibung verwechselt?

Ausgabe JSON:
0_userdata.0.ServicemeldungenVol2.JSONAktuelleSM [{"datum_seit":"05.11.24 06:04:47 Uhr","meldungsart":"ERROR","common_name":"Haustuer","id_name":"NEQ1818500","status":7,"status_message":"Sabotage","batterie_bezeichnung":null}] 0_userdata.0.ServicemeldungenVol2.JSONVergangeneSM [{"datum_seit":"05.11.24 06:04:47 Uhr","meldungsart":"ERROR","common_name":"Haustuer","id_name":"NEQ1818500","status":7,"status_message":"05.11.24 06:04:47 Uhr - ERROR - Haustuer - (NEQ1818500) - 7 - Sabotage"}]Noch was, wie kommst du auf diesen DP:
0_userdata.0.ServicemeldungenVol2.Anzahl_GESAMT
Da steht bei mir 57, sind das nicht Anzahl der IDs ?
javascript.0 06:47:53.541 info script.js.CCU3.Servicemeldungen3: es wurden insgesamt 57 ids gecheckt - insgesamt gibt es 1 ServicemeldungenEDIT2:
Nach Behebung des Sabotage Fehlers kommt diese Meldung und es wird eine Leere Mail versendet.
undefined<br>05.11.24 06:04:47 Uhr - ERROR - Haustuer - (NEQ1818500) - 7 - Sabotage<br>undefined<br>02.11.24 21:02:13 Uhr - ERROR - Haustuer - (NEQ1818500) - 7 - Sabotage<br>undefined<br>02.11.24 19:30:55 Uhr - ERROR - Haustuer - (NEQ1818500) - 7 - Sabotage<br>
JSON
0_userdata.0.ServicemeldungenVol2.JSONVergangeneSM

@sigi234
danke für die Rückmeldung. Deine Liste sieht gut aus. welches Widget verwendest du ?könntest du das widget ggf posten ?
@sigi234 sagte in [Vorlage] Servicemeldungen Volume2:
Denke mal Beschreibung verwechselt?
ja, natürlich ein Copy Paste Fehler - bereits korrigiert für die nächste Version
@sigi234 sagte in [Vorlage] Servicemeldungen Volume2:
Noch was, wie kommst du auf diesen DP:
0_userdata.0.ServicemeldungenVol2.Anzahl_GESAMT
Da steht bei mir 57, sind das nicht Anzahl der IDs ?ja korrekt. Das sind nicht Geraete sonder IDs. Das sagt auch die Meldung bei dir
@sigi234 sagte in [Vorlage] Servicemeldungen Volume2:
Nach Behebung des Sabotage Fehlers kommt diese Meldung und es wird eine Leere Mail versendet.
das ist nicht so schön. Ich weiß schon wo der Fehler liegt. Tritt auch nur bei den vergangenen Meldungen auf.
Die Behebung ist etwas aufwändiger. Mache ich aber - nur diese Woche wird es nicht klappenlG Looxer
-
@sigi234
danke für die Rückmeldung. Deine Liste sieht gut aus. welches Widget verwendest du ?könntest du das widget ggf posten ?
@sigi234 sagte in [Vorlage] Servicemeldungen Volume2:
Denke mal Beschreibung verwechselt?
ja, natürlich ein Copy Paste Fehler - bereits korrigiert für die nächste Version
@sigi234 sagte in [Vorlage] Servicemeldungen Volume2:
Noch was, wie kommst du auf diesen DP:
0_userdata.0.ServicemeldungenVol2.Anzahl_GESAMT
Da steht bei mir 57, sind das nicht Anzahl der IDs ?ja korrekt. Das sind nicht Geraete sonder IDs. Das sagt auch die Meldung bei dir
@sigi234 sagte in [Vorlage] Servicemeldungen Volume2:
Nach Behebung des Sabotage Fehlers kommt diese Meldung und es wird eine Leere Mail versendet.
das ist nicht so schön. Ich weiß schon wo der Fehler liegt. Tritt auch nur bei den vergangenen Meldungen auf.
Die Behebung ist etwas aufwändiger. Mache ich aber - nur diese Woche wird es nicht klappenlG Looxer
@looxer01 sagte in [Vorlage] Servicemeldungen Volume2:
danke für die Rückmeldung. Deine Liste sieht gut aus. welches Widget verwendest du ?
könntest du das widget ggf posten ?Ja, ist ein Inventwo Widget für VIS 1
[ { "tpl": "i-vis-jsontable", "data": { "bindings": [], "oid": "0_userdata.0.ServicemeldungenVol2.JSONVergangeneSM", "iTblRowLimit": 5, "g_common": true, "iTableRefreshRate": "0", "iTblSortOrder": "asc", "iColCount": "6", "iOpacityAll": "1", "g_i-css": true, "iTblRowEvenColor": "rgba(1,31,43,1)", "iTblRowUnevenColor": "rgba(24,57,86,1)", "iTblHeaderColor": "rgba(2,20,67,1)", "iRowSpacing": "10", "iTblRowEvenTextColor": "#ffffff", "iTblRowUnevenTextColor": "#ffffff", "iTblHeaderTextColor": "#ffffff", "iBorderSize": 1, "iBorderStyleLeft": "solid", "iBorderStyleRight": "solid", "iBorderStyleUp": "solid", "iBorderStyleDown": "solid", "iBorderColor": "#ffffff", "iTblShowHead": true, "iColShow1": "true", "iColName1": "Datum", "iColAttr1": "datum_seit", "iTblCellPlaceholder1": null, "iColWidth1": null, "iColPreText1": null, "iColAfterText1": null, "iTblHeadTextAlign1": "center", "iTblTextAlign1": "left", "iTblCellFormat1": "normal", "iTblCellDatetimeFormat1": null, "iTblCellDatetimeFormatInfo1": null, "iTblCellImageSize1": "200", "iTblCellBooleanCheckbox1": "false", "iTblCellBooleanColorFalse1": "#ff0000", "iTblCellBooleanColorTrue1": "", "iTblCellNumberDecimals1": "2", "iTblCellNumberDecimalSeperator1": ".", "iTblCellNumberThousandSeperator1": ",", "iTblCellThresholds-oid1": null, "iTblCellThresholdsText1": null, "g_iTableCol-1": true, "iColShow2": "true", "iColName2": "Meldungsart", "iColAttr2": "meldungsart", "iTblCellPlaceholder2": null, "iColWidth2": null, "iColPreText2": null, "iColAfterText2": null, "iTblHeadTextAlign2": "center", "iTblTextAlign2": "left", "iTblCellFormat2": "normal", "iTblCellDatetimeFormat2": null, "iTblCellDatetimeFormatInfo2": null, "iTblCellImageSize2": "200", "iTblCellBooleanCheckbox2": "false", "iTblCellBooleanColorFalse2": "", "iTblCellBooleanColorTrue2": "", "iTblCellNumberDecimals2": "2", "iTblCellNumberDecimalSeperator2": ".", "iTblCellNumberThousandSeperator2": ",", "iTblCellThresholds-oid2": null, "iTblCellThresholdsText2": null, "g_iTableCol-2": true, "iColShow3": "true", "iColName3": "Name", "iColAttr3": "common_name", "iTblCellPlaceholder3": null, "iColWidth3": null, "iColPreText3": null, "iColAfterText3": null, "iTblHeadTextAlign3": "center", "iTblTextAlign3": "left", "iTblCellFormat3": "normal", "iTblCellDatetimeFormat3": null, "iTblCellDatetimeFormatInfo3": null, "iTblCellImageSize3": "200", "iTblCellBooleanCheckbox3": "false", "iTblCellBooleanColorFalse3": "", "iTblCellBooleanColorTrue3": "", "iTblCellNumberDecimals3": "2", "iTblCellNumberDecimalSeperator3": ".", "iTblCellNumberThousandSeperator3": ",", "iTblCellThresholds-oid3": null, "iTblCellThresholdsText3": null, "g_iTableCol-3": true, "iColShow4": "true", "iColName4": "ID", "iColAttr4": "id_name", "iTblCellPlaceholder4": null, "iColWidth4": null, "iColPreText4": null, "iColAfterText4": null, "iTblHeadTextAlign4": "center", "iTblTextAlign4": "left", "iTblCellFormat4": "normal", "iTblCellDatetimeFormat4": null, "iTblCellDatetimeFormatInfo4": null, "iTblCellImageSize4": "200", "iTblCellBooleanCheckbox4": "false", "iTblCellBooleanColorFalse4": "", "iTblCellBooleanColorTrue4": "", "iTblCellNumberDecimals4": "2", "iTblCellNumberDecimalSeperator4": ".", "iTblCellNumberThousandSeperator4": ",", "iTblCellThresholds-oid4": null, "iTblCellThresholdsText4": null, "g_iTableCol-4": true, "iColShow5": "true", "iColName5": "Status", "iColAttr5": "status", "iTblCellPlaceholder5": null, "iColWidth5": null, "iColPreText5": null, "iColAfterText5": null, "iTblHeadTextAlign5": "center", "iTblTextAlign5": "left", "iTblCellFormat5": "normal", "iTblCellDatetimeFormat5": null, "iTblCellDatetimeFormatInfo5": null, "iTblCellImageSize5": "200", "iTblCellBooleanCheckbox5": "false", "iTblCellBooleanColorFalse5": "", "iTblCellBooleanColorTrue5": "", "iTblCellNumberDecimals5": "2", "iTblCellNumberDecimalSeperator5": ".", "iTblCellNumberThousandSeperator5": ",", "iTblCellThresholds-oid5": null, "iTblCellThresholdsText5": null, "g_iTableCol-5": true, "iColShow6": true, "iColName6": "Message", "iColAttr6": "status_message", "iTblCellPlaceholder6": null, "iColWidth6": null, "iColPreText6": null, "iColAfterText6": null, "iTblHeadTextAlign6": "center", "iTblTextAlign6": "left", "iTblCellFormat6": "normal", "iTblCellDatetimeFormat6": null, "iTblCellDatetimeFormatInfo6": null, "iTblCellImageSize6": "200", "iTblCellBooleanCheckbox6": "false", "iTblCellBooleanColorFalse6": "", "iTblCellBooleanColorTrue6": "", "iTblCellNumberDecimals6": "2", "iTblCellNumberDecimalSeperator6": ".", "iTblCellNumberThousandSeperator6": ",", "iTblCellThresholds-oid6": null, "iTblCellThresholdsText6": null, "g_iTableCol-6": true, "iTblFixedHead": true, "iBorderRemoveDouble": true, "g_css_font_text": true }, "style": { "bindings": [], "left": "0px", "top": "326px", "width": "862px", "height": "287px", "text-align": "left", "z-index": 4 }, "widgetSet": "vis-inventwo", "_id": "i000001" } ] -
HAbe es gerade mal getestet. Bekomme beim start und Neustart folgende Meldung
javascript.0 2024-11-05 18:53:12.131 warn script.js.common.Test: More than 500 subscriptions registered. Check your script! javascript.0 2024-11-05 18:53:12.128 warn script.js.common.Test: More than 400 subscriptions registered. Check your script! javascript.0 2024-11-05 18:53:12.125 warn script.js.common.Test: More than 300 subscriptions registered. Check your script! javascript.0 2024-11-05 18:53:12.122 warn script.js.common.Test: More than 200 subscriptions registered. Check your script! javascript.0 2024-11-05 18:53:12.120 warn script.js.common.Test: More than 100 subscriptions registered. Check your script!
ist das bekannt? -
HAbe es gerade mal getestet. Bekomme beim start und Neustart folgende Meldung
javascript.0 2024-11-05 18:53:12.131 warn script.js.common.Test: More than 500 subscriptions registered. Check your script! javascript.0 2024-11-05 18:53:12.128 warn script.js.common.Test: More than 400 subscriptions registered. Check your script! javascript.0 2024-11-05 18:53:12.125 warn script.js.common.Test: More than 300 subscriptions registered. Check your script! javascript.0 2024-11-05 18:53:12.122 warn script.js.common.Test: More than 200 subscriptions registered. Check your script! javascript.0 2024-11-05 18:53:12.120 warn script.js.common.Test: More than 100 subscriptions registered. Check your script!
ist das bekannt?@emil70
Hi
es scheint, dass du viele Geräte hast und damit viele Datenpunkte.
Bei mir sind es 270 Datenpunkte bei 80 Geräten.
Bei dir sind es 565 Datenpunkte - wieviel Geräte hast du ?Die Meldung kommt nur beim Start des Scripts. Das kannst du aktzeptieren die Warnmeldung in den Einstellungen des Javascript Adapters hochsetzen.
vG Looxer
Edit:
Alternativ kannst du diese Einstellung verwenden:
// wenn GeraeteIDTrigger auf true gestellt wird, dann wird fuer jeden Datenpukt mit Relevanz fuer eine Servicemeldung eine subscription angelegt.
// Vorteil ist, dass auch eine Historie und ein Log fuer Servicemeldungen geschrieben werden kann: Nachteil: bei 80 CCU Geraeten ungefaehr 300 Susbsriptions
// Wenn die variable auf false steht, dann wird auf hm.rega.0.maintenance eine subsription angelegt: Vorteil: 1 Subscription , Nachteil: keine Servicemeldungs Historie
const GeraeteIDTrigger = false;
bei false wird nicht über die Geräte-IDs getriggert.
Das hat aber dann funktional Einschränkungen zur Folge:- keine vergangene Servicemeldungen
- kein Externes Log
-
@emil70
Hi
es scheint, dass du viele Geräte hast und damit viele Datenpunkte.
Bei mir sind es 270 Datenpunkte bei 80 Geräten.
Bei dir sind es 565 Datenpunkte - wieviel Geräte hast du ?Die Meldung kommt nur beim Start des Scripts. Das kannst du aktzeptieren die Warnmeldung in den Einstellungen des Javascript Adapters hochsetzen.
vG Looxer
Edit:
Alternativ kannst du diese Einstellung verwenden:
// wenn GeraeteIDTrigger auf true gestellt wird, dann wird fuer jeden Datenpukt mit Relevanz fuer eine Servicemeldung eine subscription angelegt.
// Vorteil ist, dass auch eine Historie und ein Log fuer Servicemeldungen geschrieben werden kann: Nachteil: bei 80 CCU Geraeten ungefaehr 300 Susbsriptions
// Wenn die variable auf false steht, dann wird auf hm.rega.0.maintenance eine subsription angelegt: Vorteil: 1 Subscription , Nachteil: keine Servicemeldungs Historie
const GeraeteIDTrigger = false;
bei false wird nicht über die Geräte-IDs getriggert.
Das hat aber dann funktional Einschränkungen zur Folge:- keine vergangene Servicemeldungen
- kein Externes Log
@looxer01 sagte in [Vorlage] Servicemeldungen Volume2:
habe ca 130 Homematic Geräte, wenn du die meinst
Schau ich mir mal an
Edit:
const GeraeteIDTrigger = true;steht so
Edit 2: bei
const GeraeteIDTrigger = false;kommt die Meldung nicht
-
@emil70
Hi
es scheint, dass du viele Geräte hast und damit viele Datenpunkte.
Bei mir sind es 270 Datenpunkte bei 80 Geräten.
Bei dir sind es 565 Datenpunkte - wieviel Geräte hast du ?Die Meldung kommt nur beim Start des Scripts. Das kannst du aktzeptieren die Warnmeldung in den Einstellungen des Javascript Adapters hochsetzen.
vG Looxer
Edit:
Alternativ kannst du diese Einstellung verwenden:
// wenn GeraeteIDTrigger auf true gestellt wird, dann wird fuer jeden Datenpukt mit Relevanz fuer eine Servicemeldung eine subscription angelegt.
// Vorteil ist, dass auch eine Historie und ein Log fuer Servicemeldungen geschrieben werden kann: Nachteil: bei 80 CCU Geraeten ungefaehr 300 Susbsriptions
// Wenn die variable auf false steht, dann wird auf hm.rega.0.maintenance eine subsription angelegt: Vorteil: 1 Subscription , Nachteil: keine Servicemeldungs Historie
const GeraeteIDTrigger = false;
bei false wird nicht über die Geräte-IDs getriggert.
Das hat aber dann funktional Einschränkungen zur Folge:- keine vergangene Servicemeldungen
- kein Externes Log
@looxer01
Die Info ist für mich ziemlich wichtig. Danke. Ich komme erst am WE zum Testen, aber dann mit gut 180 Geräten. Das dürfte dann deutlich heftiger ausfallen als mit nur 80. Da werde ich dann auf jeden Fall besser auf die Historie verzichten. -
@looxer01 sagte in [Vorlage] Servicemeldungen Volume2:
habe ca 130 Homematic Geräte, wenn du die meinst
Schau ich mir mal an
Edit:
const GeraeteIDTrigger = true;steht so
Edit 2: bei
const GeraeteIDTrigger = false;kommt die Meldung nicht
-
@looxer01
Die Info ist für mich ziemlich wichtig. Danke. Ich komme erst am WE zum Testen, aber dann mit gut 180 Geräten. Das dürfte dann deutlich heftiger ausfallen als mit nur 80. Da werde ich dann auf jeden Fall besser auf die Historie verzichten.@samson71 sagte in [Vorlage] Servicemeldungen Volume2:
Da werde ich dann auf jeden Fall besser auf die Historie verzichten.
teste doch beides und schau mal ob sich in der performance Unterschiede zeigen.
Ich bin eher der Meinung, dass die Zahl der Subscriptions vermutlich nicht so ausschlaggebend ist.
Sie kosten etwas (minimal) Speicher.
Die Performance wird konsumiert, wenn subscriptions ausgelöst werden und wenn dies oft passiert.BTW: ich habe eine Sicherheit eingebaut , wenn es mehr als 50 IDS sind, die innerhalb kurzer Zeit ausgelöst werden.
Dann pausiert das script für 5 Minuten, bis dann irgendwann der workload abgearbeitet ist.
So möchte ich verhindern, dass es einen overload in Extremsituationen gibt
(z.B. bei Stromausfall und einer USV, die CCU und iobroker alive hält. In dieser Situation gäbe es eine Menge Servicemeldungen)vG Looxer
Edit:
Ich hatte für eine ganze Zeit das alte Servicemeldungssript parallel im Einsatz und damit mehr als doppelt soviel IDs subcribed. (ca 570 subscriptions). Ich habe keinen Unterschied bemerkt, allerdings habe ich einen recht performanten Rechner. -
Hi
Ich habe im ersten post noch ein script eingestellt, das die Batterien eurer Geräte checkt.
Wenn ihr Geräte habt, die noch nicht in der Liste des Servicemeldungsscripts enthalten sind, dann werden diese gelistet
Ihr könnt die mir dann mitteilen, idealerweise gleich Native Bezeichnung (aus dem Script) und der Bezeichnung der
Batterien. Wird dann in das Servicemeldungsscript eingepflegt.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 Schönes Script!
Es wäre noch gut, wenn man eine Messenger Instanz und einen Empfänger eintragen könnte.
Ich habe es mit Telegram probiert und da bekommen alle eine Meldung.
Oder habe ich etwas übersehen?Grüße
