NEWS
JAVA Script Adapter - unerklärliche Fehlermeldung
-
@ro75 stimmt, der code ist in Typescript
-
@asgothian said in JAVA Script Adapter - unerklärliche Fehlermeldung:
Zeig mal das ganze Skript - als Text in Code-Tags
ich bin kein IOBroker Profi.
Bitte un genaue Anweisung was und wie ich machen soll -
- Code des Skripts kopieren
- im Forum code tags setzen (</>)
- kopierten Code einfügen
A.
p.s. Das hat nix mit ioBroker zu tun -
@asgothian
Wen der Fehler bei mir ist würde ich den auch selbstverständlich selbst suchen.
Nur wie soll ich das machen, wenn es heisst: Fehler in Zeile 174 und der Code hört bei 137 auf? -
@asgothian sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
Du hast wahrscheinlich ein oder mehrere Skripte unter "common" liegen - die kommen vor Dein Skript.
nicht common, sondern global!
-
@automatisierer-0 sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
@asgothian said in JAVA Script Adapter - unerklärliche Fehlermeldung:
Zeig mal das ganze Skript - als Text in Code-Tags
ich bin kein IOBroker Profi.
Bitte un genaue Anweisung was und wie ich machen sollHinweise und Anleitung gibt's hier
https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1 -
@automatisierer-0 sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
@asgothian
Wen der Fehler bei mir ist würde ich den auch selbstverständlich selbst suchen.
Nur wie soll ich das machen, wenn es heisst: Fehler in Zeile 174 und der Code hört bei 137 auf?TS Code zeilen passen nicht immer zum Compiler output. Deswegen der Wunsch das komplette Skript zu sehen.
A.
-
@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"); }); // ENDE
Wie man sieht ist bei Zeile 137 Schluss.
Und die Fehlermeldung sagt einen Compilerfehler in 174 -
@asgothian
Noch eine Zusatzinfo:
ich meine der Code hat in der Version V6.1.4 keinen Fehler gebracht -
@asgothian
Noch eine Zusatzinfo:
Hier der Auszug aus dem LOG:javascript.0 2024-09-15 21:18:06.340 error at processImmediate (node:internal/timers:485:21) javascript.0 2024-09-15 21:18:06.340 error at Immediate._onImmediate (/opt/iobroker/node_modules/iobroker.javascript/main.js:1732:17) javascript.0 2024-09-15 21:18:06.340 error at /opt/iobroker/node_modules/iobroker.javascript/main.js:2322:17 javascript.0 2024-09-15 21:18:06.339 error at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:2290:37) javascript.0 2024-09-15 21:18:06.339 error at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1956:21) javascript.0 2024-09-15 21:18:06.339 error at new Script (node:vm:116:7) javascript.0 2024-09-15 21:18:06.339 error SyntaxError: Unexpected identifier 'registered' javascript.0 2024-09-15 21:18:06.339 error ^^^^^^^^^^ javascript.0 2024-09-15 21:18:06.339 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 21:18:06.339 error script.js._Wetter_Wind compile failed: at script.js._Wetter_Wind:174
MOD-EDIT: Code in code-tags gesetzt!
-
@automatisierer-0 said in JAVA Script Adapter - unerklärliche Fehlermeldung:
MOD-EDIT: Code in code-tags gesetzt!
Sorry, aber ich fange mit dem nichts an was du mir da schreibst.
Was willst du mir damit sagen? -
@automatisierer-0 sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
Was willst du mir damit sagen?
Dass Ausgaben aus dem Log oder der Konsole in Code-Tags </> gesetzt werden sollen.
Das hat hier im Nachgang ein Moderator für Dich erledigt. -
@asgothian sagte in JAVA Script Adapter - unerklärliche Fehlermeldung:
- Code des Skripts kopieren
- im Forum code tags setzen (</>)
- kopierten Code einfügen
A.
p.s. Das hat nix mit ioBroker zu tunWürde alles gesagt. @Automatisierer-0 mach es einfach.
Ro75
-
@ro75
Wie du oben siehst: Habe ich schon gemacht... -
@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.
-
@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 ? -
@asgothian
Compiliert auf meiner Testkiste auch mit 8.8.3 problemlos. -
@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. -
@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?