NEWS
[gelöst] Blockly - Exec Output immer leer
-
@homoran sagte in Blockly - Exec Output immer leer:
ist exec freigegeben im js-Adapter?
ich denke schon, den angeblich funktioniert der befehl - der output zur weiterverarbeitung ist das problem - der kommt nicht zurück (result)
-
ich denke - weiß es aber nicht sicher - es scheint dieses c-programm zu sein - das organisiert den output - das ganze reagiert dann anders als normale linux befehle
-
@denzel1994 evtl würde es funktionieren, wenn man den output in ein file schreibt und dann etwas später das file ausliest und an iobroker über curl und den simple-api adapterl sendet
-
ps5-wake -vPj
klappt leider nicht.
dein befehl | grep "Device" | awk '{print $1}'
klappt auch nicht. Bleibt weiterhin leer.
In eine Datei schreiben könnte tatsächlich funktionieren. Könntest du mir da etwas Hilfestellung mit den entsprechenden Befehlen geben? Am besten wäre es ja die im selben Verzeichnis, wie das Programm abzuspeichern. In der Regel sucht er nicht länger als 5 Sekunden und gibt dann ggf. ein "No device found" aus. Also wäre das auslesen der Datei nach 6 Sekunden sicher möglich.
Wie würde ich das jetzt am besten über Blockly realisieren?
-
@denzel1994 du musst natürlich deinen ganzen befehl mit "j" angeben - mit ip usw
der output würde mich interessiern bevor wir was mit file machen
-
@liv-in-sky hatte ich auch so eingegeben, nur die PS5 war aus und dann wird kein json ausgegeben.
Aber wenn sie läuft oder im Ruhezustand ist klappt es und ich krieg auch im Blockly Skript über result etwas ausgegeben.
pi@ioBroker:~ $ /home/pi/ps5-wake/ps5-wake -vPj -H 192.168.10.8 Device found: PS5-Lars [PS5/78C881D5C5AD]: Home Screen {"code":200,"host_id":"78C881D5C5AD","host_name":"PS5-Lars","host_type":"PS5","running_app_name":null,"running_app_titleid":null,"version":null,"host_request_port":997,"timestamp":1613844934,"fingerprint":"50dedd8e21f32e1097ccdb49455fd1d10c97232e"} pi@ioBroker:~ $ /home/pi/ps5-wake/ps5-wake -vPj -H 192.168.10.8 Device found: PS5-Lars [PS5/78C881D5C5AD]: Standby {"code":620,"host_id":"78C881D5C5AD","host_name":"PS5-Lars","host_type":"PS5","running_app_name":null,"running_app_titleid":null,"version":null,"host_request_port":997,"timestamp":1613844958,"fingerprint":"8aeb8ff35577d9c8544f3bb0441123aab01fd3b8"}
Hier dann der Output vom Blockly, wenn die Konsole im Ruhezustand ist.
javascript.0 (9514) script.js.Automationen.Büro.Skript_2: {"code":620,"host_id":"78C881D5C5AD","host_name":"PS5-Lars","host_type":"PS5","running_app_name":null,"running_app_titleid":null,"version":null,"host_request_port":997,"timestamp":1613845074,"fingerprint":"8aeb8ff35577d9c8544f3bb0441123aab01fd3b8"}
Wenn ich dann mit folgendem Befehl arbeite krieg ich einen Output wenn die Konsole an ist. Wenn der Output leer ist, dann ist die Konsole aus oder im Ruhezustand.
/home/pi/ps5-wake/ps5-wake -vPj -H 192.168.10.8 | grep "200"
Ganz ganz vielen Dank für die Hinweise und die Hilfe
-
@denzel1994 ah - dann hast du alles ?
-
@liv-in-sky Dann hab ich alles, was ich für meinen Anwendungsfall brauche. Hab's schon auf gelöst gesetzt.
Danke Dir nochmal.
-
weil ich eh schon dabei war(und evtl kann's einer gebrauchen) , das ganze über file zu machen - hätte ungefähr so ausgesehen
ls -la> output.txt && sleep 6 && cat output.txt | grep ".mplayer" | { read -d '' x; iobroker state set controll-own.0.AAATEST.TestString1 "$x" true; }
schreibt das gesuchte in ein file und dann wird ein datenpunkt in iobroker gesetzt - habe es aber nur in der konsole über putty getestet
oben siehst du konsole und ganz unten wird der datenpunkt geschrieben
-
@liv-in-sky Kann ich bestimmt auch nochmal gebrauchen. Danke für die Unterstützung