NEWS
JAVA Script Adapter - unerklärliche Fehlermeldung
-
@asgothian
Übrigens: Global ist auch leervar Wind_Max_Minute, Wind_Min_Minute: number; var Wert_Gerundet: number; var Wind_Max_15Minuten: number = 0; var Txt_Debug:string; var i:number; var Arr_Max:number[] = new Array(15) var ANZ_ELEMENTE:number = 15; var DP_ADRESSE:string = "openknx.0.Wetter_(WS).Dachboden.WS_-_DB_-_Wetter_-_FW_Wind_Max_-_15Min" //Arrow Function: 1 Übergabeparameter, kein Retval var My_Debug_Wind = (Txt_Debug: string) => { if (getState("0_userdata.0.Debug.f_debug_Wind").val == 1) { // console.log("------> WIND : " + Txt_Debug); } } //Arrow Function: 1 Übergabeparameter, kein Retval var Wind_SendData = () => { //My_Debug_Wind ("Jetzt den Maximalwert zum KNX senden...") setState("openknx.0.Wetter_(WS).Dachboden.WS_-_DB_-_Wetter_-_FW_Wind_Max_-_15Min", Wind_Max_15Minuten); //setState("openknx.0.Wetter_(WS).Dachboden.WS_-_DB_-_Wetter_-_FW_Wind_Max_-_15Min",12); // Jetzt in die KNX-Datenpunkte eintragen var Knx_Adresse:string; // Jetzt in die KNX-Datenpunkte eintragen for (i = 0; i < ANZ_ELEMENTE; i++) { //My_Debug_Wind ("In der FOR Schleife, i = " + i); Knx_Adresse = "openknx.0.Wetter_(WS).Dachboden.WS_-_DB_-_Wetter_-_FW_Wind_Max_-_15Min" + (i+1); //My_Debug_Wind("IN DER SCHLEIFE --- Die KNX Adresse ist: " + Knx_Adresse + " Zu schreibender Wert = "+ Arr_Max[i]); setState(Knx_Adresse, Arr_Max[i]); } } // Initialisierung console.warn('Initalisierung WIND START'); // Den Debugstatus ausgeben My_Debug_Wind("f_debug_Wind = " + getState("0_userdata.0.Debug.f_debug_Wind").val); Wind_Max_Minute = 0; Wind_Min_Minute = 100; Wind_Max_15Minuten = 0; // Das Wertearray Inititialisieren for (i = 0; i<ANZ_ELEMENTE; i++) { Arr_Max[i] = 0; } console.warn('Initalisierung Wind ENDE'); /* on({id: "openknx.0.Wetter_(WS).Dachboden.WS_-_DB_-_Wetter_-_FW_Wind_Max_-_15Min2" , change: "any"}, async function (obj) { console.error("Trigger: openknx.0.Wetter_(WS).Dachboden.WS_-_DB_-_Wetter_-_FW_Wind_Max_-_15Min2"); console.error("Trigger: openknx.0.Wetter_(WS).Dachboden.WS_-_DB_-_Wetter_-_FW_Wind_Max_-_15Min2"); console.error("Trigger: openknx.0.Wetter_(WS).Dachboden.WS_-_DB_-_Wetter_-_FW_Wind_Max_-_15Min2"); }); */ on({id: "openknx.0.Wetter_(WS).Dachboden.WS_-_DB_-_Wetter_-_FW_Wind_Generalabfrage", change: "any"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.warn("Trigger: WIND Generalabfrage"); Wind_SendData(); console.warn("Trigger: WIND Generalabfrage FERTIG"); }); on({id: 'openknx.0.Wetter_(WS).Dachboden.WS_-_DB_-_Wetter_-_AW_Windgeschwindigkeit', change: "ne"}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; //console.warn("Trigger: WIND Wertänderung"); // Auf 2 Nachkommastellen var Wert_Gerundet = Math.round((value + Number.EPSILON)*100)/100; // return +(Math.round(num + "e+2") + "e-2"); My_Debug_Wind("Windgeschwindigkeit geändert. Neuer (gerundeter) Wert ist: " + Wert_Gerundet + " --> Alter Wert = " + Math.round((oldValue + Number.EPSILON)*100)/100); My_Debug_Wind("Alter Wert von Wind_MIN/MAX_Minute ist: " + Wind_Min_Minute + " / " + Wind_Max_Minute); if (Wert_Gerundet > Wind_Max_Minute) { My_Debug_Wind("Neuer Wert MAX ist größer. Es wird jetzt eingetragen MAX: " + String(Wert_Gerundet)); Wind_Max_Minute = Wert_Gerundet; //My_Debug_Wind("Neuer Wert MAX ist geschrieben. Neuer Wert von Wind_Max_Minute ist: " + String(Wind_Max_Minute)); } if (Wert_Gerundet < Wind_Min_Minute) { My_Debug_Wind("Neuer Wert MIN ist kleiner. Es wird jetzt eingetragen MIN: " + String(Wert_Gerundet)); Wind_Min_Minute = Wert_Gerundet; //My_Debug_Wind('Neuer Wert MIN ist geschrieben. Neuer Wert von Wind_Min_Minute ist: ' + String(Wind_Min_Minute)); } My_Debug_Wind("neuer Wert von Wind_MIN/MAX_Minute ist: " + Wind_Min_Minute + " / " + Wind_Max_Minute); //console.warn("Trigger: WIND Wertänderung FERTIG"); }); schedule("* * * * *", async function () { // Läuft jede Minute //console.warn("Trigger --- Cron läuft"); //My_Debug_Wind("Aktuelle Werte der Liste Max_Minute anzeigen..."); Txt_Debug = ""; for (i = 0; i < ANZ_ELEMENTE; i++) { Txt_Debug += String(Arr_Max[i]); if (i<ANZ_ELEMENTE-1) {Txt_Debug += ' / '; } } My_Debug_Wind(Txt_Debug + " ---> 0 ..14" + " Aktuelle Werte"); // Jetz wird veschoben d.h. Element 14-->15, Element 13-->14 , Element 1-->2 for (i = ANZ_ELEMENTE-1; i > 0; i--) { //My_Debug_Wind("i =" + i); //My_Debug_Wind("i = " + (i) + " Wert = " + Arr_Max[i] + " wird kopiert auf i-2 = " + (i-1) + " Wert = " + Arr_Max[i-1]); Arr_Max[i] = Arr_Max[i-1]; } Arr_Max[0] = Wind_Max_Minute; // Element 0 ist der letzte Minutenwert Wind My_Debug_Wind(" Element 0 eintragen, Element 0 ist der letzte Minutenwert Wind, Wert = " + Wind_Max_Minute); //My_Debug_Wind("Jetzt die verschobenen Werte Max_Minute anzeigen"); Txt_Debug = ""; for (i = 0; i < ANZ_ELEMENTE; i++) { // Nur 1 bis 14 Txt_Debug += String(Arr_Max[i]); if (i<ANZ_ELEMENTE-1) {Txt_Debug += ' / '; } } My_Debug_Wind(Txt_Debug + " ---> 0 ..14" + " Verschobene Werte"); Wind_Max_Minute = 0; Wind_Min_Minute = 100; // Maximalwert der 15 Werte ermitteln Wind_Max_15Minuten = 0; for (i = 0; i < ANZ_ELEMENTE; i++) { if (Arr_Max[i] > Wind_Max_15Minuten) { Wind_Max_15Minuten = Arr_Max[i] } } My_Debug_Wind("Maximalwert der letzten 15 Minuten ist ausgerechnet = "+ Wind_Max_15Minuten); Wind_SendData(); //console.warn("Trigger --- Cron FERTIG"); }); // ENDEWie man sieht ist bei Zeile 137 Schluss.
Und die Fehlermeldung sagt einen Compilerfehler in 174@automatisierer-0 sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
Wie man sieht ist bei Zeile 137 Schluss.
Und die Fehlermeldung sagt einen Compilerfehler in 174Das könnte auch daran liegen, dass er in Zeile 174 etwas erwartet und nicht findet. Klassiker wäre z.B. eine "}" zu wenig, oder ein ";" zuviel...
Sicher dass der Code mal gelaufen ist oder hast du irgendwas kopiert/gelöscht/eingefügt ? -
@automatisierer-0 Bring bitte mal den JS Adapter auf den aktuellen (stable) Stand. Damit gibt es bei mir keine Auffälligkeiten und das Skript kompiliert ohne weiteres.
A.
@asgothian
Compiliert auf meiner Testkiste auch mit 8.8.3 problemlos. -
@automatisierer-0 Bring bitte mal den JS Adapter auf den aktuellen (stable) Stand. Damit gibt es bei mir keine Auffälligkeiten und das Skript kompiliert ohne weiteres.
A.
@asgothian
Wie ich oben geschrieben habe, wurde der Adapter heute gegen Mittag von GitHUB auf V8.8.3 aktualisiert.
Das wurde mir von Thomas Braun aufgetragen.
Siehe: JAVA Script Adapter - Import Scripts nicht möglich
ich benötige 8.8.3 weil in der aktuellen Stable version kann man keine Scripts importieren.Du schreibst:
Bring bitte mal den JS Adapter auf den aktuellen (stable) Stand. Damit gibt es bei mir keine Auffälligkeiten und das Skript kompiliert ohne weiteres.Ich kenne leider mich nicht mehr aus was ich machen soll.
-
@asgothian
Wie ich oben geschrieben habe, wurde der Adapter heute gegen Mittag von GitHUB auf V8.8.3 aktualisiert.
Das wurde mir von Thomas Braun aufgetragen.
Siehe: JAVA Script Adapter - Import Scripts nicht möglich
ich benötige 8.8.3 weil in der aktuellen Stable version kann man keine Scripts importieren.Du schreibst:
Bring bitte mal den JS Adapter auf den aktuellen (stable) Stand. Damit gibt es bei mir keine Auffälligkeiten und das Skript kompiliert ohne weiteres.Ich kenne leider mich nicht mehr aus was ich machen soll.
@automatisierer-0
du kannst wahrscheinlich auf 8.8.3 bleiben, denn@codierknecht sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
@asgothian
Compiliert auf meiner Testkiste auch mit 8.8.3 problemlos. -
@asgothian
Compiliert auf meiner Testkiste auch mit 8.8.3 problemlos.@codierknecht
Compiliert auf meiner Testkiste auch mit 8.8.3 problemlos.Fein, dann liegt es offensichtlich nicht an meinem Code und nicht an der Version V8.8.3
Wer kann mir nun weiter helfen, warum die oben genannten Compilerfehler kommen?
-
@asgothian
Wie ich oben geschrieben habe, wurde der Adapter heute gegen Mittag von GitHUB auf V8.8.3 aktualisiert.
Das wurde mir von Thomas Braun aufgetragen.
Siehe: JAVA Script Adapter - Import Scripts nicht möglich
ich benötige 8.8.3 weil in der aktuellen Stable version kann man keine Scripts importieren.Du schreibst:
Bring bitte mal den JS Adapter auf den aktuellen (stable) Stand. Damit gibt es bei mir keine Auffälligkeiten und das Skript kompiliert ohne weiteres.Ich kenne leider mich nicht mehr aus was ich machen soll.
@automatisierer-0 sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
von GitHUB auf V8.8.3 aktualisiert.
Das wurde mir von Thomas Braun aufgetragen.Von GitHub? Bestimmt nicht. Die Beta-Version aus dem entsprechenden Kanal vielleicht, aber keinen GitHub-Code.
-
@codierknecht
Compiliert auf meiner Testkiste auch mit 8.8.3 problemlos.Fein, dann liegt es offensichtlich nicht an meinem Code und nicht an der Version V8.8.3
Wer kann mir nun weiter helfen, warum die oben genannten Compilerfehler kommen?
@automatisierer-0 da steht dass nichts neu compiliert wird, weil nichts geändert wurde.
dann würde ich mal was ändern und sehen was dann passiert -
@automatisierer-0 da steht dass nichts neu compiliert wird, weil nichts geändert wurde.
dann würde ich mal was ändern und sehen was dann passiert@homoran
ich habe ganz am Anfang eine Variable dazugefügt und den code neu gestartet.
Jetzt kommt die Fehlermeldung um eine Zeile höher (statt 174 auf 175)
Der Code hört jetzt auf zeile 138 statt 137 auf -
@automatisierer-0 sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
von GitHUB auf V8.8.3 aktualisiert.
Das wurde mir von Thomas Braun aufgetragen.Von GitHub? Bestimmt nicht. Die Beta-Version aus dem entsprechenden Kanal vielleicht, aber keinen GitHub-Code.
@thomas-braun
Wenn ich mich nicht täusche steht in dem screenshot:
Den Adapter von GitHUB installieren oder aktualisieren...

