NEWS
Parser Wert auslesen aber wie?
-
@g-hawk Ehrlich gesagt ich habe sogar ohne Zahlenkonvertierung das bei mir in einen Datenpunkt geschrieben und ich bekomme diese Fehlermeldungen nicht.
Wenn @Homoran oder ein anderer Blockly Freund nicht helfen kann, dann bin ich hier auch mit meiner Weisheit am Ende. Ich nutze ja sonst kein Blockly.
Ich fürchte, ich bin nun mit meiner Weisheit am Ende - glaube aber nun nicht mehr dass es an dem Script liegt, sondern dass ein anderes Problem vorliegt.
Klick mal auf den Bleistift rechts neben dem Datenpunkt und schau ob wirklich überall Zahl drin steht:
Ich bekomme mit Deinen Daten und mit dem JSONATA keine Fehlermeldung im Log.
Gibts vielleicht noch ein anderes Script oder Instanz die in den Datenpunkt was rein schreibt?
-
{ "common": { "name": "Stromverbrauch_aktuell", "desc": "Manuell erzeugt", "role": "state", "type": "number", "read": true, "write": true, "def": 0, "unit": "W" }, "type": "state", "native": {}, "_id": "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Stromverbrauch_aktuell", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1680442197289 }
Ich habe jetzt eine Minute die Werte beobachtet und er aktualisiert korrekt.
Aber dann kommt auf einemal bei allen drei Datenpunkten: {}
und dann wieder Zahlen.Es wird noch interessanter:
Ich habe das Script gestoppt die Fehlermeldung kommt aber trotzdem jede Minute
-
Starte man die JavaScript Instanz neu. Es sieht aus als ob noch ein Phantom Script mit läuft.
-
@g-hawk Na OK - dann haben wir doch des Rätsels Lösung. Du musst also die leeren Objekte ausfiltern. Wahrscheinlich fragst Du zu oft ab und das mag das Ding nicht.
-
@tt-tom
Hab ich gemacht, keine Änderung.
Ich habe das Script gelöscht, auch keine Änderung.
????
Reboot? -
@g-hawk sagte in Parser Wert auslesen aber wie?:
Es wird noch interessanter:
Ich habe das Script gestoppt die Fehlermeldung kommt aber trotzdem jede MinuteJa dann läuft noch was anderes. - Dann musst Du suchen was da noch rein schreibt. Vielleicht hast Du beim Speichern das ganze dopppelt.
-
@g-hawk sagte in Parser Wert auslesen aber wie?:
@tt-tom
Hab ich gemacht, keine Änderung.
Ich habe das Script gelöscht, auch keine Änderung.
????
Reboot?Na es langt wenn Du den iobroker neu startest.
Auf der Kommandozeile:
iob restart
-
@mickym
Aber das Log sagt ja, das es um das Script geht, das es garnicht mehr gibt.javascript.0 2023-06-25 13:31:01.291 info State value to set for "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Stromverbrauch_aktuell" has to be type "number" but received type "string" javascript.0 2023-06-25 13:31:01.290 info State value to set for "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Einspeisezaehlerstand_aktuell" has to be type "number" but received type "string" javascript.0 2023-06-25 13:31:01.289 info State value to set for "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Hauptzaehlerstand_aktuell" has to be type "number" but received type "string" javascript.0 2023-06-25 13:31:01.099 info script.js_.Strom.Gesamtstrom.Elmo_auslesen: {} javascript.0 2023-06-25 13:31:01.097 warn at processTicksAndRejections (node:internal/process/task_queues:95:5) javascript.0 2023-06-25 13:31:01.097 warn at Object.<anonymous> (script.js_.Strom.Gesamtstrom.Elmo_auslesen:19:3) javascript.0 2023-06-25 13:31:01.096 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1730:20) javascript.0 2023-06-25 13:31:01.094 warn You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Stromverbrauch_aktuell" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become an error in future versions. javascript.0 2023-06-25 13:31:01.092 warn at processTicksAndRejections (node:internal/process/task_queues:95:5) javascript.0 2023-06-25 13:31:01.092 warn at Object.<anonymous> (script.js_.Strom.Gesamtstrom.Elmo_auslesen:18:3) javascript.0 2023-06-25 13:31:01.091 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1730:20) javascript.0 2023-06-25 13:31:01.087 warn You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Einspeisezaehlerstand_aktuell" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become an error in future versions. javascript.0 2023-06-25 13:31:01.086 warn at processTicksAndRejections (node:internal/process/task_queues:95:5) javascript.0 2023-06-25 13:31:01.086 warn at Object.<anonymous> (script.js_.Strom.Gesamtstrom.Elmo_auslesen:17:3) javascript.0 2023-06-25 13:31:01.085 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1730:20) javascript.0 2023-06-25 13:31:01.083 warn You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Hauptzaehlerstand_aktuell" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become an error in future versions.
-
@g-hawk Wie gesagt, wenn Du das Script angehalten hast und es kommen die Meldungen immer noch dann gibts noch was.
Insofern würde @TT-Tom Rat folgen und entweder die JS Instanz oder den ganzen IOB neu starten. Nochmal wenn Du das Script stoppst und die Meldungen kommen noch, dann ist entweder das Script nicht gestoppt oder ein anderes arbeitet noch.
Im Blockly kann man leider nur noch Scriptnamen suchen, sonst könntest Du ja nach allen Strings suchen, die Du zum Parsen verwendest.
-
@mickym
Das ist schon klar, aber ich habe das Script "Elmo_auslesen" gelöscht und es steht aber trotzdem jede Minute im Log.Ich mache einen Neustart und guck mal was passiert
-
@g-hawk Ja geh mal unter die Ghostbusters. - Von der Ferne geht das schlecht.
-
javascript.0 2023-06-25 13:37:01.121 warn at processTicksAndRejections (node:internal/process/task_queues:95:5) javascript.0 2023-06-25 13:37:01.121 warn at Object.<anonymous> (script.js_.Strom.Gesamtstrom.Elmo_auslesen:19:3) javascript.0 2023-06-25 13:37:01.121 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1730:20) javascript.0 2023-06-25 13:37:01.119 warn You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Stromverbrauch_aktuell" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become an error in future versions. javascript.0 2023-06-25 13:37:01.118 warn at processTicksAndRejections (node:internal/process/task_queues:95:5) javascript.0 2023-06-25 13:37:01.118 warn at Object.<anonymous> (script.js_.Strom.Gesamtstrom.Elmo_auslesen:18:3) javascript.0 2023-06-25 13:37:01.117 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1730:20) javascript.0 2023-06-25 13:37:01.116 warn You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Einspeisezaehlerstand_aktuell" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become an error in future versions. javascript.0 2023-06-25 13:37:01.115 warn at processTicksAndRejections (node:internal/process/task_queues:95:5) javascript.0 2023-06-25 13:37:01.115 warn at Object.<anonymous> (script.js_.Strom.Gesamtstrom.Elmo_auslesen:17:3) javascript.0 2023-06-25 13:37:01.114 warn at setState (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1730:20) javascript.0 2023-06-25 13:37:01.112 warn You are assigning a object to the state "0_userdata.0.Geraetesteuerung.Strom.Stromzähler_untere_Wohnung.Elmo_EWE.Hauptzaehlerstand_aktuell" which expects a number. Please fix your code to use a number or change the state type to object. This warning might become an error in future versions.
Diesen Eintrag:
javascript.0
2023-06-25 13:37:01.115 warn at Object.<anonymous> (script.js_.Strom.Gesamtstrom.Elmo_auslesen:17:3)kann es doch garnicht mehr geben
-
@g-hawk sagte in Parser Wert auslesen aber wie?:
kann es doch garnicht mehr geben
warum nicht?
zeig mal die script enabled Datepunkte unter system (experte)
-
@g-hawk sagte in Parser Wert auslesen aber wie?:
Strom.Gesamtstrom.Elmo_auslesen
Hast Du schon mal gesucht?
Ich bin da aber eigentlich raus, da ich kein Blockly oder Javascript nutze - da sind andere VIEL schlauer als ich.
-
@homoran
weil ich das Script gelöscht habe um zu teste, was dann passiert.Ich mache jetzt einen Reboot und guck was dann passiert.
-
@g-hawk sagte in Parser Wert auslesen aber wie?:
Ich mache jetzt einen Reboot
hattest du noch nicht?
@g-hawk sagte in Parser Wert auslesen aber wie?:
weil ich das Script gelöscht
deswegen ja
@homoran sagte in Parser Wert auslesen aber wie?:
zeig mal die script enabled Datepunkte unter system (experte)
ob es wirklich weg ist
-
@homoran
doch iob restart habe ich gemacht
jetzt sudo reboot -
@g-hawk falscher Pfad!
@g-hawk sagte in Parser Wert auslesen aber wie?:
script.js_.Strom.Gesamtstrom.Elmo_auslesen:17:3)
da steht nix von Gerätesteuerung
-
@homoran
Es gibt einen Ordner ohne Namen in dem Scripte drin sind, der wird mir aber nicht angezeigt. -
So wie es aussieht, gibt es diesen unbenannten Ordner in dem Skripte drin sind, die es auch in anderen Ordnern gibt, kann ich denn Ordner ohne Namen einfach löschen?