NEWS
Fehler im Script
-
Ich habe ein Script vor einiger Zeit erstellt. Aber seit ein Bekannter von mir das verändert hat während ich weg war hat das Ding einen Fehler, den ich nicht richtig zuordnen kann.
Es wäre nett wenn mir da jemand etwas zur Hand gehen könnte.
Die Fehlermeldung:javascript.0 2024-07-07 10:24:14.691 error at processImmediate (node:internal/timers:478:21) javascript.0 2024-07-07 10:24:14.691 error at Immediate._onImmediate (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/src/lib/adapter/adapter.ts:11200:62) javascript.0 2024-07-07 10:24:14.691 error at Object.stateChange (/opt/iobroker/node_modules/iobroker.javascript/main.js:644:29) javascript.0 2024-07-07 10:24:14.690 error at Object.callback (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1427:38) javascript.0 2024-07-07 10:24:14.690 error at Object.<anonymous> (script.js.Klingel.Klingelsequenz:32:26) javascript.0 2024-07-07 10:24:14.689 error at ErstelleBildsequenz (script.js.Klingel.Klingelsequenz:39:5) javascript.0 2024-07-07 10:24:14.676 error Error in callback: ReferenceError: request is not defined
Das Script
-
Zeile 38 Cam URL?
Bin überhaupt kein JS Typ, aber vielleicht hab ich ja den Fehler gefundenPlus Zeile 6 und 7
Davon ist eine URL ja auskommentiert
-
Error in callback: ReferenceError: request is not defined
request(request.get) ist nicht definiert.
Du solltest das Script auf httpget umstellen, da request auch abgemeldet ist.
-
@tt-tom Danke für die Info.
Das wollte der Kumpel eigentlich machen, weil ich das nicht kapiere wie das geht.
Aber da scheint was schiefgelaufen zu sein. -
-
-
@paul53
Ok, habe das jetzt scheinbar fehlerfrei auf httpget umgestellt, laufe aber in den nächsten Fehlerjavascript.0 2024-07-07 12:22:35.274 error at processTicksAndRejections (node:internal/process/task_queues:95:5) javascript.0 2024-07-07 12:22:35.274 error at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1203:38 javascript.0 2024-07-07 12:22:35.274 error at Object.<anonymous> (script.js.Klingel.Klingelsequenz:46:16) javascript.0 2024-07-07 12:22:35.274 error at ProtectFs.writeFile (/opt/iobroker/node_modules/iobroker.javascript/lib/protectFs.js:70:9) javascript.0 2024-07-07 12:22:35.273 error at checkProtected (/opt/iobroker/node_modules/iobroker.javascript/lib/protectFs.js:21:19) javascript.0 2024-07-07 12:22:35.273 error Error in callback: Error: Permission denied javascript.0 2024-07-07 12:22:35.265 error May not read /opt/iobroker/iobroker-data/files/0_userdata.0/alarm1.jpg - use writeFile instead
-
@chaot sagte: nächsten Fehler
In Zeile 45 fehlen die zu schreibenden Daten.
fs.writeFile(img_path+'/alarm' + BildSequenz + '.jpg', response.data, 'binary', function(err) {
-
@paul53 sagte in Fehler im Script:
response.data,
Danke, das habe ich ergänzt. Aber ich denke, dass ich da irrgendein Rechteproblem habe.
javascript.0 2024-07-07 16:53:14.346 error at processTicksAndRejections (node:internal/process/task_queues:95:5) javascript.0 2024-07-07 16:53:14.346 error at /opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:1203:38 javascript.0 2024-07-07 16:53:14.345 error at Object.<anonymous> (script.js.Klingel.Klingelsequenz:46:16) javascript.0 2024-07-07 16:53:14.345 error at ProtectFs.writeFile (/opt/iobroker/node_modules/iobroker.javascript/lib/protectFs.js:70:9) javascript.0 2024-07-07 16:53:14.344 error at checkProtected (/opt/iobroker/node_modules/iobroker.javascript/lib/protectFs.js:21:19) javascript.0 2024-07-07 16:53:14.343 error Error in callback: Error: Permission denied javascript.0 2024-07-07 16:53:14.335 error May not read /opt/iobroker/iobroker-data/files/0_userdata.0/alarm1.jpg - use writeFile instead
Zeile 12 "premission denied"
-
-
@tt-tom Hm, ok. Ich dachte, dass sich das nur auf Systemordner bezieht. In den Ordner 0_userdata.0 müsste ich doch schreiben können. Der ist doch dazu da oder verstehe ich das falsch?
Oder anders gefragt: Wo kann ich das hinschreiben? -
Bin leider nur am Handy unterwegs. Aber soviel wie ich noch weiß, hat fs nicht alle Rechte oder schreib es nicht richtig. Es gibt aber dafür Befehle, glaube writeFile oder so. Schau mal in die Doku vom Adapter.
-
@chaot sagte in Fehler im Script:
Wo kann ich das hinschreiben?
nicht das wo ist das Problem sondern das wie!
@chaot sagte in Fehler im Script:
use writeFile instead
-
@homoran sagte in Fehler im Script:
@chaot sagte in Fehler im Script:
use writeFile instead
Sag ich ja irgendwas war da.
-
@homoran
Ist das nicht so?fs.writeFile(img_path+'/alarm' + BildSequenz + '.jpg', 'binary', function(err) {
-
@chaot sagte: Ist das nicht so?
Es gibt inzwischen eine Funktion writeFile() des Javascript-Adapters.
Außerdem fehlen in der gezeigten Zeile wieder die zu schreibenden Daten. -
@paul53 Ach so.
Kann ich das dann einfach ersetzen?
ausfs.writeFile(img_path+'/alarm' + BildSequenz + '.jpg', response.data, 'binary', function(err) {
wird
writeFile(img_path+'/alarm' + BildSequenz + '.jpg', response.data, 'binary', function(err) {
-
@chaot sagte: Kann ich das dann einfach ersetzen?
Keine Ahnung. Ich habe die Funktion writeFile() noch nicht benutzt.