NEWS
getState "xxxxxx" not found (3)
-
Hallo,
gibt es eine kleine Funktion um diesen Fehler im Log zu beseitigen?
Ich frage DPs ab, die manchmal keinen Inhalt haben.
Das scheint bei Adaptern mit shedule der Fall zu sein.Dann kommt z.B.
at Object.<anonymous> (script.js.Eigene_Scripte.VIS.Tabelle_Adapter:152:3) javascript.0 2024-03-10 14:17:27.089 warn at processImmediate (node:internal/timers:447:9) javascript.0 2024-03-10 14:17:27.089 warn at runNextTicks (node:internal/process/task_queues:60:5) javascript.0 2024-03-10 14:17:27.089 warn at tabelle_generieren (script.js.Eigene_Scripte.VIS.Tabelle_Adapter:109:20) javascript.0 2024-03-10 14:17:27.089 warn getState "system.adapter.daswetter.0.memHeapUsed" not found (3) javascript.0 2024-03-10 14:17:27.089 warn at Object.<anonymous> (script.js.Eigene_Scripte.VIS.Tabelle_Adapter:152:3) javascript.0 2024-03-10 14:17:27.089 warn at processImmediate (node:internal/timers:447:9) javascript.0 2024-03-10 14:17:27.089 warn at runNextTicks (node:internal/process/task_queues:60:5) javascript.0 2024-03-10 14:17:27.089 warn at tabelle_generieren (script.js.Eigene_Scripte.VIS.Tabelle_Adapter:104:20) javascript.0 2024-03-10 14:17:27.088 warn getState "system.adapter.daswetter.0.cpu" not found (3)
Die DPs existieren, haben aber keinen Inhalt.
Im Blockly kommen die DPs hier vor:
Diese Funktion steckt hinter xxx_vorhanden:
Edit
Für js hab ich was gefunden, aber ka wie ich es für eine Blocklyfunktion umbauen muss.https://forum.iobroker.net/topic/11641/warn-im-log-verhindern-wenn-getstate-null-ist/2
https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#existsState
-
@david-g
Man kann eine Funktion mit folgendem Inhalt für alle IDs verwenden:return existsState(id);
EDIT:
Besser gleich mit Rückgabe des Wertes bzw. "N/A" bei Nichtexistenz.if(existsState(id)) return getState(id).val + unit; return 'N/A';
-
So habe ich es jetzt.
Allerdings habe ich jetzt immer N/A in meiner Tabelle. -
@david-g sagte: So habe ich es jetzt.
Wozu der falls-Block? Die Auswertung ist in der JS-Funktion enthalten. An die JS-Funktion muss die ID übergeben werden - nicht der Wert!
Wo ist die "unit" abgeblieben? Poste bitte den Inhalt der JS-Funktion. -
Mit der ID klappt es jetzt.
Die Abfrage habe ich drinnen, da bei einem beendeten Adapter die letzten Werte im DP stehen bleiben, deshalb prüfe ich, ob das Adapter läuft um ein N/A anzuzeigen und nicht die alten Werte. -
@david-g sagte: deshalb prüfe ich, ob das Adapter läuft um ein N/A anzuzeigen und nicht die alten Werte.
"alive" bleibt bestehen?
-
@david-g Hatte mal das gleiche Problem. Gelöst habe ich es mit dieser Abfrage.
Inhalt
return getStateAsync(objectname);
-
@paul53 sagte in getState "xxxxxx" not found (3):
"alive" bleibt bestehen?
Alive geht auf true und false. Cpu, Ram bleiben aber am letzten Wert.
Ohne die Abfrage hätte ich zB beim beim Bose Adapter noch alte Werte stehen obwohl er nicht läuft.