Hi @kimbel55 ,
ich habe genau das gleiche Problem wie du und habe gefühlt alle Beiträge, die ich zu dem Thema im Internet gefunden habe, 100 mal gelesen.
Auch im issue thread (https://github.com/dhleong/ps4-waker/issues?q=is%3Aissue+is%3Aclosed) auf GitHub war nichts Brauchbares dabei...
Egal auf welche Weise ich den ps4-waker installiert und das NPM-Modul in JS eingebunden habe, war auf meinem Pi nie die cmd.js bzw. das /bin Verzeichnis zu finden.
Im JSScript liefert mir der getDeviceStatus code auch alles ordnungsgemäß zurück, aber starten oder stoppen geht nicht.
ed5df4a5-4b2f-4510-a952-54c3f65c6a40-image.png Auch der exec command klappt nicht und es sieht wie bei euch aus.
Über die Konsole vom Pi klappt es aber mit den einfachen commands "npx ps4-waker", "ps4-waker", "ps4-waker standby".
Leider ließ sich ein simples Shell script mit dem Aufruf nicht sofort in iobroker einbinden und musste etwas tüfteln.
Jetzt habe ich aber eine robuste und zuverlässige Lösung für die Einbindung in Alexa gefunden, die sogar echt fix die PS4 per Sprachbefehl startet und in standby schickt.
Es führen ja bekanntlich viele Wege nach Rom, aber bei mir klappt es nun mit folgendem Umweg:
1. PS4Switch in Node-RED Alexa Home Skill Bridge (https://alexa-node-red.bm.hardill.me.uk/devices#) anlegen
8965d3d9-95dd-435d-bc06-4def1fe989e3-image.png
2. PS4StateSzene in ioBroker anlegen
wird getriggerd von PS4Switch (alexa)
6206cc88-0952-4618-b3fc-52b5ba268a20-image.png
3. Blocky Script für On | Off temp files
wird getriggerd von PS4StateSzene
erzeugt eine temporäre On oder Off datei im filesystem
cat >> /opt/iobroker/node_modules/iobroker.javascript/node_modules/ps4-waker/On
cat >> /opt/iobroker/node_modules/iobroker.javascript/node_modules/ps4-waker/Off
52ae0df4-3c95-4f3d-bbc1-d28a5dee2358-image.png
4. ps4-waker-monitor.sh Script erstellen
Prüft dauerhaft ob eine On oder Off Datei erstellt wurde
Falls ja wird der ps4-waker Befehl ausgeführt und die Datei gelöscht
Rechte:
dddbaf56-9648-44de-a2b5-ce4c16e98133-image.png
#!/bin/bash
# set n to 1
n=1
# continue until $n equals 5
while [ $n -le 50 ]
do
file1="/opt/iobroker/node_modules/iobroker.javascript/node_modules/ps4-waker/On"
file2="/opt/iobroker/node_modules/iobroker.javascript/node_modules/ps4-waker/Off"
if [ -f "$file1" ]
then
echo "Try to start PS4 - $file1 found."
sudo rm $file1
ps4-waker
sleep 5.0
else
#echo "Nothing to do, $file1 not found."
sleep 0.1
fi
if [ -f "$file2" ]
then
echo "Try to stop PS4 - $file2 found."
sudo rm $file2
ps4-waker standby
sleep 5.0
else
#echo "Nothing to do, $file2 not found."
sleep 0.1
fi
sleep 0.5
done
5. ps4-waker-monitor.sh Script schedulen
hiermit wird das script automatisch bei jedem Neustart ausgeführt.
sudo crontab -e
@reboot [Pfad/zum/Befehl]
Es gibt bestimmt elegantere Lösungen, aber ich bin hiermit wirklich glücklich. Bin jetzt komplett von der ioBroker Cloud zu Node-RED umgestiegen und bin begeistert. Der ioBroker Cloud und IoT Adapter war bei mir leider nie so richtig zuverlässig in Verbindung mit Alexa. Meine Lösung für den ps4-waker wäre damit gelaufen, aber sicherlich mit großer Verzögerung. Jetzt wird aber nachdem ich den Sprachbefehlt abgesetzt habe, der Befehl nach ca. 5 Sekunden an die PS4 gesendet. 🙂