So verbinden Sie jedes Smart Device mit HomeKit (mit einem Raspberry Pi)
Veröffentlicht: 2022-01-29Viele intelligente Geräte überspringen den Apple HomeKit-Support und lassen sich nur mit Alexa, Google und anderen Plattformen integrieren. Mit diesem Raspberry Pi-Hack können Sie jedoch jedem Smart-Gerät mit der Open-Source-Homebridge-Software HomeKit-Unterstützung hinzufügen.
HomeKit für jedes Smart Device
Wenn Sie auf HomeKit setzen, besteht ein großes Problem darin, wie wenige intelligente Geräte es unterstützen. Das einzige, was einige preiswerte intelligente Glühbirnen zurückhält, ist zum Beispiel ihr Mangel an HomeKit-Unterstützung. Amazon's Choice für eine „intelligente Glühbirne“ ist ein Viererpack von TECKIN, das zum jetzigen Zeitpunkt rund 40 US-Dollar kostet – weniger als eine einzelne LIFX-Glühbirne.
Sicher, sie sind nicht so hochwertig wie LIFX; Die Farben sind nicht so lebendig und geben im Badezimmer ein hörbares Summen ab, aber für 10 US-Dollar pro Stück sind sie ein ziemlich unschlagbarer Wert.
Das Hauptproblem ist jedoch, dass sie keine HomeKit-Unterstützung haben. Sie sind nicht ganz dumm – sie funktionieren mit Google Home, Alexa, IFTTT und der App des Herstellers. Sie sind in Ordnung für jemanden, der nur intelligente TECKIN-Glühbirnen hat.
Da Sie jedoch nicht über HomeKit darauf zugreifen können, können Sie sie nicht über die Home-App, das Widget im Kontrollzentrum oder Siri steuern. Sie können sie auch nicht in Szenen mit Glühbirnen anderer Marken einbinden oder in Automatisierungen verwenden. Wenn Sie bereits in HomeKit investiert haben, ist dies höchstwahrscheinlich ein Dealbreaker.
Lernen Sie Homebridge kennen
Glücklicherweise gibt es einen Hack, der diese speziellen Glühbirnen viel nützlicher macht. Die HomeKit-API ermöglicht es Geräten, die Bridges genannt werden, wie dieses von Philips Hue, untergeordnete Geräte zu verbinden, die mit anderen Protokollen arbeiten. Sie fügen die Bridge einfach als Gerät in HomeKit hinzu und sie registriert jedes daran angeschlossene Licht in HomeKit. Immer wenn Sie die Aktualisierung einer Leuchte anfordern, kommuniziert Ihr Telefon mit der Bridge und die Bridge mit der Leuchte.
Eine Brücke leitet also nur Informationen von einer API zu einer anderen weiter. Da Sie die TECKIN-Glühbirnen über das Internet steuern können, ist es durchaus möglich, sie nur mit Software mit HomeKit zu verbinden – es ist keine proprietäre Hardware erforderlich.
Wenn Sie einen Raspberry Pi herumliegen haben (ein $ 5 Pi Zero ist in Ordnung), können Sie ihn mit einem Framework namens Homebridge als Brücke einrichten. Diese leichtgewichtige NodeJS-Anwendung emuliert die HomeKit-API und leitet Anfragen an Ihre Nicht-HomeKit-Smart-Geräte weiter.
Grundsätzlich führen Sie es auf dem Pi aus und es fügt jedes "dumme" Gerät zur Home-App hinzu. Wenn Sie versuchen, die Glühbirne über die Home-App oder Siri zu steuern, kommuniziert Homebridge für Sie mit den Geräten. Nachdem Sie es eingerichtet haben, ist es so, als hätte das Gerät überhaupt HomeKit-Unterstützung.
Dies erfordert, dass auf dem Gerät jederzeit Homebridge ausgeführt wird, also würden Sie dies nicht auf Ihrem Laptop installieren. Ein Raspberry Pi ist ideal, aber wenn Sie ein altes Gerät haben, das Sie als Server oder Desktop verwenden können, der immer läuft, können Sie es dort installieren.
Homebridge ist ein Framework, das Sie mit Plug-Ins erweitern können. Es hat eine ziemlich große Community-Unterstützung, daher besteht eine gute Chance, dass jedes Smart-Gerät wahrscheinlich über ein Homebridge-Plug-in verfügt, um es zu unterstützen. Wenn Ihr Gerät kein Plug-In hat, Ihr Smart-Gerät aber über eine API verfügt und Sie technisch versiert sind, können Sie selbst eines schreiben.
Für die meisten Leute besteht das Setup jedoch nur aus der Installation von Homebridge und dem Marken-Plug-In für das Gerät, zusammen mit ein wenig Konfiguration. Wenn Sie die Befehlszeile verwenden können und ein wenig Zeit haben, ist es ziemlich einfach.
Homebridge installieren und konfigurieren
Homebridge ist eine NodeJS-App, daher müssen Sie node
und npm
installieren, um sie zu verwenden. Wenn auf Ihrem Computer Linux ausgeführt wird, können Sie es wahrscheinlich von Ihrem Paketmanager erhalten.
Unter Ubuntu müssen Sie Folgendes eingeben, um das Node-Repo manuell einzurichten, und dann nodejs
installieren:
curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash - sudo apt-get install -y nodejs
Andernfalls können Sie die Download-Seite von Node konsultieren, um Informationen zur Installation für Ihr spezielles Betriebssystem zu erhalten.
Wenn Sie Linux verwenden, müssen Sie auch einige Abhängigkeiten installieren, wie unten gezeigt:
sudo apt-get install libavahi-compat-libdnssd-dev
Danach können Sie Homebridge global über npm
installieren, wie unten gezeigt:
sudo npm install -g --unsafe-perm homebridge
Sie möchten auch die benötigten Marken-Plug-Ins installieren, da Homebridge nur ein Framework ist. Für die TECKIN-Glühbirnen ist das Plug-in beispielsweise homebridge-tuya-web
, das sich auch global installiert.
Sie würden Folgendes eingeben:
npm i homebridge-tuya-web -g
Nachdem alles installiert ist, können Sie das Ding tatsächlich verwenden! Geben Sie Folgendes ein, um Homebridge einmal auszuführen und alles zu initialisieren:
Heimatbrücke
Es wird sich über eine fehlende Konfiguration beschweren, die Sie erstellen müssen. Das Standardverzeichnis ist ~/.homebridge/
, aber Sie können den Parameter -U
verwenden, wenn Sie es verschieben möchten.
Geben Sie Folgendes ein, um eine neue JSON-Konfigurationsdatei in diesem Ordner zu erstellen:
nano ~/.homebridge/config.json
Unabhängig davon, welche Plugins Sie verwenden, benötigen Sie folgende Grundkonfiguration:
{ "Brücke": { "name": "Homebridge", "Benutzername": "CC:22:3D:E3:CE:30", "Hafen": 51826, "Stift": "031-45-154" }, "description": "Benutzerdefinierter HomeBridge-Server", "Häfen": { "Start": 52100, "Ende": 52150, }, "Plattformen": [ ] }
Dadurch wird Homebridge mit einem Standard-Port, -Namen, -PIN und -Portbereich konfiguriert, der anderen Geräten zugewiesen werden kann.
Innerhalb des leeren platforms
platzieren Sie die Konfiguration für jedes Plug-in. Anleitungen und Beispiele hierfür sollten Sie auf der GitHub-Seite jedes Plug-ins finden.
Im folgenden Beispiel möchte das homebridge-tuya-web
Plug-in für die TECKIN-Glühbirnen meinen Benutzernamen und mein Passwort wissen, um sich mit der API für die App der Glühbirne zu verbinden, und einige andere Dinge:
"Plattformen": [ { "Plattform": "TuyaWebPlatform", "name": "TuyaWebPlattform", "Optionen": { "Benutzername": "Benutzername", "Passwort": "Passwort", "Ländercode": "1", "Plattform": "smart_life", "pollingInterval": 10 } } ]
Sobald das alles konfiguriert ist, sollte Homebridge einsatzbereit sein. Führen Sie es erneut aus, und Ihr Terminal sollte einen riesigen QR-Code anzeigen, der Sie möglicherweise dazu zwingt, herauszuzoomen. Scannen Sie diese mit der Home-App, um sie und alle verbundenen Geräte zu HomeKit hinzuzufügen.
Homebridge lädt Ihre Plug-Ins und sollte für jedes gefundene Gerät eine Meldung auf dem Bildschirm protokollieren. Sie sollten sie alle in HomeKit sehen, nachdem sie hinzugefügt wurden, und sie sollten voll funktionsfähig sein.
Ich habe eine leichte Verzögerung im Vergleich zu meinen LIFX-Glühbirnen bemerkt. Dies liegt wahrscheinlich daran, dass die Glühbirnen eher über eine API als direkt gesteuert werden. Anfangs zeigten die Glühbirnen auch einige Weiß- und Warmweißtöne nicht richtig an, aber nach ein wenig Feintuning konnte ich richtige Szenen einrichten.
Sie können die Geräte jederzeit in ihren eigenen Apps konfigurieren, auf die Aktualisierung der Home-App warten und dann die Szene in HomeKit mit der vorgefertigten Konfiguration einstellen.
Wenn Sie Homebridge erneut hinzufügen müssen, sollten Sie den Ordner persist/
im config-Verzeichnis löschen und dann die Bridge von HomeKit aus den Einstellungen jeder angeschlossenen Glühbirne auf der Registerkarte „Bridge“ entfernen.
Hinzufügen von Homebridge als Dienst
Wenn Sie möchten, dass Homebridge die ganze Zeit läuft, sollten Sie es wahrscheinlich so konfigurieren, dass es neu gestartet wird, wenn es abstürzt oder wenn Ihr Raspberry Pi neu startet. Sie können dies über einen Unix-Dienst tun. Richten Sie dies ein, nachdem Sie überprüft haben, dass Homebridge wie vorgesehen funktioniert.
Fügen Sie zuerst einen neuen Dienstbenutzer namens homebridge
:
sudo useradd -M --system homebridge
Legen Sie ein Passwort fest:
sudo passwd homebridge
Als nächstes müssen Sie die homebridge
Konfiguration aus Ihrem persönlichen Home-Verzeichnis verschieben. /var/lib/homebridge/
sollte in Ordnung sein:
sudo mv ~/.homebridge /var/lib/homebridge/
Stellen Sie sicher, dass die Person, die homebridge
verwendet, Eigentümer dieses Verzeichnisses und aller Unterordner ist:
sudo chown -R homebridge /var/lib/homebridge/
Sobald dies erledigt ist, können Sie den Dienst erstellen. Erstellen Sie dazu eine neue Datei namens homebridge.service
in /etc/systemd/system/
:
sudo nano /etc/systemd/system/homebridge.service
Und fügen Sie dann die folgende Konfiguration ein:
[Einheit] Description=Homebridge-Dienst After=syslog.target network-online.target [Service] Typ=einfach Benutzer=Homebridge ExecStart=/usr/bin/homebridge -U /var/lib/homebridge Neustart=bei Fehler RestartSec=10 KillMode=Prozess [Installieren] WantedBy=multi-user.target
Laden Sie den Services-Daemon neu, um ihn mit Ihren Änderungen zu aktualisieren:
sudo systemctl daemon-reload
Jetzt sollten Sie in der Lage sein, Ihren Dienst zu aktivieren (so einzustellen, dass er beim Booten ausgeführt wird):
sudo systemctl homebridge aktivieren
Und starten Sie es:
sudo systemctl homebridge starten
Wenn Sie Fehler beheben müssen, die sich aus der Dienstkonfiguration ergeben, können Sie die Protokolle für den Dienst anzeigen, indem Sie Folgendes eingeben:
journalctl -fn 50 -u homebridge