Hallo zusammen,
da hier im Forum schon öfters das Thema aufgekommen ist wie man mehrere Homebridge Instanzen anlegt um bestimmte Plugins isoliert in einer eigenen Homebridge laufen zu lassen oder weil ihr das Apple Geräte Limit (99 Geräte pro Bridge) bei eurer Homebridge fast erreicht ist habe ich hier eine Schritt für Schritt Anleitung für euch am Beispiel vom homebridge-hue Plugin.
Vielen Dank an dieser Stelle mal wieder an det für die Unterstützung, so macht Open Source doch Spass
Vorab möchte ich euch folgendes Tool noch Empfehlen für einen grafischen Zugriff auf eure Ordnerstruktur FileZilla Client zu haben. Dort könnt ihr Dateien und Ordner anlegen ohne Nano Editor bzw. Terminal.
Hinweis: Ihr müsst als Root angemeldet sein, damit es funktioniert.
1.)
- Im Ordner /etc/systemd/system eine zusätzliche Datei erstellen zur vorhandenen homebridge.service Datei.
- Diese heißt in unserem Beispiel homebridge-hue.service
- Angelegt wird diese mit sudo touch /etc/systemd/system/homebridge-hue.service
- Datei öffnen zum bearbeiten
sudo nano /etc/systemd/system/homebridge-hue.service
- Hier wird folgender Inhalt eingefügt:
[Unit]
Description=Node.js HomeKit Server
After=syslog.target network-online.target
[Service]
Type=simple
User=root
EnvironmentFile=/etc/default/homebridge-hue
ExecStart=/usr/local/bin/homebridge $HOMEBRIDGE_OPTS
Restart=on-failure
RestartSec=10
KillMode=process
[Install]
WantedBy=multi-user.target
Alles anzeigen
2.)
- Im Ordner /etc/default eine zusätzliche Datei erstellen zur vorhandenen homebridge Datei
- Diese heißt in unserem Beispiel homebridge-hue
- Angelegt wird diese mitsudo touch /etc/default/homebridge-hue
- Hier wird folgender Inhalt eingefügt:
# 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 >> /var/log/homebridge.log 2>> //var/log/homebridge.err
HOMEBRIDGE_OPTS=-U /var/homebridge-hue
# If you uncomment the following line, homebridge will log more
# You can display this via systemd's journalctl: journalctl -f -u homebridge
# DEBUG=*
3.)
- Einen Ordner anlegen im Verzeichnis /var
- Angelegt wird dieser mit mkdir /var/homebridge-hue
- In diesem Ordner wird unsere config.json angelegt für unsere zweite Homebridge mit dem homebridge-hue Plugin dafür sudo touch /var/homebridge-hue/config.json die Datei erstellen und anschließend über sudo nano /var/homebridge-hue/config.jsondie Config bearbeiten.
- Hier ist es wichtig das ihr in der config.json den namen, usernamen und port abändert zur bestehenden Homebridge config.json.
{
"bridge": {
"name": "Homebridge-hue",
"username": "CC:22:3D:E3:CE:33",
"port": 51843,
"pin": "123-45-678",
"manufacturer": "@Paul Schmidt",
"model": "Homebridge",
"serialNumber": "0.4.33"
},
"accessories": [
],
"platforms": [
]
}
Alles anzeigen
4.)
- Jetzt muss die Unit bzw. der Dienst den wir angelegt haben noch aktiviert und gestartet werden.
- Das machen wir mit folgenden Befehlen:
sudo systemctl daemon-reload
sudo systemctl enable homebridge-hue.service
sudo systemctl start homebridge-hue.service
5.)
Prüfen ob der Dienst aktiviert wurde:
systemctl list-unit-files --state=enabled
6.)
- Der systemctl Dienst kann jetzt mit den bekannten Befehlen aus der Befehlssammlung aufgerufen, gestartet oder gestoppt werden.
- Dazu muss jeweils nur der Standard Befehl wie hier in dem Beispiel ergänzt werden:
sudo systemctl restart homebridge-hue -l
Jetzt habt ihr auf dem gleichen Pi noch eine zweite Homebridge als Dienst laufen.
Für mich selber muss ich sagen das ich alle Plugins die reale Hardware besitzen eine eigene Instanz auf diesem Weg angelegt habe, was meiner Ansicht nach die ausfall Wahrscheinlichkeit um ein ganzes Stück reduziert. Sollte jetzt ein Plugin abbrechen weil ein Gerät nicht im Netzwerk erreichbar ist oder ähnliches laufen dafür alle anderen Instanzen weiter. Außerdem bin ich mittlerweile am oben beschriebenen Geräte Limit gewesen was von Apple festgelegt wurde
Wünsche ich euch viel Spass damit.
Gruß Nastra