WakeOnLan (WOL) mit Homebridge

  • Wenn ich das so im Terminal am mac eingebe geht er schalfen und ist nicht pingbar. Ist die frage warum das am Button "Ruhezustand" nicht so ist.


    Wenn ich den Befehl vom iPhone über ssh ausführe geht es auch


    Also wie müsste nun die Zeile lauten: "shutdownCommand": "ssh [email protected] pmset sleepnow"


    Allerdings funktioniert es so nicht. Ich habe es auch nach der Anleitung gemacht so dass ich das pwd eigentlich nicht eingeben muss. Aber wie müsste der Befehl laute mit pwd?


    Edit: Ich habe es über ein cmd tool vom iphone aus eingegegeb und musste demensprechend das pwd eingeben um mich einzuloggen. Wenn ich es von der Konsole am rpi mache verlangt auch das passwort. Also bräuchte ich im Prinzip den Befehl inkl. dem pwd

  • Das war jetzt ein Gedankenfehler von mir. In der Anleitung zur Homebridgeinstalltion geht es ja darum sich mit dem mac auf den pi einzuloggen ohne pwd. Jetzt muss man das natürlich umgekehrt machen. Hab eich gemacht, ich kann mich mit mit dem pi aufm mac ssh einlogge n und vom mac auf den pi ohne pwd. Also müsste die Zeile jetzt so lauten:


    "shutdownCommand": "ssh [email protected] pmset sleepnow"


    Geht aber leider nicht. Der Schalter geht zwar runter auf aus geht aber dann wieder nach einer Minute hoch, der Mac bleibt dabei an. Ideen?


    Führe ich den Befehl von der Konsole vom pi exakt so aus, geht der mac einwandfrei schlafen. Der Zustand des macs wird jetzt auch über Ruhezustnad auch richtig in Homekit angezeigt. Also wir sind schon ganz nah dran :)

    Einmal editiert, zuletzt von waterchill ()

  • Ich habe es tatsächlich nicht so gemacht, sondern habe auf dem Mac ein Script geschrieben, das den Befehl pmset sleepnow enthält und rufe dieses Skript auf.


    Code
         {
                "accessory": "CmdTrigger",
                "name": "iMac sleep",
                "command": "ssh 192.168.1.20 sudo -n /Users/homebridge/sleepmac.sh",
                "delay": "1000"
            },

    Bitte beachten: der Befehl wird nicht vom User pi ausgeführt, sondern vom User homebridge! Teste deinen Befehl also als User homebridge, in dem du so vorgehst:


    sudo su - homebridge

    ssh user:[email protected] pmset sleepnow


    Stefan

  • Ich schalte meinen cMP damit aus:


    {

    "accessory": "NetworkDevice",

    "name": "MacPro",

    "mac": "00:xx:00:f0:xx:3b",

    "ip": "192.168.1.X",

    "pingInterval": 2,

    "wakeGraceTime": 45,

    "shutdownGraceTime": 15,

    "shutdownCommand": "sshpass -p 'password' ssh -oStrictHostKeyChecking=no [email protected] sudo shutdown -h now"

    }


    also zwar nicht standby, sondern wirklich aus, aber damit umgehe ich die PW abfrage...

  • ok dementsprechend müsste dann auch gehen:


    "shutdownCommand": "sshpass -p 'password' ssh -oStrictHostKeyChecking=no [email protected] pmset sleepnow"


    tuts aber nicht. Gebe ich den Befehl in der Konsole so ein gehts ohne weiteres. Ich verstehe es einfach nicht! Es geht auch nicht mit shutdown -h. Von der Konsole aus aber schon!

    Einmal editiert, zuletzt von waterchill ()

  • Gebe ich den Befehl in der Konsole so ein

    In wessen Konsole? Du bist dann eingeloggt als User wer?

  • Also als User pi. Ich hab's bereits in Post 184 erwähnt: das Kommando wird von der Homebridge gestartet, und weil die Homebridge unter dem User homebridge läuft, wird dann auch das Kommando unter dem User homebridge ausgeführt. Wenn du es auf der Shell testen willst, dann nicht als User pi, sondern als User homebridge. Ich wiederhol's gerne nochma:


    sudo su - homebridge (macht dich zum User homebridge)

    ..........

    exit (kehrt zurück zum User pi)


    Da, wo die vielen Punkte stehen, probierst du deine Kommandos aus. Erst wenn sie an dieser Stelle funktionieren, funktionieren sie auch mit homebridge.


    Stefan

  • Da scheint wohl daran zu leigen, dass ich die Homebridge mittel der App "Homebridge" aufgesetzt habe. Ich hab jetzt nach der Anleitung hier den Benutzer erstellt und der Befehl unter homebridge: ssh [email protected] pmset sleepnow bringt den mac zum schlafen. Allerdings funktioniert es aus homekit trotzdem nicht. Kann es jetzt vielleicht sein, dass alle plugind unter dem Benutzer pi laufe und nicht homebridge und jetzt das alles durcheinander ist? Vielleicht sollte ich die homebridge nochmal aufsetzen komplett nach der Anleitung hier im Schritt 2 und nicht mit der App.

  • Ich glaube, die App installiert die Homebridge so, dass sie unter root läuft. Also muss du den Befehl als User root testen:


    sudo su -


    Ich kann bei Problemen mit der App oder deren Installation nicht wirklich helfen.

  • Funktioniert!!!


    Habe dann quasi dem root nochmal dann den ssh-keygen auf den mac überspielt und dann ging es sofort. Ich werde trotzdem den rpi heute komplett neu machen und dann hier komplett nach der Anleitung wie es hier ist, damit man immer den gleichen Stand hat. Das war jetzt mein blöder Fehler, dass ich auf die App vertraut hab. Danke!!

  • Das war jetzt mein blöder Fehler, dass ich auf die App vertraut hab.

    Haben wir hier alle :D

  • ich habs leider zwischen den Seiten nicht gefunden...funktioniert es auch mit einem Macbook Air mit nem UsB Ethernet Adapter? Nur aus Ruhemodus oder auch wenn komplett aus?