Hallo,
wollte mich mal informieren ob jemand eventuell weiß ob man den Mac mini (2012) via Homebridge in HomeKit einbinden kann und diesen somit ein und aus schalten (wake and sleep) kann.
Danke im Voraus
Hallo,
wollte mich mal informieren ob jemand eventuell weiß ob man den Mac mini (2012) via Homebridge in HomeKit einbinden kann und diesen somit ein und aus schalten (wake and sleep) kann.
Danke im Voraus
Ja, jut sag ich mal und was hat das jetzt mit meiner Frage zu tun ^^?
Ja, jut sag ich mal und was hat das jetzt mit meiner Frage zu tun ^^?
Du willst den Mac einschalten --> Switchbot ueber homebridge
Du willst den Mac ausschalten --> Skript zum Ausschalten (kann auch in ein Plugin als command integriert werden)
wollte mich mal informieren ob jemand eventuell weiß ob man den Mac mini (2012) via Homebridge in HomeKit einbinden kann und diesen somit ein und aus schalten (wake and sleep) kann.
Ja, ich weiß das. ich nehme an, dass du jetzt auch noch wissen willst, wie das geht. Weißt du eigentlich, wie spät es ist?
Ok, ich sag's dir morgen.
Das würde mich auch interessieren! 😀
Ja, ich weiß das. ich nehme an, dass du jetzt auch noch wissen willst, wie das geht. Weißt du eigentlich, wie spät es ist?
Ok, ich sag's dir morgen.
Dann erwarte ich ihre Erleuchtung morgen
Es geht los. Wird lang.
Um einen Mac per Homebridge aus- und einschalten zu können, muss man erst mal darüber nachdenken, was das bedeutet:
Also wird sich die folgende Anleitung damit beschäftigen, den Mac in den Schlafmodus zu versetzen und daraus wieder zu erwecken und das ganze mit Homebridge oder Kurzbefehle zu verknüpfen. Ich werde für Kurzbefehle keine weitere Anleitung gegeben.
Was braucht man dazu?
Dann mal los.
Als erstes schreibst du mal ein kleines Skript. Es ist wirklich sehr klein. Öffne das Terminal-Programm auf deinem Mac und gibt ein:
nano sleepmac.sh
Ein leeres Editor-Fenster öffnen sich, dass du so befüllst:
Speichere das ab, indem du control-x und dann y drückst und dann die Entertaste betätigst. Dann machst du aus dem lächerlichen Text da oben ein ausführbares Skript mit dem Befehl chmod +x sleepmac.sh. Das kannst du schon mal testen mit ./sleepmac.sh. Der Bildschirm wird schwarz.
Gib nun ein: whoami. Der Befehl liefert dir deinen Usernamen auf dem Mac zurück. Bei mir lautet der sschuste:
Resolution:~ sschuste$ whoami
sschuste
Ich werde weiterhin diesen Usernamen als user bezeichnen. Du setzt dann dort immer deinen Usernamen ein.
Logge dich nun auf dem Raspi ein und gibt dort ein
ssh user@ipadresse-des-Mac ./sleepmac.sh, wobei du user durch deinen Usernamen auf dem Mac ersetzt und ipadresse-des-Mac durch die IP-Adresse deines Macs. Sieht bei mir so aus:
ssh [email protected] ./sleepmac.sh
Du wirst jetzt hier dein Passwort für den Mac eingeben müssen. Das ist ein hässliches Hindernis, das noch überwunden werden muss, aber nach Eingabe des Passwortes wird der Bildschirm schwarz. Außerdem wirst du beim ersten Kontakt zu deinem Mac mit der Frage konfrontiert Are you sure you want to continue connecting (yes/no)? Hier gibst das Wort yes ein und drückst die Entertaste. Das passiert nur beim ersten Mal, aber der Ärger mit der Passworteingabe bleibt. Du kannst ihn umgehen, indem du einen ssh-Schlüssel erzeugst.
Der ssh-Schlüssel muss erzeugt werden für den User, unter dem die Homebridge auf dem Raspi läuft. Wenn du der alten Startapfel-Anleitung zum Setup der Homebridge gefolgt bist, dann ist das der User homebridge. Gib in diesem Fall auf dem Raspi ein:
sudo su - homebridge (der Schritt entfällt, wenn du die Homebridge nicht nach der alten Anleitung des Forums aufgesetzt hast. Die alte Anleitung wurde Anfang März in die Rente geschickt)
ssh-keygen (die folgenden drei Fragen beantwortest du alle, indem du die Entertaste drückst, auch bei der Abfrage der Passphrase)
ssh-copy-id user@ipadresse-des-Mac (hier wirst nach dem Passwort auf dem Mac gefragt)
Wenn alles gut aussieht, rufst du auf dem Raspi erneut den Schlafbefehl für den Mac auf
ssh user@ipadresse-des-Mac ./sleepmac.sh
Jetzt sollte der Bildschirm schwarz werden, ohne dass du ein Passwort für den Mac eingeben musstest.
Erster Schritt und dritter Schritt aus der obigen Liste sind geschafft. Jetzt kommt der zweite: den Mac wieder aufwecken. Dazu schreibst erneut ein Script auf deinem Mac. Öffne also ein Terminal-Fenster auf deinem Mac und gib ein:
nano wakemac.sh
Ein leeres Editor-Fenster öffnen sich, in das du schreibst:
Speichere das ab, indem du control-x und dann y drückst und dann die Entertaste betätigst. Dann machst du daraus ein ausführbares Skript mit dem Befehl chmod +x wakemac.sh. Das kannst du auch testen mit ./wakemac.sh, aber viel wird da nicht passieren.
Aber: du bist fast fertig. Jetzt brauchst du nur noch das Plugin. Installiere homebridge-cmdtrigger. In deiner config.json brauchst du dann diese Konfiguration im accessories-Abschnitt:
{
"accessory": "CmdTrigger",
"name": "Mac schlafen",
"command": "ssh user@ipdadresse-des-Mac ./sleepmac.sh",
"delay": "1000"
},
{
"accessory": "CmdTrigger",
"name": "Mac wecken",
"command": "ssh user@ipdadresse-des-Mac ./wakemac.sh",
"delay": "1000"
},
Alles anzeigen
Homebridge neu starten und dann sollte es klappen.
Hallo,
ich habe in meinem Heimnetzwerk eine Homebridge am laufen, um meinen Windows-Rechner über WOL ein- und auszuschalten.
Nun habe ich mir neben meinem Windows-Rechner einen Mac gekauft und nun frage ich mich, ob das ebenfalls möglich ist?
Folgenden Befehl nutze ich für Windows: net rpc shutdown -I 192.168.178.141 -t 05 -U shutdown%shutdown
Diesen habe ich nun ebenfalls versucht, für meinen Mac zu verwenden, aber dann kommt folgender Fehler:
An error occured while trying to shut down "Mac mini" (192.168.178.154): Error: Command failed: net rpc shutdown -I 192.168.178.154 -t 05 -U shutdown%shutdown
mkdir failed on directory /var/run/samba/msg.lock: Permission denied
Could not connect to server 192.168.178.154
Connection failed: NT_STATUS_CONNECTION_REFUSED
Could not connect to server 192.168.178.154
Connection failed: NT_STATUS_CONNECTION_REFUSED
at ChildProcess.exithandler (child_process.js:308:12)
at ChildProcess.emit (events.js:315:20)
at maybeClose (internal/child_process.js:1048:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5) {
killed: false,
code: 255,
signal: null,
cmd: 'net rpc shutdown -I 192.168.178.154 -t 05 -U shutdown%shutdown',
stdout: '',
stderr: 'mkdir failed on directory /var/run/samba/msg.lock: Permission denied\n' +
'Could not connect to server 192.168.178.154\n' +
'Connection failed: NT_STATUS_CONNECTION_REFUSED\n' +
'Could not connect to server 192.168.178.154\n' +
'Connection failed: NT_STATUS_CONNECTION_REFUSED\n'
}
Anscheinend scheint die Verbindung verweigert zu werden, und Permission nicht erteilt werden.
Wie kann ich das nun konfigurieren, dass ich den Mac ausschalten kann?
Ich freue mich auf eine Antwort und wünsche einen schönen Abend.
Mit freundlichem Gruß
Leon
Die Anleitung oben hast du gelesen?
Ich selber schalte meine macs nie aus. Brauchen im Schlaf so wenig Strom das es sich nicht lohnt.
walta
Alles anzeigenEs geht los. Wird lang.
Um einen Mac per Homebridge aus- und einschalten zu können, muss man erst mal darüber nachdenken, was das bedeutet:
- einen eingeschalteten Mac kann man über Software ausschalten (mit dem Befehl shutdown).
- einen ausgeschalteten Mac kann man über Software nicht wieder einschalten. Man muss zwingend auf den Einschaltknopf drücken.
Also wird sich die folgende Anleitung damit beschäftigen, den Mac in den Schlafmodus zu versetzen und daraus wieder zu erwecken und das ganze mit Homebridge oder Kurzbefehle zu verknüpfen. Ich werde für Kurzbefehle keine weitere Anleitung gegeben.
Was braucht man dazu?
- den Befehl, um den Mac zum Schlafen zu bringen: pmset sleepnow. Wenn du den auf einem Mac-Terminal eingibst, wird der Bildschirm schwarz und die Kiste fängt an zu pennen.
- den Befehl, um einen Mac aufzuwecken: caffeinate -u -t 1. Den kannst du nicht auf deinem Mac eingeben, weil: der schläft ja. Du müsstest den Mac erst aufwecken, damit du ihn aufwecken kannst - klingt nicht nur albern, sondern ist es auch. Aber dein Raspi kann den Befehl übermitteln. Nach dem Aufwachen zeigt der Mac dann seinen Anmeldebildschirm. Ich habe keinen Weg gefunden, diesen zu umgehen.
- einen ssh-Schlüssel, damit sich der Raspi ohne Passwort an den Mac anmelden kann
- ein Homebridge-Plugin, das Linux-Befehle ausführen kann. Ich verwende homebridge-cmdtrigger.
Dann mal los.
Als erstes schreibst du mal ein kleines Skript. Es ist wirklich sehr klein. Öffne das Terminal-Programm auf deinem Mac und gibt ein:
nano sleepmac.sh
Ein leeres Editor-Fenster öffnen sich, dass du so befüllst:
Speichere das ab, indem du control-x und dann y drückst und dann die Entertaste betätigst. Dann machst du aus dem lächerlichen Text da oben ein ausführbares Skript mit dem Befehl chmod +x sleepmac.sh. Das kannst du schon mal testen mit ./sleepmac.sh. Der Bildschirm wird schwarz.
Gib nun ein: whoami. Der Befehl liefert dir deinen Usernamen auf dem Mac zurück. Bei mir lautet der sschuste:
Resolution:~ sschuste$ whoami
sschuste
Ich werde weiterhin diesen Usernamen als user bezeichnen. Du setzt dann dort immer deinen Usernamen ein.
Logge dich nun auf dem Raspi ein und gibt dort ein
ssh user@ipadresse-des-Mac ./sleepmac.sh, wobei du user durch deinen Usernamen auf dem Mac ersetzt und ipadresse-des-Mac durch die IP-Adresse deines Macs. Sieht bei mir so aus:
ssh [email protected] ./sleepmac.sh
Du wirst jetzt hier dein Passwort für den Mac eingeben müssen. Das ist ein hässliches Hindernis, das noch überwunden werden muss, aber nach Eingabe des Passwortes wird der Bildschirm schwarz. Außerdem wirst du beim ersten Kontakt zu deinem Mac mit der Frage konfrontiert Are you sure you want to continue connecting (yes/no)? Hier gibst das Wort yes ein und drückst die Entertaste. Das passiert nur beim ersten Mal, aber der Ärger mit der Passworteingabe bleibt. Du kannst ihn umgehen, indem du einen ssh-Schlüssel erzeugst.
Der ssh-Schlüssel muss erzeugt werden für den User, unter dem die Homebridge auf dem Raspi läuft. Wenn du der alten Startapfel-Anleitung zum Setup der Homebridge gefolgt bist, dann ist das der User homebridge. Gib in diesem Fall auf dem Raspi ein:
sudo su - homebridge (der Schritt entfällt, wenn du die Homebridge nicht nach der alten Anleitung des Forums aufgesetzt hast. Die alte Anleitung wurde Anfang März in die Rente geschickt)
ssh-keygen (die folgenden drei Fragen beantwortest du alle, indem du die Entertaste drückst, auch bei der Abfrage der Passphrase)
ssh-copy-id user@ipadresse-des-Mac (hier wirst nach dem Passwort auf dem Mac gefragt)
Wenn alles gut aussieht, rufst du auf dem Raspi erneut den Schlafbefehl für den Mac auf
ssh user@ipadresse-des-Mac ./sleepmac.sh
Jetzt sollte der Bildschirm schwarz werden, ohne dass du ein Passwort für den Mac eingeben musstest.
Erster Schritt und dritter Schritt aus der obigen Liste sind geschafft. Jetzt kommt der zweite: den Mac wieder aufwecken. Dazu schreibst erneut ein Script auf deinem Mac. Öffne also ein Terminal-Fenster auf deinem Mac und gib ein:
nano wakemac.sh
Ein leeres Editor-Fenster öffnen sich, in das du schreibst:
Speichere das ab, indem du control-x und dann y drückst und dann die Entertaste betätigst. Dann machst du daraus ein ausführbares Skript mit dem Befehl chmod +x wakemac.sh. Das kannst du auch testen mit ./wakemac.sh, aber viel wird da nicht passieren.
Aber: du bist fast fertig. Jetzt brauchst du nur noch das Plugin. Installiere homebridge-cmdtrigger. In deiner config.json brauchst du dann diese Konfiguration im accessories-Abschnitt:
CodeAlles anzeigen{ "accessory": "CmdTrigger", "name": "Mac schlafen", "command": "ssh user@ipdadresse-des-Mac ./sleepmac.sh", "delay": "1000" }, { "accessory": "CmdTrigger", "name": "Mac wecken", "command": "ssh user@ipdadresse-des-Mac ./wakemac.sh", "delay": "1000" },
Homebridge neu starten und dann sollte es klappen.
Noch smarter wird es gänzlich ohne Bash Skripte indem du einfach folgende Befehle ausführst: