Fino ad ora abbiamo installato e reso operativo HomeBridge sul nostro Raspberry, aggiunto alcuni plugin di cui non si poteva fare a meno, quali Alexa visto che per il momento HomePod in italiano è un sogno.
Abbiamo inoltre reso Homebridge decisamente più friendly dotandolo di interfaccia grafica.
Adesso vedremo di automatizzare l’avvio di HomeBridge all’accensione di Raspberry o riavviarlo automaticamnete in caso di errore.
Per implementare l’avvio automatico ci sono diversi sistemi; noi useremo systemd .
Questi i passi da seguire:
- sudo nano /etc/default/homebridge
- Incolliamo la seguente riga: HOMEBRIDGE_OPTS=-U /var/homebridge -I
- sudo nano /etc/systemd/system/homebridge.service
- Incolliamo i seguenti comandi
[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
NOTA: Se HomeBridge è installato in /usr/bin/ allora togliere local dal comando ExecStart=/usr/local/bin/homebridge $HOMEBRIDGE_OPTS
- sudo useradd --system homebridge
- sudo mkdir /var/homebridge
- sudo cp ~/.homebridge/config.json /var/homebridge/
- sudo cp -r ~/.homebridge/persist /var/homebridge
- sudo chmod -R 0777 /var/homebridge
- sudo systemctl daemon-reload
- sudo systemctl enable homebridge
- sudo systemctl start homebridge
Per controllare lo stato del servizio digitare systemctl status homebridge .
Per visualizzare I logs digitare journalctl -f -u homebridge
Se riscontrate problemi di funzionamento, rimuovere dal file homebridge.service , la riga User=homebridge
Se stiamo usando il plugin homebridge-config-UI-X modificheremo la configurazione per integrare systemd nel comando di riavvio dell'interfaccia
"platforms": [
{
"platform": "config",
"name": "Config",
"port": 8080,
"restart": "sudo -n systemctl restart homebridge",
"log": {
"method": "systemd",
"service": "homebridge"
}
}
]