NEWS
[Javascript] Adapter-Instanzen überwachen
-
@acgua Hi, ich nutze den Script Adapter in Version 5.8.10... also die letzte Beta
Ich bekomme aufgrund des Sonoff und des MQTT Adapters die folgenden Fehlermeldungen:
You are assigning a string to the state "0_userdata.0.System.Adapter-Instanzen.sonoff_0.info.connected_with_device_service" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning might become an error in future versions.
You are assigning a string to the state "0_userdata.0.System.Adapter-Instanzen.mqtt_0.info.connected_with_device_service" which expects a boolean. Please fix your code to use a boolean or change the state type to string. This warning might become an error in future versions.@frana120500
Danke. Auch noch mal an @ciddi89 für deine Rückinfo.Dann muss ich mir das die Tage mal näher ansehen, gerade weil es auch im Latest (5.8.10) vorkommt, das ist sehr wichtig zu wissen.
Ich habe nur beschränkt Zeit, daher brauche ich ggf. ein paar Tage, also bitte nicht wundern, aber ich kümmere mich darum.
Ist nur eine Kleinigkeit und eher ein "Schönheitsfehler", weil sonst ja alles läuft, aber nervt mich :grin: und werde ich lösen, also die Ursache. -
@frana120500
Danke. Auch noch mal an @ciddi89 für deine Rückinfo.Dann muss ich mir das die Tage mal näher ansehen, gerade weil es auch im Latest (5.8.10) vorkommt, das ist sehr wichtig zu wissen.
Ich habe nur beschränkt Zeit, daher brauche ich ggf. ein paar Tage, also bitte nicht wundern, aber ich kümmere mich darum.
Ist nur eine Kleinigkeit und eher ein "Schönheitsfehler", weil sonst ja alles läuft, aber nervt mich :grin: und werde ich lösen, also die Ursache.@acgua hehe ja gerne doch. Mach dir kein Stress, wie du schon sagst: es ist nur ein Schönheitsfehler. Und ich kenne das nur zu gut mit der Zeit. Das Problem habe ich und viele andere auch hier.😬 Falls ich vorher schon was finde, gebe ich dir natürlich Bescheid. :)
-
@acgua hehe ja gerne doch. Mach dir kein Stress, wie du schon sagst: es ist nur ein Schönheitsfehler. Und ich kenne das nur zu gut mit der Zeit. Das Problem habe ich und viele andere auch hier.😬 Falls ich vorher schon was finde, gebe ich dir natürlich Bescheid. :)
@ciddi89 und @frana120500
Ich habe nun Version 0.0.2 veröffentlicht, Änderung:- Acgua – Workaround aufgrund Issue #1 eingebaut. In manchen ioBroker-Umgebungen scheint die Abfrage von
admin.0.info.connection(sowie bisher identifizierte Adapter mqtt und sonoff) kein Boolean zurückzugeben, sondern ein String wie etwa[2]admin, javascript. Ich kann es nicht reproduzieren aber habe ein Workaround eingebaut. Bei Ausgabe eines Strings (Länge > 1) wird angenommen, dass eine Verbindung besteht.
Hier übrigens die Änderungen im Script:
https://github.com/Acgua/ioBroker-Script-Adapter-Instances-Watcher/commit/08b171e5a93995eab65d9400bc049cc25760e382Link zum Projekt: https://github.com/Acgua/ioBroker-Script-Adapter-Instances-Watcher
- Acgua – Workaround aufgrund Issue #1 eingebaut. In manchen ioBroker-Umgebungen scheint die Abfrage von
-
@ciddi89 und @frana120500
Ich habe nun Version 0.0.2 veröffentlicht, Änderung:- Acgua – Workaround aufgrund Issue #1 eingebaut. In manchen ioBroker-Umgebungen scheint die Abfrage von
admin.0.info.connection(sowie bisher identifizierte Adapter mqtt und sonoff) kein Boolean zurückzugeben, sondern ein String wie etwa[2]admin, javascript. Ich kann es nicht reproduzieren aber habe ein Workaround eingebaut. Bei Ausgabe eines Strings (Länge > 1) wird angenommen, dass eine Verbindung besteht.
Hier übrigens die Änderungen im Script:
https://github.com/Acgua/ioBroker-Script-Adapter-Instances-Watcher/commit/08b171e5a93995eab65d9400bc049cc25760e382Link zum Projekt: https://github.com/Acgua/ioBroker-Script-Adapter-Instances-Watcher
@acgua danke, hab die neue Version gleich ausprobiert. :) Vielen dank für die Arbeit. Das log sieht nun so aus:
- Acgua – Workaround aufgrund Issue #1 eingebaut. In manchen ioBroker-Umgebungen scheint die Abfrage von
-
Hi, ich wollte das Script einmal ausprobieren und habe das npm Modul cron-parser aktiviert.
Dann das Log kontrolliert. Folgende Meldungen:2022-07-19 14:18:39.627 error WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) javascript.0 2022-07-19 14:18:39.626 error npm javascript.0 2022-07-19 14:18:39.599 error WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 javascript.0 2022-07-19 14:18:39.598 error npm javascript.0 2022-07-19 14:18:39.577 error WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. javascript.0 2022-07-19 14:18:39.576 error npm javascript.0 2022-07-19 14:18:39.538 error WARN deprecated node-inspect@2.0.0: This module is part of Node.js core and does not need to be installed separately. It is now unmaintained. javascript.0 2022-07-19 14:18:39.537 error npm javascript.0 2022-07-19 14:18:39.480 error WARN deprecated har-validator@5.1.5: this library is no longer supported javascript.0 2022-07-19 14:18:39.479 error npm javascript.0 2022-07-19 14:18:37.412 error WARN config production Use `--omit=dev` instead. javascript.0 2022-07-19 14:18:37.411 error npmIst das so richtig?
-
ich habe auch mal die 0.0.2 ausprobiert und erhalten folgende warnings im log:
javascript.0 2022-07-19 14:59:32.583 warn script.js.Sonstiges.Adapter_Instanzen_überwachen: sonoff.0.info.connection returns String "Erzeugungszähler,Waschmaschine,Bürolampe,Gosund SP112,Gosund-Heizstab,3dDrucker,FritzBox_Steckdose,Staubsauger,Gosund-USV,Stehlampe,Gosund-Treppe-ESP32,Kinderzimmerlampe,GrosseGarage,Bewässerung,TasmoShelly-BJ", but boolean expected. We assume connection is true and continue. javascript.0 2022-07-19 14:59:32.582 warn script.js.Sonstiges.Adapter_Instanzen_überwachen: mqtt.0.info.connection returns String "evcc-2142291184", but boolean expected. We assume connection is true and continue. -
@ciddi89 und @frana120500
Ich habe nun Version 0.0.2 veröffentlicht, Änderung:- Acgua – Workaround aufgrund Issue #1 eingebaut. In manchen ioBroker-Umgebungen scheint die Abfrage von
admin.0.info.connection(sowie bisher identifizierte Adapter mqtt und sonoff) kein Boolean zurückzugeben, sondern ein String wie etwa[2]admin, javascript. Ich kann es nicht reproduzieren aber habe ein Workaround eingebaut. Bei Ausgabe eines Strings (Länge > 1) wird angenommen, dass eine Verbindung besteht.
Hier übrigens die Änderungen im Script:
https://github.com/Acgua/ioBroker-Script-Adapter-Instances-Watcher/commit/08b171e5a93995eab65d9400bc049cc25760e382Link zum Projekt: https://github.com/Acgua/ioBroker-Script-Adapter-Instances-Watcher
@acgua sagte in [Javascript] Adapter-Instanzen überwachen:
In manchen ioBroker-Umgebungen scheint die Abfrage von
admin.0.info.connection(sowie bisher identifizierte Adapter mqtt und sonoff) kein Boolean zurückzugeben, sondern ein String wie etwa[2]admin, javascript. Ich kann es nichtnur FYI - der sonoff-Adapter z.B. enthält per Definition im besagten DP "Liste der verbundenen Geräte" - dürfte also nie "boolean" liefern... ;-)
- Acgua – Workaround aufgrund Issue #1 eingebaut. In manchen ioBroker-Umgebungen scheint die Abfrage von
-
Hi, ich wollte das Script einmal ausprobieren und habe das npm Modul cron-parser aktiviert.
Dann das Log kontrolliert. Folgende Meldungen:2022-07-19 14:18:39.627 error WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) javascript.0 2022-07-19 14:18:39.626 error npm javascript.0 2022-07-19 14:18:39.599 error WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 javascript.0 2022-07-19 14:18:39.598 error npm javascript.0 2022-07-19 14:18:39.577 error WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. javascript.0 2022-07-19 14:18:39.576 error npm javascript.0 2022-07-19 14:18:39.538 error WARN deprecated node-inspect@2.0.0: This module is part of Node.js core and does not need to be installed separately. It is now unmaintained. javascript.0 2022-07-19 14:18:39.537 error npm javascript.0 2022-07-19 14:18:39.480 error WARN deprecated har-validator@5.1.5: this library is no longer supported javascript.0 2022-07-19 14:18:39.479 error npm javascript.0 2022-07-19 14:18:37.412 error WARN config production Use `--omit=dev` instead. javascript.0 2022-07-19 14:18:37.411 error npmIst das so richtig?
@david83 sagte in [Javascript] Adapter-Instanzen überwachen:
Hi, ich wollte das Script einmal ausprobieren und habe das npm Modul cron-parser aktiviert.
Dann das Log kontrolliert. Folgende Meldungen:2022-07-19 14:18:39.627 error WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) javascript.0 2022-07-19 14:18:39.626 error npm javascript.0 2022-07-19 14:18:39.599 error WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 javascript.0 2022-07-19 14:18:39.598 error npm javascript.0 2022-07-19 14:18:39.577 error WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. javascript.0 2022-07-19 14:18:39.576 error npm javascript.0 2022-07-19 14:18:39.538 error WARN deprecated node-inspect@2.0.0: This module is part of Node.js core and does not need to be installed separately. It is now unmaintained. javascript.0 2022-07-19 14:18:39.537 error npm javascript.0 2022-07-19 14:18:39.480 error WARN deprecated har-validator@5.1.5: this library is no longer supported javascript.0 2022-07-19 14:18:39.479 error npm javascript.0 2022-07-19 14:18:37.412 error WARN config production Use `--omit=dev` instead. javascript.0 2022-07-19 14:18:37.411 error npmIst das so richtig?
Kann zu den Ausgaben im Log jemand mit etwas mehr Hintergrundwissen was sagen?
-
@david83 sagte in [Javascript] Adapter-Instanzen überwachen:
Hi, ich wollte das Script einmal ausprobieren und habe das npm Modul cron-parser aktiviert.
Dann das Log kontrolliert. Folgende Meldungen:2022-07-19 14:18:39.627 error WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) javascript.0 2022-07-19 14:18:39.626 error npm javascript.0 2022-07-19 14:18:39.599 error WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 javascript.0 2022-07-19 14:18:39.598 error npm javascript.0 2022-07-19 14:18:39.577 error WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. javascript.0 2022-07-19 14:18:39.576 error npm javascript.0 2022-07-19 14:18:39.538 error WARN deprecated node-inspect@2.0.0: This module is part of Node.js core and does not need to be installed separately. It is now unmaintained. javascript.0 2022-07-19 14:18:39.537 error npm javascript.0 2022-07-19 14:18:39.480 error WARN deprecated har-validator@5.1.5: this library is no longer supported javascript.0 2022-07-19 14:18:39.479 error npm javascript.0 2022-07-19 14:18:37.412 error WARN config production Use `--omit=dev` instead. javascript.0 2022-07-19 14:18:37.411 error npmIst das so richtig?
Kann zu den Ausgaben im Log jemand mit etwas mehr Hintergrundwissen was sagen?
@david83 sagte in [Javascript] Adapter-Instanzen überwachen:
@david83 sagte in [Javascript] Adapter-Instanzen überwachen:
Hi, ich wollte das Script einmal ausprobieren und habe das npm Modul cron-parser aktiviert.
Dann das Log kontrolliert. Folgende Meldungen:2022-07-19 14:18:39.627 error WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) javascript.0 2022-07-19 14:18:39.626 error npm javascript.0 2022-07-19 14:18:39.599 error WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 javascript.0 2022-07-19 14:18:39.598 error npm javascript.0 2022-07-19 14:18:39.577 error WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. javascript.0 2022-07-19 14:18:39.576 error npm javascript.0 2022-07-19 14:18:39.538 error WARN deprecated node-inspect@2.0.0: This module is part of Node.js core and does not need to be installed separately. It is now unmaintained. javascript.0 2022-07-19 14:18:39.537 error npm javascript.0 2022-07-19 14:18:39.480 error WARN deprecated har-validator@5.1.5: this library is no longer supported javascript.0 2022-07-19 14:18:39.479 error npm javascript.0 2022-07-19 14:18:37.412 error WARN config production Use `--omit=dev` instead. javascript.0 2022-07-19 14:18:37.411 error npmIst das so richtig?
Kann zu den Ausgaben im Log jemand mit etwas mehr Hintergrundwissen was sagen?
Würde mich auch interessieren.
-
@david83 sagte in [Javascript] Adapter-Instanzen überwachen:
Hi, ich wollte das Script einmal ausprobieren und habe das npm Modul cron-parser aktiviert.
Dann das Log kontrolliert. Folgende Meldungen:2022-07-19 14:18:39.627 error WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) javascript.0 2022-07-19 14:18:39.626 error npm javascript.0 2022-07-19 14:18:39.599 error WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 javascript.0 2022-07-19 14:18:39.598 error npm javascript.0 2022-07-19 14:18:39.577 error WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. javascript.0 2022-07-19 14:18:39.576 error npm javascript.0 2022-07-19 14:18:39.538 error WARN deprecated node-inspect@2.0.0: This module is part of Node.js core and does not need to be installed separately. It is now unmaintained. javascript.0 2022-07-19 14:18:39.537 error npm javascript.0 2022-07-19 14:18:39.480 error WARN deprecated har-validator@5.1.5: this library is no longer supported javascript.0 2022-07-19 14:18:39.479 error npm javascript.0 2022-07-19 14:18:37.412 error WARN config production Use `--omit=dev` instead. javascript.0 2022-07-19 14:18:37.411 error npmIst das so richtig?
Kann zu den Ausgaben im Log jemand mit etwas mehr Hintergrundwissen was sagen?
Alles harmlose Hinweise auf Änderungen. Die meisten werden sich mit künftigen Updates erledigen.
-
@acgua said in [Javascript] Adapter-Instanzen überwachen:
Der Auslöser für mich für dieses Script war, dass ich zuverlässig Datenpunkte brauchte, die mir anzeigen, ob eine Adapter-Instanz "läuft".
Ich hab dafür ein kleines Blockly nach diesem Muster: machs-smart.de
Und das funktioniert bisher sehr zuverlässig.
Das meldet, wenn eine Instanz nicht mehr läuft.@wilbur said in [Javascript] Adapter-Instanzen überwachen:
Ich hab dafür ein kleines Blockly nach diesem Muster: machs-smart.de
Und das funktioniert bisher sehr zuverlässig.
Das meldet, wenn eine Instanz nicht mehr läuft.Danke für die Inspirationen hier im Beitrag.
Ich habs auch mit der machs-smart Methode durch Blockly gelöst.Bin zwar Senior Developer (allerdings nicht für JS haha), daher ist dieses grafische Programmieren mal ganz erfrischend :-)
Ich nutze es für die Überwachung des ZigBee Adapters, da ich eine Art Bewegungsmelder realisiert habe und mitbekommen muss, wenn die Geräte selbst durch ausgefallenen Adapter nicht erreichbar sind.
-
@acgua danke, hab die neue Version gleich ausprobiert. :) Vielen dank für die Arbeit. Das log sieht nun so aus:
@ciddi89 said in [Javascript] Adapter-Instanzen überwachen:
@acgua danke, hab die neue Version gleich ausprobiert. :) Vielen dank für die Arbeit. Das log sieht nun so aus:
@frana120500 said in [Javascript] Adapter-Instanzen überwachen:
ich habe auch mal die 0.0.2 ausprobiert und erhalten folgende warnings im log:
@jleg said in [Javascript] Adapter-Instanzen überwachen:
nur FYI - der sonoff-Adapter z.B. enthält per Definition im besagten DP "Liste der verbundenen Geräte" - dürfte also nie "boolean" liefern...
Vielen Dank für eure Rückmeldungen.
Ich werde das Script in einen eigenen Adapter umwandeln, da kann ich einfach vieles besser handhaben im Code als über ein Script im JS-Adapter.
Wird aber noch etwas dauern. -
@acgua said in [Javascript] Adapter-Instanzen überwachen:
Der Auslöser für mich für dieses Script war, dass ich zuverlässig Datenpunkte brauchte, die mir anzeigen, ob eine Adapter-Instanz "läuft".
Ich hab dafür ein kleines Blockly nach diesem Muster: machs-smart.de
Und das funktioniert bisher sehr zuverlässig.
Das meldet, wenn eine Instanz nicht mehr läuft.@wilbur said in [Javascript] Adapter-Instanzen überwachen:
Ich hab dafür ein kleines Blockly nach diesem Muster: machs-smart.de
Und das funktioniert bisher sehr zuverlässig.
Das meldet, wenn eine Instanz nicht mehr läuft.@totaleclipse said in [Javascript] Adapter-Instanzen überwachen:
Danke für die Inspirationen hier im Beitrag.
Ich habs auch mit der machs-smart Methode durch Blockly gelöst.
Bin zwar Senior Developer (allerdings nicht für JS haha), daher ist dieses grafische Programmieren mal ganz erfrischend
Ich nutze es für die Überwachung des ZigBee Adapters, da ich eine Art Bewegungsmelder realisiert habe und mitbekommen muss, wenn die Geräte selbst durch ausgefallenen Adapter nicht erreichbar sind.Sehr gut, wenn es immer zuverlässig funktioniert in diesen Use Cases :relaxed:
Hier wird wohl allerdings nur dersystem.adapter.<Instanz>.connectedDatenpunkt abgefragt. Das funktioniert erst mal auch soweit, aber halt nicht zuverlässig, da es noch weitere Datenpunkte gibt, die auch zu betrachten sind, vor allem im Fehler-Fall des Adapters. Ich habe das teils hier beschrieben: https://github.com/Acgua/ioBroker-Script-Adapter-Instances-Watcher/
Außerdem kann man bei Schedule-Adapter (wie: daswetter) den.connected-State nicht verwenden, der bleibt leer, auch wenn das Schedule zuverlässig läuft (oder nicht). -
@wilbur said in [Javascript] Adapter-Instanzen überwachen:
Ich hab dafür ein kleines Blockly nach diesem Muster: machs-smart.de
Und das funktioniert bisher sehr zuverlässig.
Das meldet, wenn eine Instanz nicht mehr läuft.@totaleclipse said in [Javascript] Adapter-Instanzen überwachen:
Danke für die Inspirationen hier im Beitrag.
Ich habs auch mit der machs-smart Methode durch Blockly gelöst.
Bin zwar Senior Developer (allerdings nicht für JS haha), daher ist dieses grafische Programmieren mal ganz erfrischend
Ich nutze es für die Überwachung des ZigBee Adapters, da ich eine Art Bewegungsmelder realisiert habe und mitbekommen muss, wenn die Geräte selbst durch ausgefallenen Adapter nicht erreichbar sind.Sehr gut, wenn es immer zuverlässig funktioniert in diesen Use Cases :relaxed:
Hier wird wohl allerdings nur dersystem.adapter.<Instanz>.connectedDatenpunkt abgefragt. Das funktioniert erst mal auch soweit, aber halt nicht zuverlässig, da es noch weitere Datenpunkte gibt, die auch zu betrachten sind, vor allem im Fehler-Fall des Adapters. Ich habe das teils hier beschrieben: https://github.com/Acgua/ioBroker-Script-Adapter-Instances-Watcher/
Außerdem kann man bei Schedule-Adapter (wie: daswetter) den.connected-State nicht verwenden, der bleibt leer, auch wenn das Schedule zuverlässig läuft (oder nicht).@acgua said in [Javascript] Adapter-Instanzen überwachen:
Sehr gut, wenn es immer zuverlässig funktioniert in diesen Use Cases :relaxed:
Hier wird wohl allerdings nur dersystem.adapter.<Instanz>.connectedDatenpunkt abgefragt. Das funktioniert erst mal auch soweit, aber halt nicht zuverlässig, da es noch weitere Datenpunkte gibt, die auch zu betrachten sind, vor allem im Fehler-Fall des Adapters. Ich habe das teils hier beschrieben: https://github.com/Acgua/ioBroker-Script-Adapter-Instances-Watcher/
Außerdem kann man bei Schedule-Adapter (wie: daswetter) den.connected-State nicht verwenden, der bleibt leer, auch wenn das Schedule zuverlässig läuft (oder nicht).Danke für die ausführlichen Informationen.
Dann werde ich mir dein Skript wohl doch mal genauer ansehen.
Ich wollte deine Leistung auch keinesfalls schmälern, finde wie gesagt nur die grafische Methode zu "programmieren" sehr angenehm als Abwechslung. Aber natürlich blöd, wenn das nicht alle Fälle abdeckt. -
Hallo @Acgua
Danke für das Skript.
Folgender Log-Eintrag erscheint bei mir, wenn ich eine Instanz lösche:javascript.0 2023-09-11 02:49:27.045 error script.js.Instanz_überprüfen.Instanz_Watcher: TypeError: Cannot read properties of undefined (reading 'name') at AdapterInstance.asyncUpdateInfoVariables (script.js.Instanz_überprüfen.Instanz_Watcher:317:44) at AdapterInstance._initAdapterInstance_StateUpdatesAsync (script.js.Instanz_überprüfen.Instanz_Watcher:298:17) javascript.0 2023-09-11 02:49:27.045 warn script.js.Instanz_überprüfen.Instanz_Watcher: Adapter object 'system.adapter.roomba.0' does not exist for given id 'roomba.0'.Ist dies ein Fehler im Skript?
-
Beim erstmaligen Start des Skripts, habe ich folgendes im Log:
javascript.0 2023-09-11 02:55:26.240 error WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142 javascript.0 2023-09-11 02:55:26.238 error npm javascript.0 2023-09-11 02:55:26.099 error deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. javascript.0 2023-09-11 02:55:26.097 error npm WARN javascript.0 2023-09-11 02:55:26.010 error WARN deprecated node-inspect@2.0.0: This module is part of Node.js core and does not need to be installed separately. It is now unmaintained. javascript.0 2023-09-11 02:55:26.009 error npm javascript.0 2023-09-11 02:55:25.738 error WARN deprecated har-validator@5.1.5: this library is no longer supported javascript.0 2023-09-11 02:55:25.736 error npm -
Hallo, ich habe mich mal an Dein Script getraut.
- Frage kann das Script auch Instancen einer Multihost Umgebung überwachen?
EDIT: Geht wohl, es sind alle Instancen über beide Host gefunden worden. (System.INST_Check) - Anbei eine Fehlermeldung:
17:35:46.981 warn javascript.1 (2941) script.js.SYSTEM.INST_Check: mqtt.0.info.connection returns String "Castrop", but boolean expected. We assume connection is true and continue. 17:35:46.992 warn javascript.1 (2941) script.js.SYSTEM.INST_Check: mqtt.1.info.connection returns String "shellyuni-34945478EBFD", but boolean expected. We assume connection is true and continue. 17:35:46.992 warn javascript.1 (2941) script.js.SYSTEM.INST_Check: mqtt.2.info.connection returns String "shellyuni-3494547906FF", but boolean expected. We assume connection is true and continue.3.Verbesserung: Fehlermeldungen per Whatsapp oder Telegram ausgeben.
Gruß
Michael - Frage kann das Script auch Instancen einer Multihost Umgebung überwachen?
-
Update 14.07.2022:
Hier der Link zum Projekt und Quellcode:
Acgua/ioBroker-Script-Adapter-Instances-Watcher
Ursprüngliche Nachricht vom 26. Juni 2022:
Hi,
ich habe ein Script geschrieben, das ich gedenke, zu veröffentlichen.
Vom Aufbau her gleich in Klassen etc., damit im Fall leicht überführbar in einen Adapter, diesen würde ich aber dann erweitern und auch andere Dinge mit überwachen etc.Frage an euch: Besteht überhaupt Interesse daran? Habt ihr auch diesen Use Case? Denn nur dann mache ich mir die weitere Mühe, das Script "schön" und sicher zu machen, und zu veröffentlichen.
Unten die Erklärung, die ich auch schon mal auf Github angefangen habe, hier noch mit paar Screenshots.
Warum dieses Script? Use Case?
Der Auslöser für mich für dieses Script war, dass ich zuverlässig Datenpunkte brauchte, die mir anzeigen, ob eine Adapter-Instanz "läuft".
Nur so einfach ist das ganze nicht:
Es gibt hauptsächlich Daemon-Adapter und Schedule-Adapter (Link, aber auch weitere, die ich hier aber nicht näher betrachte.Daemon-Adapter sind etwa alexa2, cloud, hue. Schedule-Adapter sind z.B. daswetter, feiertage, ical.
Ob ein Daemon-Adapter läuft, sieht man in den Datenpunkten (Beispiel: cloud, Instanz 0)
system.adapter.cloud.0.aliveundsystem.adapter.cloud.0.connected. Außerdem noch über die Objekteigenschaften vonsystem.adapter.cloud.0, dort zeigtcommon:enabledan, ob die Instanz überhaupt ein- oder ausgeschaltet ist. Zudem bauen noch manche Adapter eine Verbindung zu einem Gerät oder Service auf, hier gibt es dann etwa noch den Datenpunktcloud.0.info.connection. Dies machen aber nicht alle Daemon-Adapter.Schedule-Adapter verhalten sich ganz anders. Diese werden gemäß Zeitplan ("Schedule") regelmäßig neu gestartet und rufen dann z.B. Wetterdaten ab, also etwa im Fall vom Adapter daswetter. Um hier zu wissen, ob der Adapter "aktiv und zuverlässig läuft", ist es wichtig, dass der Adapter angeschaltet ist (sichtbar über Objekteigenschaften von
system.adapter.daswetter.0,common:enabledauftrue), und dass der letzte Zeitplan auch gelaufen ist. Wir wollen schließlich keine alten Wetterdaten am Tablet sehen.Was macht nun dieses Script?
Kurz zusammengefasst:
-
Für jede Adapter-Instanz gibt es u.a. einen Datenpunkt wie etwa
0_userdata.0.System.Adapter-Instanzen.cloud_0.isFunctioning, der auftruegesetzt ist, sobald Instanz eingeschaltet und verbunden ist, und auch – falls Verbindung mit Gerät/Service – auch diese Verbindung steht. Dies bei Daemon-Adapter, bei Schedule-Adapter wird geprüft, ob die Instanz eingeschaltet ist und der letzte Zeitplan (Cron, also Schedule) gelaufen ist.
Beispiel für Daemon-Adapter cloud:

Beispiel für Schedule-Adapter daswetter:

-
Des weiteren gibt es noch eine Zusammenfassung in Datenpunkten, also Liste aller Instanzen, die zwar eingeschaltet sind, aber nicht "laufen", als auch einen Datenpunkt für die Anzahl dieser eingeschalteten, aber nicht laufenden Instanzen.

-
Weiteres wird nach und nach eingebaut, wie einfaches ein- und ausschalten, etc. (was sich bei Schedule-Adapter wieder anders verhält, als bei Daemon-Adapter).
@acgua Das Skript hat bei mir über ein Jahr funktioniert, seit ein paar Wochen erhalte ich jedoch einen Fehler.
javascript.0 2025-03-28 23:00:54.158 error script.js.Instanz_überprüfen.Instanz_Watcher: TypeError: CRON_PARSER.parseExpression is not a function at AdapterInstance.getPreviousCronRun (script.js.Instanz_überprüfen.Instanz_Watcher:578:42) at AdapterInstance.asyncIsInstanceFunctioning (script.js.Instanz_überprüfen.Instanz_Watcher:506:57) at AdapterInstance.asyncUpdateInfoVariables (script.js.Instanz_überprüfen.Instanz_Watcher:357:34) at AdapterInstance._initAdapterInstance_StateUpdatesAsync (script.js.Instanz_überprüfen.Instanz_Watcher:299:17)Kann mir ggfs. jemand helfen, woran das liegen kann?
"Cron-Parser" ist bei der Javascript-Instanz vorhanden.

-