Hub compatibile Apple HomeKit con Raspberry - Avvio automatico di HomeBridge

Parte 6 - Impostiamo l'avvio automatico di HomeBridge dopo l'accensione di Raspberry

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:

  1. sudo nano /etc/default/homebridge 
  2. Incolliamo la seguente riga: HOMEBRIDGE_OPTS=-U /var/homebridge -I
  3. sudo nano /etc/systemd/system/homebridge.service
  4. 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  

 

  1. sudo useradd --system homebridge
  2. sudo mkdir /var/homebridge
  3. sudo cp ~/.homebridge/config.json /var/homebridge/
  4. sudo cp -r ~/.homebridge/persist /var/homebridge
  5. sudo chmod -R 0777 /var/homebridge
  6. sudo systemctl daemon-reload
  7. sudo systemctl enable homebridge
  8. 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"

      }

    }

]


Gianluca Piergentili

15 Blog post

Commenti