HomeBridge installieren und konfigurieren

HomeBridge installieren:

Erstmal nodeJS installien. Bitte sucht eine aktuelle Version, die node-v10.4.1 ist schon veraltet!

sudo apt-get install git
wget https://nodejs.org/dist/latest/node-v10.4.1-linux-armv7l.tar.gz
tar xf node-v10.4.1-linux-armv7l.tar.gz
sudo cp -R node-v10.4.1-linux-armv7l/* /usr/local/
sudo npm install -g n

Homebridge als Service einrichten:

sudo useradd -m -c "Homebridge Service" -s /bin/bash homebridge

Mittels vi oder nano folgende Datei ergänzen: sudo vi /etc/sudoers.d/homebridge

homebridge ALL=(root) SETENV:NOPASSWD: /usr/local/bin/npm, /bin/systemctl restart homebridge, /bin/journalctl, /usr/local/bin/node

Und noch die Berechtigungen setzen:

sudo chmod 640 /etc/sudoers.d/homebridge

Damit ist sichergestellt, dass der Service nicht zu viele Berechtigungen hat und die Sicherheit etwas eingeschränkt ist. Will man das aufbohren, trägt man diese Zeile in die o.g. Datei ein:

homebridge ALL=(ALL) SETENV:NOPASSWD: ALL

Noch eine SW damit die Homebridge auch immer läuft:

sudo apt-get install libavahi-compat-libdnssd-dev

Nun die eigentliche SW installieren: Homebridge!

sudo npm install -g --unsafe-perm homebridge
sudo mkdir -p /var/homebridge

Nun noch eine json Konfig anlegen “sudo vi /var/homebridge/config.json”

{
	"bridge": {
		"name": "Homebridge",
		"username": "CC:22:3D:E3:CE:30",
		"port": 51826,
		"pin": "031-45-154"
	},
	"description": "Home Smart Home",
	"platforms": [],
	"accessories": []
}

Nur noch die Berechtigungen korrigieren:

sudo chown -R homebridge:homebridge /var/homebridge

Geschafft! Nun noch dafür sorgen, dass der Service auch nach jedem Reboot läuft!

sudo nano /etc/systemd/system/homebridge.service

Folgendes in das File eintragen:

[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/local/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target

Noch eine Datei editieren:

sudo nano /etc/default/homebridge

Folgendes in das File eintragen:

# Defaults / Configuration options for homebridge
# The following settings tells homebridge where to find the config.json file and where to persist the data (i.e. pairing and others)
HOMEBRIDGE_OPTS=-I -U /var/homebridge
# If you uncomment the following line, homebridge will log more
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*

That’s it! – Fast!!!

sudo systemctl daemon-reload

und schließen alles ab:

sudo systemctl enable homebridge

Die Ausführliche Installation ist auch bei smartapfel zu finden.

Troubleshooting

Falls es Probleme gibt die HomeBridge in die Home-App einzubinden, versucht bitte folgendes:

  1. Stoppt den HomeBridge Dienst.
  2. Alle Dateien in diesen Verzeichnissen löschen: /.homebridge/persist ~/.homebridge/accessories.
  3. In der ~/.homebridge/config.json, bitte einen Buchstaben des “username” Feldes ändern. Aber Achtung, der Name ist hexadezimal!
  4. Den HomeBridge Dienst neu starten. -Fertig!