cmdswitch & ps4-waker WOL

  • hat jemand Erfahrung mit den beiden plugins, Installation usw lief soweit problemlos.

    ich kann die ps4 auch über sudo ps4-waker starten jedoch in Kombination mit cmdswitch erhalte ich einen Fehler den ich nicht nachvollzieh kann:


    Mar 11 13:40:34 raspberrypi homebridge[8328]: [2018-3-11 13:40:34] [CMD Switch] Turning on Playstation took too long [1s], assuming success.

    Mar 11 13:40:36 raspberrypi homebridge[8328]: [2018-3-11 13:40:36] [CMD Switch] Failed to turn on Playstation

    Mar 11 13:40:36 raspberrypi homebridge[8328]: [2018-3-11 13:40:36] [CMD Switch] Device must be awake for initial registration. Please turn it on manually and try again.

  • Ich werde heute Abend hier eine Anleitung dazu posten.

    Hab mein MacBook aber leider gerade nicht zur Hand...


    Hier mal eine kurze Anleitung zur Integration von der PS4 in HomeKit


    Homebridge:

    Code
    npm install –g homebridge

    cmdswitch2:

    Code
    npm install homebridge-cmdswitch2 -g

    PS4-Waker:

    Code
    npm install ps4-waker -g


    2. Config anpassen:

    Code
    sudo nano /var/homebridge/config.json

    Inhalt hinzufügen:

    3. Starte ps4-waker (PS4 muss angeschalten sein)

    Code
    sudo ps4-waker

    4. Öffne die Ps4-App Second Screen App (iPhone) und Verbinde diese mit dem ps4-Waker

    5. Starte ps4-waker erneut

    Code
    sudo ps4-waker

    6. Fertig


    Probleme:

    Credentials löschen und die Schritte auf dem Mac wiederholen:

    Code
    rm –rf ~/.ps4-wake.credentials.json

    Bei dem Fehler „Cannot add a bridged Accessory with the same UUID as another bridged Accessory:

    alle bezeichnungen/Namen in der config.json mit den Bezeichnungen/Namen auf dem iPhone (Home-App) überprüfen


    Du meinst Punkt 3?

    Dort steht „angeschalten“;)

    2 Mal editiert, zuletzt von DJay () aus folgendem Grund: Ein Beitrag von svk mit diesem Beitrag zusammengefügt.

  • Das hat bei mir soweit auch alles geklappt der Schalter wird in der Home App angezeigt lässt sich aber nicht aktivieren.


    Wenn ich im Terminal den Befehl sudo ps4-walker starte wird die PlayStation auch eingeschaltet lediglich mit dem cmdswitch scheint es Probleme zu geben.

  • Und damit kann man die PlayStation aufwecken?


    Weil mit Harmony hub geht es ja nicht...


    Mit freundlichen Grüßen

  • Ja funktioniert per ps4-waker einwandfrei.


    wenn ich die Homebridge im Terminal über den Befehl Homebridge starte klappt alles aber sobald ich über den systemd starte funktioniert es nicht. jmd eine Idee?

    Einmal editiert, zuletzt von DJay () aus folgendem Grund: Ein Beitrag von dave09 mit diesem Beitrag zusammengefügt.

  • Der PS4-Waker ist ein klasse Tool, so kann ich nun meine PS4 über die Harmony mit Hub aufwecken und auch schlafen schicken. Und da es für den Harmony Hub, ja auch ein Plugin (welches zwar mehr schlecht wie recht, bei mir, läuft) gibt , kann ich auch über HomeKit nun die PS4 so wecken und schlafen schicken.

    Einmal editiert, zuletzt von m4d-maNu ()

  • ich habe in der config mal den sudo Befehl eingebaut nun bekomme ich den Fehler, weiss nicht mehr weiter ;(


    Mar 31 10:57:04 raspberrypi sudo[2248]: pam_unix(sudo:auth): auth could not identify password for [homebridge]

    Mar 31 10:57:04 raspberrypi sudo[2248]: homebridge : user NOT in sudoers ; TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/local/bin/ps4-waker standby

    Mar 31 10:57:04 raspberrypi homebridge[2057]: [2018-3-31 10:57:04] [CMD Switch] Failed to turn off Playstation

    Mar 31 10:57:04 raspberrypi homebridge[2057]: [2018-3-31 10:57:04] [CMD Switch]

    Mar 31 10:57:04 raspberrypi homebridge[2057]: We trust you have received the usual lecture from the local System

    Mar 31 10:57:04 raspberrypi homebridge[2057]: Administrator. It usually boils down to these three things:

    Mar 31 10:57:04 raspberrypi homebridge[2057]: #1) Respect the privacy of others.

    Mar 31 10:57:04 raspberrypi homebridge[2057]: #2) Think before you type.

    Mar 31 10:57:04 raspberrypi homebridge[2057]: #3) With great power comes great responsibility.

    Mar 31 10:57:04 raspberrypi homebridge[2057]: sudo: no tty present and no askpass program specified

  • Also ich habe es auf meinem Raspi so gelöst.

    Als erstes habe ich die versteckte datei.ps4-wake.credentials.json nach /var/homebridge kopiert.

    und dann meine Config.json so angepasst.


  • Also ich habe es auf meinem Raspi so gelöst.

    Als erstes habe ich die versteckte datei.ps4-wake.credentials.json nach /var/homebridge kopiert.

    und dann meine Config.json so angepasst.


    das war auch mein plan, ich gehe davon aus dass die credentials im Root Ordner liegen darauf habe ich aber keinen Zugriff „permission denied“

  • iMar 31 10:57:04 raspberrypi sudo[2248]: pam_unix(sudo:auth): auth could not identify password for [homebridge]

    Mar 31 10:57:04 raspberrypi sudo[2248]: homebridge : user NOT in sudoers ; TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/local/bin/ps4-waker standby


    Das ist einfach: der User homebridge darf sudo nicht benutzen. Dem kann aber abgeholfen werden, indem er in der Datei /etc/sudoers eingetragen wird.


    Mach das:

    sudo nano /etc/sudoers.d/homebridge


    Eine leerer Editor ist das Ergebnis, das die Datei /etc/sudoers.d/homebridge noch nicht existiert (wahrscheinlich nicht).


    Dort trägst du jetzt ein:

    homebridge ALL=(root) SETENV:NOPASSWD: /usr/local/bin/ps4-waker standby


    speicherst den Schmodder ab und versuchst es nochmal.


    Die obige Änderung der Rechte des Users homebridge bedeutet nicht, dass der jetzt für alles sudo-Rechte hat. Es bedeutet, dass er sudo mit diesem einen Befehl benutzen kann. Man kann natürlich die Rechte auch für alle Befehle des Systems verteilen. Ich rate ab, aber sei's drum: homebridge  ALL=(ALL:ALL) ALL). Ich empfehle aber, dem User homebridge nur die sudo-Rechte für die Befehle zu geben, die er auch wirklich braucht.


    Bei mir sieht das so aus (vor allem für das Plugin homebridge-config-ui-x):

    homebridge ALL=(root) SETENV:NOPASSWD: /usr/bin/npm, /bin/systemctl restart homebridge, /bin/journalctl, /usr/bin/node /usr/lib/node_modules/homebridge-config-ui-x/node_modules/nsp/bin/nsp check


    In meiner Config darf der User homebridge beispielsweise die Homebridge restarten, aber nicht etwa stoppen. Mit der PS4 darf der User homebridge nix anstellen, was ursächlich daran liegt, dass ich über keine PS4 verfüge :)


    Testen kann man das prima auf der Shell, indem man dort als User homebridge die Befehle eingibt:

    sudo /usr/local/bin/ps4-waker standby (sollte nun funktionieren)

    sudo ls (sollte nicht funktionieren, weil's ein Passwort will)


    Schlusswort: warum sollte der User homebridge keine vollen Rechte haben? Ich finde, es sollte drei Arten von Benutzern auf einem System geben: den totalen Master (root), seinen Hilfssheriff (pi) und die Luser, also jene, die keinen speziellen oder nur sehr wenige spezielle Rechte haben. Meiner Meinung nach sollten so wenig Services wie möglich als root gestartet werden, wobei sich das oft nicht umgehen lässt. Im Fall von Homebridge aber schon.


    Etwas nicht als root laufen zu lassen, ist immer sicherer, als es doch zu tun. Lässt man Homebrigde als root laufen, so hat der Prozess homebridge die gleichen Rechte wie root. Echte Cracks, die deinen Node.js-Server überfallen können, können dann mit deinem System über diesen Server machen was sie wollen, weil sie nun einen Prozess unter Kontrolle haben, der alles auf dem System anstellen darf. Bist du dir völlig sicher, dass deine Freundin oder dein Freund oder deine achtjährige Tochter, das Wunderkind, nicht über diese Fähigkeiten verfügen??? Nur weil ich paranoid bin, heißt das noch lange nicht, dass sie nicht hinter mir her sind.


    Konfiguration der config.json per App? Verboten. Konfiguration der config.json per Webinterface? Verboten. Homebridge stoppen, Raspi runterfahren? Verboten, verboten, verboten.


    Liebe Freunde, die ihre Installation unter root oder pi betreiben: kein Grund zur Schnappatmung. Lasst es so. Aber wägt das Risiko ab. Da eure Homebrigde (hoffentlich) von draußen nicht ohne weiteres zu erreichen ist, ist sie ja hinreichend sicher. Aber Unix/Linux-state-of-the-art ist es nun mal nicht. Falls ihr es euch zutraut: ändert es. Aber man sollte schon hinreichend sicher auf dem System sein. Alles andere ist nur frustrierend.


    Viel Erfolg.

    Stefan

  • danke für die ausführliche Erklärung!!!


    ausschalten klappt jetzt, aber ich kann die playstation nicht darüber starten:

    Mar 31 16:36:16 raspberrypi sudo[3876]: pam_unix(sudo:auth): conversation failed

    Mar 31 16:36:16 raspberrypi sudo[3876]: pam_unix(sudo:auth): auth could not identify password for [homebridge]

    Mar 31 16:36:16 raspberrypi homebridge[3048]: [2018-3-31 16:36:16] [CMD Switch] Failed to turn on Playstation

    Mar 31 16:36:16 raspberrypi homebridge[3048]: [2018-3-31 16:36:16] [CMD Switch]

    3 Mal editiert, zuletzt von dave09 ()

  • ich konnte die Dateien nun endlich finden :evil:

    nun startet er die ps4 auch! ich lande aber auf dem welcome screen, ist das normal? normalerweise sollte es sich doch einloggen oder?



    DANKE für Geduld und Hilfe!

    3 Mal editiert, zuletzt von dave09 ()

  • du kannst noch einen Button press simulieren


    ps4-waker [options] remote <key-name> (...<key-name>) Send remote key-press event(s)


    Code
    Key names:
      Button names are case insensitive, and can be one of:
        up, down, left, right, enter, back, option, ps
      You cannot send the actual x, square, etc. buttons
      A string of key presses may be provided, separated by spaces,
       and they will be sent sequentially.
      In addition, a key name may be followed by a colon and a duration in
       milliseconds to hold that key, eg: ps4-waker remote ps:1000
  • wow, danke für die tolle Anleitung.




    ich probiere hier seit einer gefühlten Ewigkeit rum, das PS4 Ding ans laufen zu bekommen und wende hier wild kürzlich "erlerntes", gefährliches halbwissen an.



    Meine Homebridge läuft natürlich unter dem user pi. Also genau so, wie man es nicht machen soll, aber nun gut.


    Folgendes hab ich nun versucht:


    sudo nano /etc/sudoers.d/pi

    (ja, du hast gesagt, dass man das nich machen soll. ich wollte aber erstmal überhaupt schauen, obs klappt)

    Code
    pi ALL=(ALL:ALL) ALL



    Und anschliessend hab ich die config.json im Verzeichnis /home/pi/.homebridge editiert und folgendes fabriziert:



    Ergebnis: Es funktioniert. AAAAABer: Ich würde gerne verstehen, was ich nun in die sudoers.d/pi eintragen muss, damit der user pi keine kompletten root rechte hat, sondern nur für die funktionen verwendet werden darf, die in diesem falle benötigt werden.


    Wäre toll wenn du mir da einmal auf die sprünge helfen kannst. Hab da jetzt echt schon ne ewigkeit rumgefriemelt... nur halt ohne erfolg :D

    rawwr.org - Pro in Krastination

    2 Mal editiert, zuletzt von desty ()

  • Ergebnis: Es funktioniert. AAAAABer: Ich würde gerne verstehen, was ich nun in die sudoers.d/pi eintragen muss, damit der user pi keine kompletten root rechte hat, sondern nur für die funktionen verwendet werden darf, die in diesem falle benötigt werden.:D

    Du fummelst da auch an einer Stelle herum, die eine gewisse Kenntnis eines Linux- oder Unix-Systems verlangt. Rechteverwaltung für User ist schon kompliziert und man muss aufpassen, dass man sich nicht selber aussperrt. Ich könnte da mit peinlichen Vorfällen, in denen ich im Mittelpunkt stand, aufwarten ^^


    Zunächst: in einer Standardinstallation von Raspbian hat der User pi bereits die ALL-Rechte. Das steht bereits in /etc/sudoers drin. In meiner sudoers steht unter anderem (und ich hab da nix geändert):

    Code
    # Allow members of group sudo to execute any command
    %sudo	ALL=(ALL:ALL) ALL

    Erlaube den Mitgliedern der Gruppe sudo jedes Kommando auszuführen. Und pi ist Mitglied dieser Gruppe:

    Code
    pi@raspberrypi:~ $ id
    uid=1000(pi) gid=1000(pi) groups=1000(pi),4(adm),20(dialout),24(cdrom),27(sudo),29(audio),44(video),46(plugdev),60(games),100(users),101(input),108(netdev),997(gpio),998(i2c),999(spi)

    Achtung: Don't do this alone at home!

    Du entziehst dem User pi die Rechte, indem du in sudoers festlegst, was er als root ausführen darf. Im Zweifel darf er gar nichts. Ganz schlechte Idee. Oder er darf vielleicht einfach nur die Homebridge starten oder stoppen. Immer noch schlecht. Oder er darf wenigstens den Befehl /bin/su ausführen. Damit kann man schon leben.


    Warum ist das so? Sobald der User pi keine Befehle mehr als root ausführen darf, kannst du solche Befehle nur noch als User root ausführen. Dazu musst du dich anstatt mit pi auf deinem Raspi als root einloggen. Je nachdem, wie der ssh-Server konfiguriert ist, wird er dir den Login verweigern. Heutiger Standard ist, dass sich root nicht über ssh auf die Maschine einloggen darf. Mit dem User root kannst du dich dann nur noch an der Konsole einloggen, und das bedeutet, einen Monitor und ein Keyboard an den Raspi anzuschließen.


    OK, das ist mal echt supersicher. Aber wer will denn einen Monitor und ein Keyboard an den Raspi anschließen? Ich würde auf keinen Fall dem User pi irgendwelche Rechte entziehen.


    Ich habe deshalb einen neuen User mit dem Namen homebridge angelegt und ihm nur die grundlegenden Rechte gegeben. In meiner Anleitung steht, wie man das macht.


    Stefan

  • Hallo zusammen,


    wir haben seit wenigen Tagen jetzt auch eine PS4 Slim und da ich Homebridge schon sehr lange nutze, hab ich mir die Plugins auch mal installiert und auch soweit lauffähig bekommen, also ich kann die PS4 über Siri starten und stoppen.


    Jetzt habe ich allerdings ein Phänomen (gehabt) und bin mir nicht sicher, ob vielleicht das ps4-waker Schuld sein könnte?


    Zum Problemfall:

    Also, die PS4 fährt von selbst in den Ruhemodus, egal ob ich gerade mittendrin einen Film schaue oder ein Spiel spiele. Zeitlich total unterschiedlich, die Energiespareinstellungen habe ich schon überprüft und alles hochgesetzt auf 5 Stunden. Zeitlich auch insofern unterschiedlich, da es manchmal direkt nach dem Einschalten wieder passiert, dann mal nach einer halben Stunde usw.

    Natürlich haben wir im ersten Ansatz Google bedient und sind auf viele verschiedene Möglichkeiten gestoßen (Hitzeentwicklung, Softwareupdate, Festplatte etc).

    Letztendlich haben wir die Datenbank neu aufbauen lassen und die PS4 auf Werkseinstellung zurückgesetzt, die Verbindung zu ps4-waker ist noch nicht wieder hergestellt.

    Fazit bisher: Die PS4 ist stabil, man kann Spiele spielen, sie fährt nicht mehr unkontrolliert in den Ruhemodus.


    Ich werde natürlich den ps4-waker wieder aktivieren und dann schauen, ob das Problem wieder auftritt. Wenn dem so wäre, also dass die PS4 unkontrolliert wieder in den Ruhemodus fährt, gibt es da ggf. konfigurierbare Einstellungen des ps4-waker? Oder kann man damit "eigentlich" nur Ein -und Ausschalten (Ruhemodus) bzw. noch mit den Optionen (s. https://github.com/dhleong/ps4-waker) wie zb. "remote key-press events" arbeiten?


    Dieses zeitlich unterschiedliche in den Ruhemodus fahren kann doch nicht von dem ps4-waker kommen oder? Wenn man das grundsätzlich ausschließen kann, dann wäre die PS4 eben defekt.


    Vielleicht kann das wer ggf. beantworten/begründen?

  • Hey Leute,


    auch ich habe den PS4 Waker laufen. Das einschalten Funktioniert auch Tadellos, nur beim ausschalten bekomme ich einen Fehler ( zu sehen im HomeBridge Log ). Hatte das schon jemand von euch?


    LG