So verbinden Sie ein beliebiges Smart-Gerät mit HomeKit (mit einem Raspberry Pi)

Viele Smart-Geräte überspringen die Apple HomeKit-Unterstützung 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 bei HomeKit all-in sind, besteht ein großes Problem darin, wie wenige intelligente Geräte es unterstützen. Das einzige, was einige billige intelligente Glühbirnen zurückhält, ist beispielsweise der Mangel an HomeKit-Unterstützung. Amazons Wahl für eine „intelligente Glühbirne“ ist a Viererpack von TECKIN, die zum jetzigen Zeitpunkt etwa 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 im Badezimmer hörbar, aber für 10 US-Dollar pro Pop sind sie ein ziemlich unschlagbares Preis-Leistungs-Verhältnis.

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 Glühbirnen von TECKIN 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 Geräte, die als Bridges bezeichnet werden, wie z dieser von Philips Hue, um 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 eine Aktualisierungsanfrage für eine Ampel stellen, spricht Ihr Telefon mit der Brücke und die Brücke spricht mit der Ampel.

Eine Bridge leitet also nur Informationen von einer API an eine andere weiter. Da Sie die TECKIN-Glühbirnen über das Internet steuern können, ist es durchaus möglich, sie nur per Software mit HomeKit zu verbinden – es ist keine proprietäre Hardware erforderlich.

  So streamen Sie kostenlose Musik mit Amazon Prime

Wenn Sie einen Raspberry Pi herumliegen haben ($ 5 Pi Null ist in Ordnung), können Sie es als Brücke mit einem Framework namens . einrichten Homebridge. Diese leichte 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, spricht Homebridge für Sie mit den Geräten. Nachdem Sie es eingerichtet haben, ist es so, als hätte das Gerät HomeKit-Unterstützung an erster Stelle.

Dies erfordert, dass auf dem Gerät zu jeder Zeit Homebridge ausgeführt wird, sodass Sie dies nicht auf Ihrem Laptop installieren würden. Ein Raspberry Pi ist ideal, aber wenn Sie ein altes Gerät haben, können Sie es als Server oder Desktop verwenden, das immer läuft, und installieren Sie es dort.

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 Unterstützung dafür hinzuzufügen. Wenn Ihr Gerät kein Plug-in hat, Ihr Smart-Gerät jedoch über eine API verfügt und Sie technisch versiert sind, können Sie selbst eines schreiben.

Für die meisten Leute installiert das Setup jedoch nur Homebridge und das Marken-Plug-In für das Gerät, zusammen mit ein wenig Konfiguration. Wenn Sie die Befehlszeile verwenden können und etwas 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 abrufen.

Unter Ubuntu müssen Sie Folgendes eingeben, um das Node-Repository manuell einzurichten und dann nodejs zu installieren:

curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt-get install -y nodejs

Andernfalls können Sie sich beraten Download-Seite des Knotens für Informationen zur Installation für Ihr spezielles Betriebssystem.

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. Bei den TECKIN-Lampen zum Beispiel ist das Plug-In homebridge-tuya-web, die auch global installiert wird.

  So richten Sie Quassel Core auf einem Ubuntu-Server ein

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:

homebridge

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 von den verwendeten Plug-Ins benötigen Sie folgende Grundkonfiguration:

{
  "bridge": {
    "name": "Homebridge",
    "username": "CC:22:3D:E3:CE:30",
    "port": 51826,
    "pin": "031-45-154"
  },

  "description": "Custom HomeBridge Server",

  "ports": {
    "start": 52100,
    "end": 52150,
  },

  "platforms": [

  ]
}

Dadurch wird Homebridge mit einem Standardport, Namen, PIN und Portbereich konfiguriert, der anderen Geräten zugewiesen werden kann.

Innerhalb des leeren Plattform-Arrays platzieren Sie die Konfiguration für jedes Plug-In. Anweisungen und Beispiele dafü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 Glühbirnen-App zu verbinden, und einige andere Dinge:

  "platforms": [
     {
       "platform": "TuyaWebPlatform",
       "name": "TuyaWebPlatform",
       "options":
         {
           "username": "username",
           "password": "password",
           "countryCode": "1",
           "platform": "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 zum Herauszoomen zwingt. 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-Lampen bemerkt. Dies liegt wahrscheinlich daran, dass die Glühbirnen nicht direkt über eine API gesteuert werden. Anfangs zeigten die Glühbirnen auch einige Weiß- und Warmweißtöne nicht richtig an, aber nach ein wenig Feinabstimmung konnte ich richtige Szenen einrichten.

  Wann ist der richtige Zeitpunkt, um einen neuen Mac zu kaufen?

Sie können die Geräte jederzeit in ihren eigenen Apps konfigurieren, warten, bis die Home-App aktualisiert wird, und dann die Szene in HomeKit mit der vorgefertigten Konfiguration festlegen.

Wenn Sie Homebridge erneut hinzufügen müssen, sollten Sie den Ordner persist/ im config-Verzeichnis löschen und dann die Bridge aus 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 Ihr Raspberry Pi neu startet. Sie können dies über einen Unix-Dienst tun. Richten Sie dies ein, nachdem Sie überprüft haben, ob Homebridge wie vorgesehen funktioniert.

Fügen Sie zunächst einen neuen Dienstbenutzer namens homebridge hinzu:

sudo useradd -M --system homebridge

Legen Sie ein Passwort fest:

sudo passwd homebridge

Als nächstes müssen Sie die Homebridge-Konfiguration außerhalb Ihres persönlichen Home-Verzeichnisses 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:

[Unit]
Description=Homebridge service
After=syslog.target network-online.target

[Service]
Type=simple
User=homebridge
ExecStart=/usr/bin/homebridge -U /var/lib/homebridge
Restart=on-failure
RestartSec=10
KillMode=process


[Install]
WantedBy=multi-user.target

Laden Sie den Dienste-Daemon neu, um ihn mit Ihren Änderungen zu aktualisieren:

sudo systemctl daemon-reload

Jetzt sollten Sie in der Lage sein, Ihren Dienst zu aktivieren (einstellen, dass er beim Booten ausgeführt wird):

sudo systemctl enable homebridge

Und starte es:

sudo systemctl start homebridge

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