cmdswitch & ps4-waker WOL
-
-
Das ist der Logauszug davon:
[2019-2-1 06:13:09] [CMD Switch] Turning off Playstation took too long [1s], assuming success.
[2019-2-1 06:13:10] [CMD Switch] Failed to turn off Playstation
[2019-2-1 06:13:10] [CMD Switch] Unexpected error:30 / LOGIN_MGR_BUSY
Error: Failed to login: LOGIN_MGR_BUSY (30)
at errorFromResult (/usr/local/lib/node_modules/ps4-waker/dist/device.js:452:16)
at /usr/local/lib/node_modules/ps4-waker/dist/device.js:459:21
at Generator.next (<anonymous>)
at asyncGeneratorStep (/usr/local/lib/node_modules/ps4-waker/dist/device.js:19:103)
at _next (/usr/local/lib/node_modules/ps4-waker/dist/device.js:21:194)
at /usr/local/lib/node_modules/ps4-waker/dist/device.js:21:364
at new Promise (<anonymous>)
at /usr/local/lib/node_modules/ps4-waker/dist/device.js:21:97
at Device.login (/usr/local/lib/node_modules/ps4-waker/dist/device.js:475:7)
at /usr/local/lib/node_modules/ps4-waker/dist/device.js:407:20
[2019-2-1 06:13:31] [CMD Switch] Playstation is on.
Könntest du mir dann bitte weiterhelfen damit. Bin absoluter neuling was HomeBridge angeht.
LG und Danke
Den CMD-Swtich nutze ich, nicht. Funktioniert der PS4Waker bei dir so wie er soll ohne den CMD-Switch? Also direkt über das Terminal oder wie du halt auch die Befehle dann ausführst auf deinen Pi, etc.?
Das ist der Auszug der mir direkt aus der Konsole angezeigt wird wenn ich den Befehl direkt ausführe
sudo ps4-waker standby
WAKEUP sent to device... 192.168.2.33
Logging in...
Unexpected error:30 / LOGIN_MGR_BUSY
Error: Failed to login: LOGIN_MGR_BUSY (30)
at errorFromResult (/usr/local/lib/node_modules/ps4-waker/dist/device.js:452:16)
at /usr/local/lib/node_modules/ps4-waker/dist/device.js:459:21
at Generator.next (<anonymous>)
at asyncGeneratorStep (/usr/local/lib/node_modules/ps4-waker/dist/device.js:19:103)
at _next (/usr/local/lib/node_modules/ps4-waker/dist/device.js:21:194)
at /usr/local/lib/node_modules/ps4-waker/dist/device.js:21:364
at new Promise (<anonymous>)
at /usr/local/lib/node_modules/ps4-waker/dist/device.js:21:97
at Device.login (/usr/local/lib/node_modules/ps4-waker/dist/device.js:475:7)
at /usr/local/lib/node_modules/ps4-waker/dist/device.js:407:20
Hallo
kann ich die PS4 über den ps4 Walker und cmd switch komplett ausschalten oder kann ich die PS4 nur in den Stand by Modus versetzen.
Bin mir nicht ganz sicher, aber bin der Meinung, dass die PS4 nur in den Standby Modus geht, da sie sonst nicht mehr ansprechbar wäre.
Hast du die PS4 und den ps4-waker gemäß der Anleitung und Zuhilfenahme der Playstation Second Screen App pairen können?
Nach erfolgreicher Installation sollte der waker einmal über „ps4-waker“ gestartet werden, daraufhin erscheint eine Aufforderung in der Shell, das Pairing durchzuführen. Auf der PS4 muss über „Geräte hinzufügen“ ein Code für den Vorgang generiert werden.
Erst dann funktionieren die Befehle auch korrekt (ein „sudo“ wird nicht benötigt).
Hallo zusammen,
mein erstes mal hier! Zuerst bin ich mega beeindruckt was man alles mit so einem kleinen "Ding" alles anfangen kann, dann aber auch was man alles kaputt machen kann.
Ich mache gerade alles zum 5. mal und irgendwie hilft gerade alles "nichts".
Eventuell kann mir einer beim drüber schauen behilflich sein?
Code: config.json
Alles anzeigen{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "031-45-154" }, "description": "Home Smart Home", "platforms": [ { "platform": "config", "name": "Config", "port": 8080, "auth": "form", "theme": "red", "restart": "sudo -n systemctl restart homebridge", "temp": "/sys/class/thermal/thermal_zone0/temp", "sudo": true, "log": { "method": "systemd", "service": "homebridge" } }, { "platform": "Shelly", "name": "Shelly" }, { "platform": "cmdSwitch2", "name": "CMD Switch", "switches": [ { "name": "Playstation", "on_cmd": "node /usr/local/lib/node_modules/ps4-waker/bin/cmd.js -c /var/homebridge/.ps4-wake.credentials.json", "off_cmd": "node /usr/local/lib/node_modules/ps4-waker/bin/cmd.js -c /var/homebridge/.ps4-wake.credentials.json standby", "state_cmd": "node /usr/local/lib/node_modules/ps4-waker/bin/cmd.js -c /var/homebridge/.ps4-wake.credentials.json search | grep -i '200 O$ "polling": false, "interval": 5, "manufacturer": "Sony Corporation" } ] } ], "accessories": [] }
Die Fehlermeldung beim starten der Homebridge:
Code: journalctl -fau Homebridge
Alles anzeigenMay 04 18:09:39 raspberrypi homebridge[12920]: [5/4/2019, 6:09:39 PM] [CMD Switch] Initializing platform accessory 'Playstation'... May 04 18:09:39 raspberrypi homebridge[12920]: [5/4/2019, 6:09:39 PM] Homebridge is running on port 51826. May 04 18:09:40 raspberrypi homebridge[12920]: [5/4/2019, 6:09:40 PM] [CMD Switch] Failed to determine Playstation state. May 04 18:09:40 raspberrypi homebridge[12920]: [5/4/2019, 6:09:40 PM] [CMD Switch] internal/modules/cjs/loader.js:584 May 04 18:09:40 raspberrypi homebridge[12920]: throw err; May 04 18:09:40 raspberrypi homebridge[12920]: ^ May 04 18:09:40 raspberrypi homebridge[12920]: Error: Cannot find module '/usr/local/lib/node_modules/ps4-waker/bin/cmd.js' May 04 18:09:40 raspberrypi homebridge[12920]: at Function.Module._resolveFilename (internal/modules/cjs/loader.js:582:15) May 04 18:09:40 raspberrypi homebridge[12920]: at Function.Module._load (internal/modules/cjs/loader.js:508:25) May 04 18:09:40 raspberrypi homebridge[12920]: at Function.Module.runMain (internal/modules/cjs/loader.js:754:12) May 04 18:09:40 raspberrypi homebridge[12920]: at startup (internal/bootstrap/node.js:283:19) May 04 18:09:40 raspberrypi homebridge[12920]: at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)
Code: sudoersomebridge ALL=(root) SETENV:NOPASSWD: /usr/local/bin/npm, /bin/systemctl restart homebridge, /bin/journalctl, /usr/local/bin/node, /usr/local/bin/ps4-waker standby
Ich habe es soweit verstanden, das es die "cmd.js" nicht gibt.
Nehme ich aber die erste Anleitung, kommen folgende Fehlermeldungen:
CodeMay 04 19:39:40 raspberrypi systemd[1]: Started Node.js HomeKit Server. May 04 19:39:42 raspberrypi homebridge[13805]: [5/4/2019, 7:39:42 PM] There was a problem reading your config.json file. May 04 19:39:42 raspberrypi homebridge[13805]: [5/4/2019, 7:39:42 PM] Please try pasting your config.json file here to validate it: http://jsonlint.com May 04 19:39:42 raspberrypi homebridge[13805]: [5/4/2019, 7:39:42 PM] May 04 19:39:42 raspberrypi homebridge[13805]: /usr/local/lib/node_modules/homebridge/lib/server.js:218 May 04 19:39:42 raspberrypi systemd[1]: homebridge.service: Main process exited, code=exited, status=1/FAILURE May 04 19:39:42 raspberrypi systemd[1]: homebridge.service: Unit entered failed state. May 04 19:39:42 raspberrypi systemd[1]: homebridge.service: Failed with result 'exit-code'.
Obwohl die config.json gut ausschaut:
Code
Alles anzeigen{ "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "031-45-154" }, "description": "Home Smart Home", "platforms": [ { "platform": "config", "name": "Config", "port": 8080, "auth": "form", "theme": "red", "restart": "sudo -n systemctl restart homebridge", "temp": "/sys/class/thermal/thermal_zone0/temp", "sudo": true, "log": { "method": "systemd", "service": "homebridge" } }, { "platform": "Shelly", "name": "Shelly" }, { "platform": "cmdSwitch2", "name": "CMD Switch", "switches": [{ "name" : "Playstation", "on_cmd": "ps4-waker", "off_cmd": "ps4-waker standby", "state_cmd": "ps4-waker search | grep -i '200 Ok'", "polling": true, "interval": 5, "manufacturer": "Sony Corporation" }] } ], "accessories": [] }
Versuch doch mal bitte unter ""cmdswitch2" folgendes
Code{ "name": "Playstation", "on_cmd": "sudo ps4-waker", "off_cmd": "sudo ps4-waker -d 192.168.XXX.XXX standby", "state_cmd": "sudo ps4-waker -d 192.168.XXX.XXX check", "polling": false, "interval": 5, "timeout": 20, "manufacturer": "Sony Corporation" }
DIe IP natürlich noch anpassen an die deiner Playstation.
und in der sudoers
und ich sehe gerade wenn ich deine config.json in https://jsonformatter.curiousconcept.com
eintrage, das da eine menge fehler drin sind
So sollte es aussehen
Code
Alles anzeigen{ "bridge":{ "name":"Homebridge", "username":"CC:22:3D:E3:CE:30", "port":51826, "pin":"031-45-154" }, "description":"Home Smart Home", "platforms":[ { "platform":"config", "name":"Config", "port":8080, "auth":"form", "theme":"red", "restart":"sudo -n systemctl restart homebridge", "temp":"/sys/class/thermal/thermal_zone0/temp", "sudo":true, "log":{ "method":"systemd", "service":"homebridge" } }, { "platform":"Shelly", "name":"Shelly" }, { "platform":"cmdSwitch2", "name":"CMD Switch", "switches":[ { "name":"Playstation", "on_cmd":"sudo ps4-waker", "off_cmd":"sudo ps4-waker -d 192.168.XXX.XXX standby", "state_cmd":"sudo ps4-waker -d 192.168.XXX.XXX check", "polling":false, "interval":5, "timeout":20, "manufacturer":"Sony Corporation" } ] } ], "accessories":[ ] }
Guten Abend KaroX und herzlich Willkommen im Forum (auch wenn ich selbst noch recht neu hier bin).
Deine zweite Config unten ist valide, dies kannst du jederzeit hier prüfen. Die Einträge für den ps4-waker sind dort ebenfalls korrekt.
Hast du denn den ps4-waker installiert
und mit der PS4 verbunden?
Dazu musst du den ps4-waker erstmalig im Terminal starten. Wichtig hierbei:
Hast du die Homebridge nach der Forumsanleitung installiert, läuft diese unter dem Nutzer „homebridge“. Soll dieser später die PS4 ansprechen können, muss er auch das Pairing übernehmen:
1. PS4 anschalten
2. auf dem Raspberry ausführen
-> Aufforderung nach Code erscheint
3. auf der PS4 unter
„Einstellungen/Einstellungen der Verbindung über die mobile App“
Gerät hinzufügen -> Pin wird auf PS4 angezeigt
4. Pin auf Raspberry eingeben
Nach einem Restart der Homebridge sollte es eigentlich funktionieren. Wenn nicht kannst du danach Folgendes probieren:
(siehe Anleitung Seite 2)
Guten Abend KaroX und herzlich Willkommen im Forum (auch wenn ich selbst noch recht neu hier bin).
Deine zweite Config unten ist valide, dies kannst du jederzeit hier prüfen. Die Einträge für den ps4-waker sind dort ebenfalls korrekt.
Hast du denn den ps4-waker installiert
und mit der PS4 verbunden?
Dazu musst du den ps4-waker erstmalig im Terminal starten. Wichtig hierbei:
Hast du die Homebridge nach der Forumsanleitung installiert, läuft diese unter dem Nutzer „homebridge“. Soll dieser später die PS4 ansprechen können, muss er auch das Pairing übernehmen:
1. PS4 anschalten
2. auf dem Raspberry ausführen
-> Aufforderung nach Code erscheint
3. auf der PS4 unter
„Einstellungen/Einstellungen der Verbindung über die mobile App“
Gerät hinzufügen -> Pin wird auf PS4 angezeigt
4. Pin auf Raspberry eingeben
Nach einem Restart der Homebridge sollte es eigentlich funktionieren. Wenn nicht kannst du danach Folgendes probieren:
(siehe Anleitung Seite 2)
Vielen Dank für deine Rückmeldung Sebbo!
So wirklich besser ist es nicht geworden. Habe deinen Befehle "npm i ..." noch mal durchgeführt und erhalte nun folgende Fehlermeldung:
Code
Alles anzeigenMay 05 00:20:15 raspberrypi homebridge[851]: [5/5/2019, 12:20:15 AM] [CMD Switch] Initializing platform accessory 'Playstation'... May 05 00:20:15 raspberrypi sudo[887]: pam_unix(sudo:auth): conversation failed May 05 00:20:15 raspberrypi sudo[887]: pam_unix(sudo:auth): auth could not identify password for [homebridge] May 05 00:20:15 raspberrypi homebridge[851]: [5/5/2019, 12:20:15 AM] Homebridge is running on port 51826. May 05 00:20:15 raspberrypi homebridge[851]: [5/5/2019, 12:20:15 AM] [CMD Switch] Failed to determine Playstation state. May 05 00:20:15 raspberrypi homebridge[851]: [5/5/2019, 12:20:15 AM] [CMD Switch] May 05 00:20:15 raspberrypi homebridge[851]: We trust you have received the usual lecture from the local System May 05 00:20:15 raspberrypi homebridge[851]: Administrator. It usually boils down to these three things: May 05 00:20:15 raspberrypi homebridge[851]: #1) Respect the privacy of others. May 05 00:20:15 raspberrypi homebridge[851]: #2) Think before you type. May 05 00:20:15 raspberrypi homebridge[851]: #3) With great power comes great responsibility. May 05 00:20:15 raspberrypi homebridge[851]: sudo: no tty present and no askpass program specified
Eine Idee?
Vielen Dank für den Support zur später Stunde! Ich wollte um halb 3 nicht mehr antworten - ihr habt ja auch mal Schlaf verdient.
Ich habe es dann doch noch geschafft mich komplett von der HomeBridge auszusperren weil meine sudoers beschädigt war. Neuinstallationen führen ja dazu, dass man eine gewisse Routine hat und das System besser versteht.
Nun läuft auch die HomeBridge nahezu ohne Fehler, außer:
CodeMay 05 13:18:41 raspberrypi homebridge[6237]: [5/5/2019, 1:18:41 PM] [CMD Switch] Failed to determine Playstation state. May 05 13:18:41 raspberrypi homebridge[6237]: [5/5/2019, 1:18:41 PM] [CMD Switch] Could not detect any matching PS4 device May 05 13:19:04 raspberrypi homebridge[6237]: [5/5/2019, 1:19:04 PM] [CMD Switch] Failed to determine Playstation state. May 05 13:19:04 raspberrypi homebridge[6237]: [5/5/2019, 1:19:04 PM] [CMD Switch] Could not detect any matching PS4 device May 05 13:19:12 raspberrypi homebridge[6237]: [5/5/2019, 1:19:12 PM] [CMD Switch] Playstation is turned off. May 05 13:19:13 raspberrypi homebridge[6237]: [5/5/2019, 1:19:13 PM] [CMD Switch] Failed to turn on Playstation May 05 13:19:13 raspberrypi homebridge[6237]: [5/5/2019, 1:19:13 PM] [CMD Switch] Device must be awake for initial registration. Please turn it on manually and try again.
Dabei musste ich an deinen (Sebbo) tipp denken "sudo -u homebridge ps4-wake", allerdings will er das Passwort für den Benutzer Homebridge... bin ich so verpeilt das ich das Passwort nicht weiß?
Code
Alles anzeigenpi@raspberrypi:/usr/local/bin $ sudo -u homebridge ps4-waker No credentials; Use the PS4 Second Screen App and try to connect to "PS4-Waker" Root permissions required to start PS4 Dummy Attempting to request root permissions now (we will relinquish them as soon as possible): sudo /usr/local/bin/node /usr/local/bin/ps4-waker --user-id 1001 -c /home/homebridge/.ps4-wake.credentials.json We trust you have received the usual lecture from the local System Administrator. It usually boils down to these three things: #1) Respect the privacy of others. #2) Think before you type. #3) With great power comes great responsibility. [sudo] password for homebridge:
Wenn die Homebridge läuft und das Plugin sowie der ps4-waker installiert sind, schaffen wir auch die restlichen Schritte.?
Zuerst setze einmal ein Kennwort deiner Wahl für den User Homebridge (dies hat keinen Einfluss auf die bisherigen oder folgenden Konfigurationen).
Danach schalten wir die Playstation manuell an.
Als Nächstes stoppen wir die Homebridge einmal (optional) und öffnen den ps4-waker im Terminal als Nutzer homebridge.
Hier können wir nun das zuvor gesetzte Kennwort nutzen und den folgenden Anleitungsschritten im Terminal folgen (Punkt 3+4 aus meinem vorherigen Post).
Dann sollten wir potentiell wieder einen großen Schritt voran gemacht haben.?
Hallo Sebbo!
Danke erst einmal für deine Rückmeldung.
Das mit der Passwort Setzung für den Benutzer habe ich erst mal nicht gemacht, da ich nicht weiss ob es irgendwelche Auswirkungen auf irgendwelche Dienste hat? Aber wahrscheinlich hat der Benutzer derzeit gar keinen Passwort, deshalb wird mir das auch abgelehnt? Verstehe ich doch soweit richtig - oder?
Ich habe folgendes gemacht UND es funktioniert!
erst einmal habe ich die "ps4-wake.credentials.json" nach home/homebridge kopiert und die Berechtigung (Inhaber) auf Homebridge gesetzt. Dann den Befehl "sudo /usr/local/bin/node /usr/local/bin/ps4-waker --user-id 1001 -c /home/homebridge/.ps4-wake.credentials.json" abgefeuert und siehe da, es geht!
Klasse! Danke für die Unterstützung! Ich melde mich erneut, sobald meine Shelly 2.5 angekommen sind.
Das hast du richtig verstanden. Auf Dienste hätte das Setzen des Kennworts keine Auswirkungen, da der Nutzer homebridge diese ohne Kennwort neustarten darf. Sofern keine Notwendigkeit wie in einem solchen Sonderfall besteht, brauchst du aber natürlich auch kein Kennwort setzen.
Es freut mich, dass es nun funktioniert, viel Spaß weiterhin an deinem Smart Home.
Code
Alles anzeigen"platforms": [ { "platform": "config", "name": "Config", "port": 8080, "auth": "form", "theme": "red", "restart": "sudo -n systemctl restart homebridge", "temp": "/sys/class/thermal/thermal_zone0/temp", "sudo": true, "log": { "method": "custom", "command": "journalctl -o cat -n 500 -f -u homebridge" } }, { "tvs": [ { "name": "Sony TV", "ip": "XX", "soundoutput": "speaker", "tvsource": "tv:dvbs", "applications": [ { "title": "Netflix" }, { "title": "Prime Video" }, { "title": "Disney+" }, { "title": "YouTube" } ] } ], "platform": "BraviaPlatform" } ], "accessories": [ { "accessory": "FakeBulb", "name": "Garagenlampe", "bulb_name": "Garagenlampe" } ] }
Ich komm hier nicht weiter. Wo genau muss nun der Text von PS4 Waker hin? Bisherige Versuche schlugen fehl. Sorry. Ich lerne noch
Sooo. Es läuft nun alles. Aber eine Frage hab ich noch. Die PS4 selber hab ich umbenannt. Nur die Schalter in der PS4 nicht. Zwei sind Apps. Wie ich es da mache ist klar. Aber der für ein aus. Was mach ich damit. Wie benenne ich den um.
Hab jetzt eine Szene erstellt zum überbrücken. Aber da muss man ja immer Szene vorab sagen noch
Hi. Ich hab meine PS4 via PS4 Waker eingebunden. Grundsätzlich klappt auch alles, aber durch WOL braucht die PS4 immer einen Moment bis sie reagiert. Siri glaubt dann oft hat nicht geklappt. Gibt es dafür einen Workarround? Oder kann man gar in der Homebridge was dafür konfigurieren?