-
@thomas-braun
Wenn ich mich nicht täusche steht in dem screenshot:
Den Adapter von GitHUB installieren oder aktualisieren...

Du solltest den markierten Reiter 'npm' wählen.
-
@homoran
ich habe ganz am Anfang eine Variable dazugefügt und den code neu gestartet.
Jetzt kommt die Fehlermeldung um eine Zeile höher (statt 174 auf 175)
Der Code hört jetzt auf zeile 138 statt 137 auf@automatisierer-0
Prinzipiell compiliert das auch im Playground fehlerfrei. Der kennt halt die internen Funktionen von ioBroker nicht. Aber sonst ... -
@homoran
ich habe ganz am Anfang eine Variable dazugefügt und den code neu gestartet.
Jetzt kommt die Fehlermeldung um eine Zeile höher (statt 174 auf 175)
Der Code hört jetzt auf zeile 138 statt 137 auf -
Du solltest den markierten Reiter 'npm' wählen.
@thomas-braun
Ich habe es eh richtig gemacht, weil NPN ist eh der default der angewählt ist.
Ich habe es jetzt zur Sicherheit nochmals gemacht.
Das Problem steht weiterhin an.Die Aussage vom mir, dass ich von GitHUB installiert habe war bedauerlicherweise ein Blödsinn.
Sorry -
@automatisierer-0 hast du denn @Homoran's Einwand befolgt und nach Scripten im Ordner global gesucht? Dazu habe ich keine Antwort lesen können
@fastfoot sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
Dazu habe ich keine Antwort lesen können
@automatisierer-0 sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
Übrigens: Global ist auch leer
aber gezeigt hat er nichts
-
@fastfoot sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
Dazu habe ich keine Antwort lesen können
@automatisierer-0 sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
Übrigens: Global ist auch leer
aber gezeigt hat er nichts
@homoran
Sorry Leute für diese unpräziesen Aussagen von mir.
es ist so:- Allgemeine Skripte(common) ist leer
- Globale Scripte (global): da habe ich 3 TS Scipt und einen JS Script
Bei keinem der vier bekomme ich einen Compilerfehler
Bitte entschuldigt das von mir erzeugte Durcheinander, Sorry
-
@homoran
Sorry Leute für diese unpräziesen Aussagen von mir.
es ist so:- Allgemeine Skripte(common) ist leer
- Globale Scripte (global): da habe ich 3 TS Scipt und einen JS Script
Bei keinem der vier bekomme ich einen Compilerfehler
Bitte entschuldigt das von mir erzeugte Durcheinander, Sorry
@automatisierer-0 sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
Globale Scripte (global): da habe ich 3 TS Scipt und einen JS Script
Bei keinem der vier bekomme ich einen Compilerfehlerdann schau mal nach wieviele Zeilen die TS Skripte haben, und Zieh die Zahl von der in der Fehlermeldung ab. Dann schau was dabei raus kommt.
A.
-
@automatisierer-0 sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
Globale Scripte (global): da habe ich 3 TS Scipt und einen JS Script
Bei keinem der vier bekomme ich einen Compilerfehlerdann schau mal nach wieviele Zeilen die TS Skripte haben, und Zieh die Zahl von der in der Fehlermeldung ab. Dann schau was dabei raus kommt.
A.
@asgothian
Hier eine interessante Beobachtung:Ich habe den Rechner neu gebootet, und im LOG sind noch andere Compilerfehler von anderen Typescript Funktionen.
Es liegt scheinbar nicht an dieser einen von mir vorher geposteten Funktion, sondern scheint ein generelles Problem bei mir zu sein.
Hier der Auszug aus dem Log das eine andere function angibt die auch nicht compiliert werden kann.javascript.0 2024-09-15 22:39:48.702 error at processImmediate (node:internal/timers:485:21) javascript.0 2024-09-15 22:39:48.702 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1732:17) javascript.0 2024-09-15 22:39:48.702 error at /opt/iobroker/node_modules/iobroker.javascript/main.js:2322:17 javascript.0 2024-09-15 22:39:48.702 error at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2290:37) javascript.0 2024-09-15 22:39:48.702 error at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1956:21) javascript.0 2024-09-15 22:39:48.702 error at new Script (node:vm:116:7) javascript.0 2024-09-15 22:39:48.702 error SyntaxError: Unexpected identifier 'registered' javascript.0 2024-09-15 22:39:48.702 error ^^^^^^^^^^ javascript.0 2024-09-15 22:39:48.702 error log(`registered ${__engine.__subscriptions} subscription${__engine.__subscriptions === 1 ? '' : 's'}, ${__engine.__schedules} schedule${__engine.__schedules === 1 ? '' : 's'}, ${__engine.__subscriptionsMessage} message${__engine.__subscriptionsMessage === 1 ? '' : 's'}, ${__engine.__subscriptionsLog} log${__engine.__subscriptionsLog === 1 ? '' : 's'} and ${__engine.__subscriptionsFile} file subscription${__engine.__subscriptionsFile === 1 ? '' : 's'}`); javascript.0 2024-09-15 22:39:48.702 error script.js._Logitech_Werktstatt compile failed: at script.js._Logitech_Werktstatt:363 -
@automatisierer-0 sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
Globale Scripte (global): da habe ich 3 TS Scipt und einen JS Script
Bei keinem der vier bekomme ich einen Compilerfehlerdann schau mal nach wieviele Zeilen die TS Skripte haben, und Zieh die Zahl von der in der Fehlermeldung ab. Dann schau was dabei raus kommt.
A.
@asgothian
Hier mehr infos aus dem LOG:javascript.0 2024-09-15 22:39:48.702 error at processImmediate (node:internal/timers:485:21) javascript.0 2024-09-15 22:39:48.702 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1732:17) javascript.0 2024-09-15 22:39:48.702 error at /opt/iobroker/node_modules/iobroker.javascript/main.js:2322:17 javascript.0 2024-09-15 22:39:48.702 error at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2290:37) javascript.0 2024-09-15 22:39:48.702 error at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1956:21) javascript.0 2024-09-15 22:39:48.702 error at new Script (node:vm:116:7) javascript.0 2024-09-15 22:39:48.702 error SyntaxError: Unexpected identifier 'registered' javascript.0 2024-09-15 22:39:48.702 error ^^^^^^^^^^ javascript.0 2024-09-15 22:39:48.702 error log(`registered ${__engine.__subscriptions} subscription${__engine.__subscriptions === 1 ? '' : 's'}, ${__engine.__schedules} schedule${__engine.__schedules === 1 ? '' : 's'}, ${__engine.__subscriptionsMessage} message${__engine.__subscriptionsMessage === 1 ? '' : 's'}, ${__engine.__subscriptionsLog} log${__engine.__subscriptionsLog === 1 ? '' : 's'} and ${__engine.__subscriptionsFile} file subscription${__engine.__subscriptionsFile === 1 ? '' : 's'}`); javascript.0 2024-09-15 22:39:48.702 error script.js._Logitech_Werktstatt compile failed: at script.js._Logitech_Werktstatt:363 -
@asgothian
Hier mehr infos aus dem LOG:javascript.0 2024-09-15 22:39:48.702 error at processImmediate (node:internal/timers:485:21) javascript.0 2024-09-15 22:39:48.702 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1732:17) javascript.0 2024-09-15 22:39:48.702 error at /opt/iobroker/node_modules/iobroker.javascript/main.js:2322:17 javascript.0 2024-09-15 22:39:48.702 error at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2290:37) javascript.0 2024-09-15 22:39:48.702 error at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1956:21) javascript.0 2024-09-15 22:39:48.702 error at new Script (node:vm:116:7) javascript.0 2024-09-15 22:39:48.702 error SyntaxError: Unexpected identifier 'registered' javascript.0 2024-09-15 22:39:48.702 error ^^^^^^^^^^ javascript.0 2024-09-15 22:39:48.702 error log(`registered ${__engine.__subscriptions} subscription${__engine.__subscriptions === 1 ? '' : 's'}, ${__engine.__schedules} schedule${__engine.__schedules === 1 ? '' : 's'}, ${__engine.__subscriptionsMessage} message${__engine.__subscriptionsMessage === 1 ? '' : 's'}, ${__engine.__subscriptionsLog} log${__engine.__subscriptionsLog === 1 ? '' : 's'} and ${__engine.__subscriptionsFile} file subscription${__engine.__subscriptionsFile === 1 ? '' : 's'}`); javascript.0 2024-09-15 22:39:48.702 error script.js._Logitech_Werktstatt compile failed: at script.js._Logitech_Werktstatt:363@automatisierer-0 einfach mal alle scripte in global deaktivieren und dann testen!
-
@automatisierer-0 einfach mal alle scripte in global deaktivieren und dann testen!
@fastfoot
habe ich gemacht. Dein Tip war super!
Zwei Beobachtungen dazu:-
Wenn ich eine globale Funktion deaktiviere, dann steht oberhalb des Scripts: Instanz ist deaktiviert.
Nach ca 30 Sekunden ist das wieder weg.
Frage: Warum ist das so? -
Wie von dir empfohlen habe ich nacheinenander eine nach der anderen der 4 Functions angehalten.
Wenn die Function "glob_ls_in_time" angehalten war, dann kam der Compilerfehler nicht.
Das ist eine Javascript Function.
Eine weitere Untersuchung hat ergeben, dass diese Function einen Compilerfehler gehabt hat.
Nach der Behebung des Fehlers waren auch die anderen Compilerfehler, die ich oben beschrieben habe weg.
Es war also tatsächlich mein Fehler, Asche über mein Haupt!
- Aber trotzdem:
Bitte liebe Entwickler, könnt ihr irgendetwas machen, dass die vom mir oben beschriebenen Compiler-Folgefehler besser aussagekräftig sind? Das hätte mir voll geholfen.
An alle ein großes Dankeschön für die tatkräftige und hilfreiche Unterstützung!
Vielen Dank! -