NEWS
SOLVED [gelöst] Nach Umzug auf NUC funktioniert "wget --output-document" nicht mehr
-
OK.
Musst wohl scheinbar doch einen Debug Baustein verwenden. Wenn du im Baustein auf Debug stellst scheint er die Befehle nicht auszuführen. Keine Ahnung ob das so gewollt ist.
-
Also ich hatte nicht den Block auf debug gestellt sondern oben rechts das ganze Skript.
Wenn ich im exec block bei loglevel debug eingebe passiert nichts. Muss ich jetzt in die klammer die jetzt gekommen ist noch einen debug block hinzufügen?
-
Wenn du das im Javascript Editor umgestellt hast ist es normal das nichts ausgeführt wird.
Im Exec block hätte ich eine Ausgabe im log erwartet. Kannst zur Sicherheit mal einen extra Debug block einfügen.
Welche Klammer die extra gekommen ist ?
-
Mittlerweile bin ich der Meinung dass es vielleicht etwas mit der Version von der Javascript Instanz zu tun hat.
Installiert auf dem alten raspberry pi Version 3.6.4
Installiert auf neuen NUC Version 4.1.8 (bei verfügbar steht aber nur 3.6.5)Jetzt bin ich am überlegen ob ich ein downgrade machen soll, oder nicht... Im Moment mache ich es so als Übergangslösung, dass die Bilder von den Kameras vom alten pi gespeichert und von dort aus per telegram verschickt werden.
Ist einer der beiden Varianten richtig? Mit der Klammer meinte ich wenn man den Debug Block wie auf dem unteren Beispiel in den exec Block einfügt.
-
ich habe den Fehler gefunden!!!!
Es war "eigentlich" ganz einfach. Und zwar hat die Javascript Instanz keine Berechtigung in dem Ordner /opt/ etwas zu schreiben. Wenn ich hingegen den Ordner /home/iobroker verwende, dann funktioniert der exec Befehl.
Es liegt wohl daran das die Instanz mit dem user iobroker läuft und nicht mit root. Aber egal bin auf jeden Fall happy das ich den Grund gefunden habe, trotzdem Danke an alle!
-
Danke für die Info, das ist gut zu wissen wenn ich mal neu installieren muss.
-
Hi,
ich habe genau das gleiche Problem.
Nach Umzug auf den NUC kann ich kein wget mehr ausführen.
Auch das Ändern des Verzeichnisses hilft nicht.Ich betreibe Win10 aber nativ auf dem NUC.
Eine Fehlermeldung bekomme ich im log nicht.Javascript Version ist 4.1.16
-
Auch ich habe meine Lösung selbst gefunden
wget war gar nicht installiert...Einfach nachinstallieren, wie hier.
-
Hallo zusammen,
jetzt muß ich doch mal fragen. Mir ist jetzt mal aufgefallen, dass mir kein Bild mehr gesendet wird, wenn es klingelt. Hat aber immer funktioniert. Da ich nicht wirklich drauf geachtet habe kann ich auch nicht 100% sagen was in der letzten Zeit passiert ist. Ich habe aber letztens auf Javascript 6.0.3 geupdatet, falls das was zu sagen hat.
Blockly:
wget --output-document /opt/iobroker/iobroker-data/files/vis.0/Viehstiege/img/IPCam/Klingel.jpg "http://xxx.xxx.x.xxx:uuuuu/picture/1/current/"
Sende ich den "wget" manuell über die Console funktioniert es so wie es soll. Scheint also als ob im Blockly da was nicht läuft, aber ich sehe einfach nicht was.
Zu dem oben geschriebenen:
- wget ist installiert und funktioniert
- Ordner /home/iobroker/ bringt selbes negatives Ergebnis
- doppelte Anführungszeichen habe ich ebenfalls drin .. aber auch nur weil ich das hier gelesen habe. Hatte vorher immer die einfachen drin und hat auch funktioniert.
Hoffe jemand hat hier eine Idde.
Danke -
@x-oli sagte in [gelöst] Nach Umzug auf NUC funktioniert "wget --output-document" nicht mehr:
/opt/iobroker/iobroker-data/files/vis.0/Viehstiege/img/IPCam/Klingel.jpg
Teste mal hiermit :
-
url_snapshot = 'http://xxx.xxx.x.xxx:uuuuu/picture/1/current/'; on({id: '0_userdata.0.Trigger.Klingel', val: true}, async function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; await etwas_tun(); }); async function etwas_tun() { var fs = require('fs'); request.get({url: url_snapshot, encoding: 'binary'}, function (err, response, body) { fs.writeFile('/opt/iobroker/iobroker-data/files/vis.0/Viehstiege/img/IPCam/Klingel.jpg', body, 'binary', function(err) { if (err) { console.error(err); } else { console.log('Eingang sent'); sendTo('telegram.0', {text: '/opt/iobroker/iobroker-data/files/vis.0/Viehstiege/img/IPCam/Klingel.jpg', caption: 'Es hat geklingelt !'}); } }); }); }
Ändert leider nichts. Wie wird das Script denn ausgelöst ? Mein Trigger muß ja irgendwo auf "true" geschalten werden ? Für mich wäre es einfacher es im Blockly zu verstehen
Zumal das ja definitiv alles schon funktioniert hat.
-
@x-oli also, ein generelles Problem kann es sein wenn du den Befehl auf Console von Hand getestet hast.
Dann erstellst du die Zieldatei unter einem anderen Benutzer als dein Blockly Skript. Das nutzt nämlich den Benutzeriobroker
und kann die Datei dann ggf. nicht überschreiben. Also Datei einmal löschen.
Zudem würde ich solche Dateien immer eher nach/tmp/
schreiben, und nicht in einen der ioBroker / VIS Ordner (die ignorieren die Datei doch wenn die nicht "sauber" hochgeladen/eingebunden wird)Ich nutze übrigends in meinem Blockly mit ähnlichen Aufruf keine
"
sondern'
-
@x-oli sagte in [gelöst] Nach Umzug auf NUC funktioniert "wget --output-document" nicht mehr:
.Warum im Verzeichniss von ioBroker mit wget ballern ... deshalb habe ich den Pfad auch rot markiert.
@bananajoe sagte in [gelöst] Nach Umzug auf NUC funktioniert "wget --output-document" nicht mehr:
Zudem würde ich solche Dateien immer eher nach /tmp/ schreiben, und nicht in einen der ioBroker / VIS Ordner (die ignorieren die Datei doch wenn die nicht "sauber" hochgeladen/eingebunden wird)richtig , das wird sauber mit ... dort hin gelegt
iob file write
Wie wird das Script denn ausgelöst ?
nimm das Test Script lege es in JS passe deine URL an und starte es einmal .
-
Ich werde mir das mal zu Herzen nehmen und den Zielordner anpassen.
Bei mir funktioniert es jetzt wieder. Mir ist aufgefallen, dass mein Trigger nicht mehr ausgelöst hat .. nur noch manuel. Hieß für mich mit dem Unifi-Protect Adapter stimmte was nicht .. den hab ich neu gestartet und jetzt laufen beide Scripte. Also das von "Glasfaser" läuft auch prima. Für 1 werde mich nun entscheiden müssen
Vielen Dank