NEWS
[gelöst] Rückgabewert aus Linux .sh Script an iobroker
-
Hallo Forum,
irgendwo habe ich noch einen Fehler - bin nur zu doof ihn zu finden.
Mein Script:#!/bin/sh if [ ! -f /media/onedrive/iobroker_check ]; then echo 0 else echo 1 fi
Ich prüfe hier, ob ein per rclone eingebundenes onedrive noch richtig gemountet ist.
Mein Blockly Script sieht nun so aus:
// rclone onedrive exec('/home/pi/iobroker/check_rclone.sh', function (error, result, stderr) { console.log(result); if (result == 0) { sendTo("email", "send", { text: 'Der rclone onedrive mount ist fehlerhaft.', to: 'xxx', subject: 'IOBROKER: Onedrive Problem erkannt' }); } else { sendTo("email", "send", { text: 'Der rclone onedrive mount ist noch da.', to: 'xxx', subject: 'IOBROKER: Onedrive ALLES OK' }); } });
Der Rückgabewert im Terminal ist korrekt => 1
Der Rückgabewert den iobroker zeigt ist immer 0.22:15:39.007 info javascript.0 (8243) script.js.common.Überwachung_iobrocker: 0 22:16:38.992 info javascript.0 (8243) script.js.common.Überwachung_iobrocker: 0 22:17:38.991 info javascript.0 (8243) script.js.common.Überwachung_iobrocker: 0 22:18:38.995 info javascript.0 (8243) script.js.common.Überwachung_iobrocker: 0 22:19:38.996 info javascript.0 (8243) script.js.common.Überwachung_iobrocker: 0
Ich steht total auf dem Schlauch, kann mir jemand helfen?
Danke.
-
@Mirko-Hufnagel Mal den error Wert ausgegeben console.log(error)?
Bitte auch mal Blockly Bild zeigen. -
Error log: 23:12:16.835 info javascript.0 (8243) script.js.common.Überwachung_iobrocker: null
result: 23:12:16.836 info javascript.0 (8243) script.js.common.Überwachung_iobrocker: 0 -
@Mirko-Hufnagel Mit Scripten .sh kenne ich mich nicht so aus, kann es evtl mit dem User zusammenhängen? ioBroker (exec) pi (Konsole)?
Vielleicht muss das Script im iobroker-data -Verzeichnis liegen? -
@MCU hey klar! Super, vielen Dank. Genau das ist das Problem.
Manchmal steht man echt auf den Schlauch. -
@Mirko-Hufnagel Bitte im ersten Post in der Überschrift als [gelöst] am Anfang kennzeichnen. Danke.
-
Nur zur Lösung, falls jemand über den Eintrag stolpert:
rclone --vfs-cache-mode writes mount onedrive: /media/onedrive --allow-other
Wichtig ist das --allow-other, sonst kann der iobroker nicht auf das rclone mount zugreifen.