, , , , , ,

Quicktipp: Homebridge – Autostart für Tinker Board S einrichten

Heute will ich Euch kurz erklären, wie Ihr unter Armbian einen Autostart für die Homebridge einrichten könnt. Wenn Ihr ein All-in-One-System mit piVCCU3 nutzt, dann kann neben der CCU-Software auch die Homebridge und weitere Programme in einem separaten Container installiert werden. Das Tinker Board S ist durch seinen großen RAM und die flotte CPU bestens dafür ausgerüstet. Wie Ihr die Homebridge installieren könnt, habe ich Euch hier bereits ausführlich beschrieben. Die Einstellungen für den Autostart verhalten sich etwas anders bei einer Rasbian Installation. Daher möchte ich Euch kurz zeigen, wie Ihr den Autostart auch bei einer Armbian-Installation (die Ihr für das Tinker Board braucht) realisieren könnt.

Nachdem Ihr die Homebridge installiert habt, kann diese über den Befehl „homebridge“ in der Console gestartet werden. Doch sobald das Fenster geschlossen wir, wird auch das Programm beendet. Warum das so ist und wie Ihr dies beheben könnt, findet Ihr in diesem Artikel. Dafür brauchen wir den „systemctl“ Befehl. In der Anleitung für den Raspberry Pi habe ich dies schon ausführlich beschrieben, doch wie schon anfänglich erwähnt verhält sich Armbian etwas anders, daher müssen auf dem Tinker Board S folgende Schritte vorgenommen werden:

Zuerst müssen wir folgenden Befehl ausführen:

sudo nano /etc/default/homebridge

In das neue Fenster fügen wir nun folgenden Inhalt ein:

# 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=-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=*

Das Fenster schließen wir mit „Strg“ + „X“ und bestätigen mit „Y“.

Nun folgt der Befehl zum anlegen des Services:

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

Es öffnet sich erneut ein leeres Fenster, in das wir folgenden Inhalt kopieren:

[Unit]
Description=Node.js HomeKit Server 
After=syslog.target network-online.target

[Service]
Type=simple
User=homebridge
EnvironmentFile=/etc/default/homebridge
ExecStart=/usr/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=4
KillMode=process

[Install]
WantedBy=multi-user.target

Hier legen wir fest, wann die Homebridge neu gestartet werden soll. Ich habe „on-failure“ ausgewählt. Das bedeutet, dass das Programm bei einem Fehler automatisch neu gestartet wird. Die Zeit, in der dies geschehen soll, wir ebenfalls hier festgelegt. Aktuell verwende ich 2 Sekunden.

Auch dieses Fenster müssen wir erneut mit „Strg“ + „X“ und „Y“

Nun folgt dieser Befehl:

sudo useradd --system homebridge

Wir legen den User „homebridge“ an.

sudo cp ~/.homebridge/config.json /var/homebridge/

Mit dem oberen Befehl kopieren wir alle Einstellungen, die Ihr bereits in der Homebridge vorgenommen habt.

Der nächste Befehl wird nur richtig ausgeführt, wenn Ihr die Homebridge bereits einmal manuell mit „homebridge“ ausgeführt habt.

sudo cp -r ~/.homebridge/persist /var/homebridge

Nun werden noch fehlende Berechtigungen gesetzt und der neue Service im System integriert. Dafür sind die nächsten Befehle notwendig:

sudo chmod -R 0777 /var/homebridge

sudo systemctl daemon-reload

sudo systemctl enable homebridge

sudo systemctl start homebridge

Mit dem letzten Befehl haben wir die Homebridge auch schon gestartet. Um die vorgenommenen Einstellungen zu testen könnt Ihr so vorgehen.

Wir starten das System neun und warten, bis das Tinker Board S wieder hochgefahren ist.

sudo reboot

Anschließend starten wir die SSH-Session erneut und tragen folgenden Befehl ein:

systemctl status homebridge

Nun sollte im Status erscheinen, dass die Homebridge läuft. Auch sollte der Code für das Einbinden der Bridge in die Home App ersichtlich sein. Damit haben wir den Autostart der Homebridge erfolgreich auf dem Tinker Board S eingerichtet.

1 Kommentar
  1. heiko
    heiko sagte:

    Leider bekomme ich über die Homebridge keinen Konnekt zum Homkit trotz korrekter Angabe des Codes.

    Liegt es vielleicht daran, dass beim Start der Homebridge auf dem Tinkerbord 2 Fehlermeldungen auftauchen:
    Feb 09 15:10:41 tinkerboard homebridge[1626]: Error: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443
    Feb 09 15:10:41 tinkerboard homebridge[1626]: Error: getaddrinfo ENOTFOUND registry.npmjs.org registry.npmjs.org:443
    Wie ist damit zu verfahren??
    die CCU läuft prima!
    Wie wird die Webdarstellung UI-X aufgerufen um zu Überprüfen, welche Daten übergeben werden sollen?

    Antworten

Hinterlasse einen Kommentar

An der Diskussion beteiligen?
Hinterlasse uns deinen Kommentar!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert