NEWS
[gelöst] Update JS Adapter 5.7.0: Datenpunkte nicht gelesen
-
Ich habe jetzt erst einmal das automatische Anlegen der Datenpunkte ausgeklammert, damit die Meldungen nicht dauernd kommen.
Das kann natürlich keine Dauerlösung sein. -
Ich habe jetzt erst einmal das automatische Anlegen der Datenpunkte ausgeklammert, damit die Meldungen nicht dauernd kommen.
Das kann natürlich keine Dauerlösung sein.@andreas-5 schau mal da
https://forum.iobroker.net/post/659731 -
@andreas-5 schau mal da
https://forum.iobroker.net/post/659731 -
@crunchip Danke, aber das werde ich mir morgen erst durchlesen, die 466 oder so Posts. ;-)
Ich werde dann berichten.@andreas-5 das was du wissen musst, steht direkt im ersten Beitrag, da ist auch das Script verlinkt um die Folder einzurichten
-
@andreas-5 das was du wissen musst, steht direkt im ersten Beitrag, da ist auch das Script verlinkt um die Folder einzurichten
@crunchip Danke, habe ich noch schnell ausprobiert, hat aber auch den gewünschten Erfolg nicht gebracht.
Da muss ich dann doch einmal in Ruhe dran, aber heute nicht mehr. Bin zu müde und dann baue ich doch nur Mist. ;-) -
Nun habe ich die beiden angegebenen Skripte beide getestet, leider brachte das keine Änderung.
Dann habe ich Stichpunktartig die Ordner geprüft, diese sind vom Typ 'folder'.Die Frage ist jetzt, was sich in der neuen Javascript-Version sonst noch geändert hat, dass mein Skript nicht mehr richtig funktioniert.
Hier auch einmal der Teil des Skript, um den es gibt:
// Für jeden Datenpunkt zuerst prüfen, ob ein entsprechender Merkerpunkt existiert. // Wenn nicht, dann anlegen. var ueberschreiben = false; var datenpunkt = "Merker."; // Hauptdatenpunkt unterhalb javascript var merkerpfad = "DachlukeUndHeizung."; var pruefpunkt = [ "shelly.0.SHSW-25#E098068D407F#1.Shutter.Position" , "hm-rpc.0.000A1D8997D439.1.SET_POINT_TEMPERATURE" /*Hz Flur*/ , "hm-rpc.0.000A1D8997D434.1.SET_POINT_TEMPERATURE" /*Hz Eßzimmer*/ , "hm-rpc.0.000A1D8997D441.1.SET_POINT_TEMPERATURE" /*Hz Küche*/ ]; var typ = [ "number" , "number" , "number" , "number" ]; // 1 - Zustandsprüfung (0/1) // 2 - Wert prüfen var auswertung = [ 2 , 2 , 2 , 2 ]; var ausgabe = [ " Dachluke " , " Soll Flur " , "Soll Esszimmer " , " Soll Küche " ]; for (var i = 0; i < pruefpunkt.length; i++){ if (!existsState(datenpunkt + merkerpfad + pruefpunkt[i])){ createState(datenpunkt + merkerpfad + pruefpunkt[i], "", ueberschreiben, { name: pruefpunkt[i], desc: "Zustandspruefung", type: typ[i], role: "value", unit: "" }); var hilf = "Datenpunkt " + merkerpfad + pruefpunkt[i] + " erstellt!"; log(hilf); } }Und ein Ausschnitt aus dem Log:
22:14:00.008 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D434.1.SET_POINT_TEMPERATURE erstellt! 22:14:00.008 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D441.1.SET_POINT_TEMPERATURE erstellt! 22:15:00.056 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.shelly.0.SHSW-25#E098068D407F#1.Shutter.Position erstellt! 22:15:00.057 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D439.1.SET_POINT_TEMPERATURE erstellt! 22:15:00.059 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D434.1.SET_POINT_TEMPERATURE erstellt! 22:15:00.059 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D441.1.SET_POINT_TEMPERATURE erstellt! 22:16:00.006 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.shelly.0.SHSW-25#E098068D407F#1.Shutter.Position erstellt! 22:16:00.007 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D439.1.SET_POINT_TEMPERATURE erstellt! 22:16:00.007 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D434.1.SET_POINT_TEMPERATURE erstellt! 22:16:00.008 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D441.1.SET_POINT_TEMPERATURE erstellt!Und die Datenpunkte:
Die Grafikdatei hochladen ging nicht. Da kam eine Fehlermeldung "Fehler beim Auswerten der Serverantwort". Sagt mir so nichts.
-
Nun habe ich die beiden angegebenen Skripte beide getestet, leider brachte das keine Änderung.
Dann habe ich Stichpunktartig die Ordner geprüft, diese sind vom Typ 'folder'.Die Frage ist jetzt, was sich in der neuen Javascript-Version sonst noch geändert hat, dass mein Skript nicht mehr richtig funktioniert.
Hier auch einmal der Teil des Skript, um den es gibt:
// Für jeden Datenpunkt zuerst prüfen, ob ein entsprechender Merkerpunkt existiert. // Wenn nicht, dann anlegen. var ueberschreiben = false; var datenpunkt = "Merker."; // Hauptdatenpunkt unterhalb javascript var merkerpfad = "DachlukeUndHeizung."; var pruefpunkt = [ "shelly.0.SHSW-25#E098068D407F#1.Shutter.Position" , "hm-rpc.0.000A1D8997D439.1.SET_POINT_TEMPERATURE" /*Hz Flur*/ , "hm-rpc.0.000A1D8997D434.1.SET_POINT_TEMPERATURE" /*Hz Eßzimmer*/ , "hm-rpc.0.000A1D8997D441.1.SET_POINT_TEMPERATURE" /*Hz Küche*/ ]; var typ = [ "number" , "number" , "number" , "number" ]; // 1 - Zustandsprüfung (0/1) // 2 - Wert prüfen var auswertung = [ 2 , 2 , 2 , 2 ]; var ausgabe = [ " Dachluke " , " Soll Flur " , "Soll Esszimmer " , " Soll Küche " ]; for (var i = 0; i < pruefpunkt.length; i++){ if (!existsState(datenpunkt + merkerpfad + pruefpunkt[i])){ createState(datenpunkt + merkerpfad + pruefpunkt[i], "", ueberschreiben, { name: pruefpunkt[i], desc: "Zustandspruefung", type: typ[i], role: "value", unit: "" }); var hilf = "Datenpunkt " + merkerpfad + pruefpunkt[i] + " erstellt!"; log(hilf); } }Und ein Ausschnitt aus dem Log:
22:14:00.008 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D434.1.SET_POINT_TEMPERATURE erstellt! 22:14:00.008 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D441.1.SET_POINT_TEMPERATURE erstellt! 22:15:00.056 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.shelly.0.SHSW-25#E098068D407F#1.Shutter.Position erstellt! 22:15:00.057 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D439.1.SET_POINT_TEMPERATURE erstellt! 22:15:00.059 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D434.1.SET_POINT_TEMPERATURE erstellt! 22:15:00.059 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D441.1.SET_POINT_TEMPERATURE erstellt! 22:16:00.006 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.shelly.0.SHSW-25#E098068D407F#1.Shutter.Position erstellt! 22:16:00.007 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D439.1.SET_POINT_TEMPERATURE erstellt! 22:16:00.007 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D434.1.SET_POINT_TEMPERATURE erstellt! 22:16:00.008 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D441.1.SET_POINT_TEMPERATURE erstellt!Und die Datenpunkte:
Die Grafikdatei hochladen ging nicht. Da kam eine Fehlermeldung "Fehler beim Auswerten der Serverantwort". Sagt mir so nichts.
@andreas-5
existsState(id) benötigt eine vollständige ID:if (!existsState('javascript.0.' + datenpunkt + merkerpfad + pruefpunkt[i])){ -
Nun habe ich die beiden angegebenen Skripte beide getestet, leider brachte das keine Änderung.
Dann habe ich Stichpunktartig die Ordner geprüft, diese sind vom Typ 'folder'.Die Frage ist jetzt, was sich in der neuen Javascript-Version sonst noch geändert hat, dass mein Skript nicht mehr richtig funktioniert.
Hier auch einmal der Teil des Skript, um den es gibt:
// Für jeden Datenpunkt zuerst prüfen, ob ein entsprechender Merkerpunkt existiert. // Wenn nicht, dann anlegen. var ueberschreiben = false; var datenpunkt = "Merker."; // Hauptdatenpunkt unterhalb javascript var merkerpfad = "DachlukeUndHeizung."; var pruefpunkt = [ "shelly.0.SHSW-25#E098068D407F#1.Shutter.Position" , "hm-rpc.0.000A1D8997D439.1.SET_POINT_TEMPERATURE" /*Hz Flur*/ , "hm-rpc.0.000A1D8997D434.1.SET_POINT_TEMPERATURE" /*Hz Eßzimmer*/ , "hm-rpc.0.000A1D8997D441.1.SET_POINT_TEMPERATURE" /*Hz Küche*/ ]; var typ = [ "number" , "number" , "number" , "number" ]; // 1 - Zustandsprüfung (0/1) // 2 - Wert prüfen var auswertung = [ 2 , 2 , 2 , 2 ]; var ausgabe = [ " Dachluke " , " Soll Flur " , "Soll Esszimmer " , " Soll Küche " ]; for (var i = 0; i < pruefpunkt.length; i++){ if (!existsState(datenpunkt + merkerpfad + pruefpunkt[i])){ createState(datenpunkt + merkerpfad + pruefpunkt[i], "", ueberschreiben, { name: pruefpunkt[i], desc: "Zustandspruefung", type: typ[i], role: "value", unit: "" }); var hilf = "Datenpunkt " + merkerpfad + pruefpunkt[i] + " erstellt!"; log(hilf); } }Und ein Ausschnitt aus dem Log:
22:14:00.008 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D434.1.SET_POINT_TEMPERATURE erstellt! 22:14:00.008 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D441.1.SET_POINT_TEMPERATURE erstellt! 22:15:00.056 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.shelly.0.SHSW-25#E098068D407F#1.Shutter.Position erstellt! 22:15:00.057 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D439.1.SET_POINT_TEMPERATURE erstellt! 22:15:00.059 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D434.1.SET_POINT_TEMPERATURE erstellt! 22:15:00.059 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D441.1.SET_POINT_TEMPERATURE erstellt! 22:16:00.006 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.shelly.0.SHSW-25#E098068D407F#1.Shutter.Position erstellt! 22:16:00.007 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D439.1.SET_POINT_TEMPERATURE erstellt! 22:16:00.007 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D434.1.SET_POINT_TEMPERATURE erstellt! 22:16:00.008 info javascript.0 (19112) script.js.common.Steuerung.Dachluke_und_Heizung: Datenpunkt DachlukeUndHeizung.hm-rpc.0.000A1D8997D441.1.SET_POINT_TEMPERATURE erstellt!Und die Datenpunkte:
Die Grafikdatei hochladen ging nicht. Da kam eine Fehlermeldung "Fehler beim Auswerten der Serverantwort". Sagt mir so nichts.
@andreas-5 sagte in Update JS Adapter 5.7.0: Datenpunkte werden nicht gelesen:
Da kam eine Fehlermeldung "Fehler beim Auswerten der Serverantwort". Sagt mir so nichts.
einfach nochmal probieren
-
@andreas-5
existsState(id) benötigt eine vollständige ID:if (!existsState('javascript.0.' + datenpunkt + merkerpfad + pruefpunkt[i])){@paul53 sagte in Update JS Adapter 5.7.0: Datenpunkte werden nicht gelesen:
@andreas-5
existsState(id) benötigt eine vollständige ID:if (!existsState('javascript.0.' + datenpunkt + merkerpfad + pruefpunkt[i])){Ok, das war's. Danke!
Das hat sich dann aber mit dem Update geändert, weil das Skript habe ich nicht geändert.
createState und setState brauchen das anscheinend nicht, oder?
Ich gehe aber davon aus, dass man den kompletten Pfad da auch angeben kann. Das werde ich dann jetzt so umbauen, damit das durchgängig gleich ist. -
@andreas-5 sagte in Update JS Adapter 5.7.0: Datenpunkte werden nicht gelesen:
Da kam eine Fehlermeldung "Fehler beim Auswerten der Serverantwort". Sagt mir so nichts.
einfach nochmal probieren
@homoran sagte in Update JS Adapter 5.7.0: Datenpunkte werden nicht gelesen:
@andreas-5 sagte in Update JS Adapter 5.7.0: Datenpunkte werden nicht gelesen:
Da kam eine Fehlermeldung "Fehler beim Auswerten der Serverantwort". Sagt mir so nichts.
einfach nochmal probieren
Hatte es schon 3 mal probiert.
Hatte auch die Datei schon verkleinert.
Da es nicht mehr zur Problemlösung beiträgt, braucht es das ja jetzt nicht mehr. ;-) -
@paul53 sagte in Update JS Adapter 5.7.0: Datenpunkte werden nicht gelesen:
@andreas-5
existsState(id) benötigt eine vollständige ID:if (!existsState('javascript.0.' + datenpunkt + merkerpfad + pruefpunkt[i])){Ok, das war's. Danke!
Das hat sich dann aber mit dem Update geändert, weil das Skript habe ich nicht geändert.
createState und setState brauchen das anscheinend nicht, oder?
Ich gehe aber davon aus, dass man den kompletten Pfad da auch angeben kann. Das werde ich dann jetzt so umbauen, damit das durchgängig gleich ist.@andreas-5 sagte: Das hat sich dann aber mit dem Update geändert
Ich kann mich nicht erinnern, dass existsState(id) jemals mit der verkürzten ID funktioniert hätte. Vermutlich hast Du die Prüfung mit existsState(id) nachträglich eingefügt.
@andreas-5 sagte in [gelöst] Update JS Adapter 5.7.0: Datenpunkte nicht gelesen:
createState und setState brauchen das anscheinend nicht, oder?
Für Datenpunkte unter "javascript.N" (N = JS-Instanz) akzeptieren diese Funktionen die verkürzte Schreibweise.
@andreas-5 sagte in [gelöst] Update JS Adapter 5.7.0: Datenpunkte nicht gelesen:
Ich gehe aber davon aus, dass man den kompletten Pfad da auch angeben kann.
Ja.
-
@paul53 sagte in [gelöst] Update JS Adapter 5.7.0: Datenpunkte nicht gelesen:
@andreas-5 sagte: Das hat sich dann aber mit dem Update geändert
Ich kann mich nicht erinnern, dass existsState(id) jemals mit der verkürzten ID funktioniert hätte. Vermutlich hast Du die Prüfung mit existsState(id) nachträglich eingefügt.
Nein, das lief bis ich das Javascript-Update gemacht habe, am Skript habe ich nichts geändert.
Aber egal, ich werde mir angewöhnen, immer die komplette Id zu nutzen.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden