Homebridge installatie op Raspberry PI

Homebridge wordt geïnstalleerd op een Raspberry PI en fungeert als interface tussen Apple HomeKit en apparaten die standaard niet door HomeKit ondersteund worden. Bijvoorbeeld het klik-aan-klik-uit systeem, Sonos muziekspelers of de Nest-thermostaat. Met Homebridge zijn deze apparaten vervolgens aan te sturen via Apple HomeKit op de iPhone of iPad.

Ook kan Homebridge gebruikt worden als oefen-project om ‘dummy’ apparaten aan te maken en om dan te kunnen aansturen via Apple HomeKit. Hierdoor leer je hoe de applicaties werken voordat je echte HomeKit-devices gaat aanschaffen.

Hieronder een beschrijving hoe je Homebridge installeert op een Raspberry PI model 2B


Zorg er eerst voor dat node/npm op de RPi is geïnstalleerd, zie hiervoor deze pagina

Nu zorgen we ervoor dat mdns Avahi kan gebruiken

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

Gebruik nu npm om Homebridge te installeren:

sudo npm install -g --unsafe-perm homebridge

Nu kan Homebridge gestart worden:

homebridge -I

Nu wordt de Q-code getoond waarmee Homebridge als device in Apple HomeKit toegevoegd kan worden.


Auto start homebridge

Maak een bash-script in de home directory:

vi /home/pi/homebridge.sh

met de volgende inhoud:

#!/bin/bash
homebridge -I

(-I is voor insecure, hiermee worden tevens de accessoires getoond in de GUI)

Maak het bestand executable met:

chmod 755 /home/pi/homebridge.sh

en start deze door /etc/local.rc aan te passen zodat het er zo uit ziet:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
 printf "My IP address is %s\n" "$_IP"
fi

/home/pi/homebridge.sh &

exit 0

Dit zal na opstarten van de RPi het bash-script op de achtergrond uitvoeren.


Homebridge GUI

Het zou ook bijzonder handig zijn om Homebridge met een grafische interface te kunnen bedienen met behulp van een Internet browser. Hiervoor is een module beschikbaar en die installeren we met:

sudo npm install -g --unsafe-perm homebridge-config-ui-x

De config.json dient aangepast te worden. Deze staat in /root/.homebridge/ en het moet er alsvolgt uitzien:

{
  "bridge": {
    "name": "Homebridge",
    "username": "CC:22:3D:E3:CE:30",
    "port": 51826,
    "pin": "031-45-154"
  },
  "description": "Erik's Homebridge config.json file.",
  "accessories": [],
  "platforms": [
  {
    "platform": "config",
    "name": "Config",
    "port": 8080,
    "sudo": false,
    "log": "/var/log/homebridge.log",
  }
  ]
}

Hierna de Raspberry PI restarten en je kunt nu met een browser naar de RPi op poort 8080.

http://raspberrypi.local:8080

1 reactie op “Homebridge installatie op Raspberry PI

  1. Ik kreeg de volgende foutmelding:

    pi@raspberrypi:~ $ homebridge
    module.js:549
    throw err;
    ^

    Error: Cannot find module ‘../build/Release/dns_sd_bindings’
    at Function.Module._resolveFilename (module.js:547:15)
    at Function.Module._load (module.js:474:25)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object. (/usr/local/lib/node_modules/homebridge/node_modules/mdns/lib/dns_sd.js:32:22)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)

    Zo te zien was er iets fout gegaan met de dns-module of is deze niet juist geïnstalleerd. Deze dus maar even opnieuw installeren:

    sudo npm install –unsafe-perm mdns

    Hierna Homebridge ‘rebuilden’ met:

    cd /usr/local/lib/node_modules/homebridge
    sudo npm rebuild –unsafe-perm

Reacties zijn gesloten.