WakeOnLan (WOL) mit Homebridge

  • Funktioniert bei mir auch super mit dem homebridge-wol v3.2.4

    Hoch, runter, links rechts :)

    Jo

  • Ich schalte mit wol vom einen NAS bei bedarf meinen zweiten aus (herunterfahren) bzw ein das funktioniert sehr gut.



    Gesendet von iPhone mit Tapatalk Pro

  • Und wer von euch hat jetzt eine Lösung um per HomeKit einen Windows-Rechner EIN/AUS zu schalten, ohne Zusatzsoftware auf dem PC?

  • Und wer von euch hat jetzt eine Lösung um per HomeKit einen Windows-Rechner EIN/AUS zu schalten, ohne Zusatzsoftware auf dem PC?

    Wie in dem Beitrag mehrfach geschrieben. Ich mit der Config:

    {

    "accessory": "NetworkDevice",

    "name": "Computer",

    "mac": "14-DA-E9-15-33-B5",

    "ip": "192.168.178.57",

    "pingInterval": 45,

    "wakeGraceTime": 90,

    "shutdownGraceTime": 15,

    "shutdownCommand": "net rpc shutdown --ipaddress 192.168.178.57 --user geheim%geheim"

    }


    Jo

  • Danke,

    hab es nochmal getestet. Damit will es , jedenfalls bei bei mir, auch weiterhin nicht funktionieren. Deshalb bleibe ich bei Homebridge-WINPC.

  • Ja, alles entsprechend meinem System angepasst. Habe die Fehlermeldungen auch nicht weiter analysiert, das Thema ist für mich erstmal erledigt.

  • Moin Moin,


    bin relativ neu mit Hombridge auf einem Synology NAS unterwegs und versuche wake on lan zum laufen zu bekommen.

    Bekomme im Terminal immer folgende Fehlermeldung:

    03/22/2019, 8:42:22 PM] [DansPC] An error occured while trying to shut down "Dan

    sPC" (xxx.xxx.xxx.xxx): Error: Command failed: net rpc shutdown -f -C -I xxx.xxx.xxx.xxx -user user%password

    /bin/sh: net: not found


    Kann mir jemand helfen woran das liegen kann?

  • Für mich sieht das so aus, als würdest du versuchen, auf einem Linux-Computer ein Kommando zu starten, das es nur für Windows gibt: net.


    Stefan

  • Abgesehen davon, daß der Befehl mit Wake-On-LAN nichts zu tun hat, was ist es denn für ein Rechner, den Du da ausschalten möchtest?

  • Herunter fahren von Win10 geht prinzipiell mit:

    Code
    net rpc shutdown -I IP address -U user%password

    dazu muss auf dem Linux samba installiert sein

    Der user muss auch Berechtigungen auf Win10 haben.

    evtl. muss die Firewall frei geschaltet werden und unter Umständen am Win10 Reklamation Keys setzen.


    Aber es ist machbar.

    :)

  • Hallo,


    habe nun auch Homebridge in Ergänzung zu meiner KNX/Homekit Brücke. Einige Dinge laufen schon ordentlich. Was überhaupt nicht klappen will, ist mit homebridge-wol meinem iMac (Mojave) zum Laufen (oder Schlafen) zu bringen. Remote-Login ist in den MacOS Systemeintellungen aktiviert, so wie auf npm beschrieben.


    Hat das hier jemand am Laufen? Wäre dankbar für sachdienliche Hinweise :)


    Danke!

    Einmal editiert, zuletzt von bubffm ()

  • Das geht irgendwie nur bei Google. Bei mir jedenfalls geht's nicht. Was dagegen sehr gut funktionierte, war die Deinstallation von homebridge-wol.


    sudo npm uninstall -g --unsafe-perm homebridge-wol (ein Träumchen!)


    Ich habe meine Homebridge nach der Forenanleitung installiert. Daher bezieht sich die folgende Vorgehensweise auf die User und Pfade, die dort verwendet werden.


    Ich habe mir so beholfen: der Befehl pmset sleepnow bringt einen Mac zum Schlafen. Der Befehl caffeinate -u -t 1 weckt ihn wieder auf. Beide Befehle müssen auf dem Mac ausgeführt werden. Zumindest den ersten kannst du ausprobieren: gibst du ihn im Terminal auf dem Mac ein, wird der Bildschirm schwarz. Den zweiten kannst du nicht eingeben, weil der Bildschirm des Mac - nun ja - schwarz ist.


    Nach der Wiedererweckung des Macs habe ich einen neuen User auf dem Mac angelegt, den ich homebridge genannt habe (mittels Systemeinstellungen - Benutzer & Gruppen). Dann habe ich im Terminal den Befehl sudo su - homebridge eingegeben, um unter seinem Namen zwei Shellskripte anzulegen.


    Das erste: nano sleepmac.sh

    Bash
    #!/bin/bash
    pmset sleepnow


    und das zweite: nano wakemac.sh

    Bash
    #!/bin/bash
    echo "Waking up..."
    caffeinate -u -t 1


    Die Skripte habe ich ausführbar gemacht: chmod +x sleepmac.sh wakemac.sh. Dann habe ich mich wieder ausgeloggt mit exit.


    Da der homebridge-User von mir keine Adminrechte bekommen hat (der hat sogar die Kindersicherung eingeschaltet und darf nicht mal seinen Kalender aufrufen), darf er den Mac nicht schlafen legen. Also habe ich eine sudoers-Datei angelegt, die ihm genau das und nur das erlaubt: sudo visudo -f /etc/sudoers.d/homebrigde mit diesem Inhalt:


    Code
    homebridge ALL = NOPASSWD: /Users/homebridge/sleepmac.sh


    Dann habe ich das getestet, in dem ich mich auf dem Raspi eingeloggt habe und dort zum User homebridge gewechselt habe: sudo su - homebridge. Von dort aus habe ich dann die beiden Shellskripte auf dem Mac (192.168.1.20) ausgeführt:


    ssh [email protected] sudo -n /Users/homebridge/sleepmac.sh && sleep 5 && ssh [email protected] /Users/homebridge/wakemac.sh


    Das sind drei Befehle: der erste legt den Mac schlafen, der zweite wartet 5 Sekunden und der dritte weckt den Mac wieder auf. Danach habe ich mich um das Problem gekümmert, dass ich ja immer noch ein Passwort eingeben muss, um die Befehle auf dem Mac auszuführen (deshalb ist der Mac nämlich nicht wieder nach 5 Sekunden aufgewacht). Dazu habe ich ein ssh-Schlüsselpaar erstellt: ssh-keygen und habe alle Fragen einfach mit der Entertaste beantwortet. Einen der beiden Schlüssel habe ich auf den Mac kopiert: ssh-copy-id [email protected] und die Befehle erneut ausgeführt. Diesmal wollte niemand ein Passwort von mir wissen und der Mac wachte wieder auf.


    So, dann zum Finale: mittels des Plugins homebridge-cmd kann man nun die Befehle in homebridge ausführen:

    Code
    "accessories": [
      {
        "accessory": "CMD",
        "name": "iMac sleep",
        "on_cmd": "ssh [email protected] sudo -n /Users/homebridge/sleepmac.sh",
        "off_cmd": "ssh [email protected] /Users/homebridge/wakemac.sh"
      }
    ]


    Die obige Konfiguration in config.json ist nur ein Beispiel. Ich selbst verwende das Plugin gar nicht, sondern homebridge-cmdtrigger. Und es gibt noch unzählige andere Command-Plugins. Es soll nur verdeutlichen, wie die Befehle in homebridge ausgeführt werden können. Welches Plugin du am Ende benutzt, bleibt dann dir überlassen.


    Du siehst, das war alles ganz einfach X/. Nur mal so als sachdienlicher Hinweis.


    Disclaimer: ich habe diese Anleitung aus dem Kopf geschrieben und den größten Teil beim Schreiben hier nicht ausprobiert. Möglicherweise funktioniert es nicht so wie beschrieben, aber es kommt der Sache schon sehr, sehr nah.


    Stefan

    Einmal editiert, zuletzt von sschuste ()

  • Das das so einfach ist hätte ich nie gedacht ;(;(:P


    Jedenfalls vielen Dank für die Erläuterung. Ich werde mir das in einer ruhigen Minute (eher Halbtag?) mal anschauen.


    Burkhard


    NB: Deinstallieren werde ich das WOL vorerst noch nicht. Mit meiner Synology NAS läufts ja :) Oder gibts was besseres?

    2 Mal editiert, zuletzt von bubffm ()

  • Moin moin,


    möchte mich heir mal einklinken. Benutzt jemand das plugin in Verbindung mit einem MacPro?


    Ich möchte meinen MacPro (Coladose) per Remote schlafen legen. Aufwecken ist nicht so wichtig. Das Plugin hab eich installiert und es wird auch in der Homeapp angezeigt. Der Status wird auch richtig angezeigt und hier ist das erste Problem. Wenn der Mac im Ruhezustand geht, wird er trotzdem als "An" angezeigt da er pingbar ist, sowohl am Netzwerkkabel als auch im WLAN. Wie löst man dieses Problem?


    Das Kommando "shutdownCommand": "ssh 192.168.1.51 sudo shutdown -h now"

    würde bedeuten komplett runterfahren, das möchte ich ja gar nicht. Er soll in den Ruhezustand gehen. Wie lautet denn dafür das Kommando?

  • Try this:

    pmset sleepnow, wie oben beschrieben.