Domotica met Siri en HomeBridge

In een eerdere blog heb ik beschreven hoe je met een Raspberry Pi de basis kunt leggen voor Domotica in je huis. Daarnaast heb ik uitgelegd hoe je op afstand je huis kunt besturen.

Aangezien ik een iPhone gebruik, leek het me ook aardig om een koppeling te maken met Apple’s HomeKit. Deze domotica-software zit ingebouwd in iOS, waardoor het op elke iPhone en iPad beschikbaar is. Het leuke van HomeKit is dat je het kunt besturen met Siri, waardoor je met je stem je huis kunt besturen. Helaas werken niet alle domotica-oplossingen met HomeKit en Domoticz, het open-source pakket dat ik voor mijn domotica gebruik, is daar geen uitzondering op. Ook mijn Nest-thermostaat werkt standaard niet met HomeKit.

HomeBridge

Om apparaten toch met HomeKit te laten communiceren, is er HomeBridge. Deze open-source software werkt als schakel tussen je apparaten en HomeKit. Het draait op Node.js, dus dat zul je eerst moeten installeren. In deze blog ga ik er vanuit dat je de basis met een Raspberry Pi en Domoticz reeds draaiend hebt.

Om te beginnen log je via SSH in op je Raspberry Pi. We gaan nu eerst Node.js installeren. Ik vind het zelf het gemakkelijkste om dit als root te doen. Hiervoor geef je het volgende commando:

sudo bash

Toets nu de volgende commando’s om Node.js op te halen:

wget https://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-armv7l.tar.gz
tar -xvf node-v4.0.0-linux-armv7l.tar.gz
cd node-v4.0.0-linux-armv7l

Verplaats nu NodeJS naar /usr/local met het volgende commando:

cp -R * /usr/local/

Node.js is nu geïnstalleerd. Je kunt dit controleren door het onderstaande commando uit te voeren. Je krijgt dan krijgt dan als antwoord het versienummer te zien:

node -v

Voordat we HomeBridge gaan installeren, moeten we eerst Avahi installeren, omdat HomeBridge hier gebruik van maakt:

apt-get install libavahi-compat-libdnssd-dev

De voorbereidingen zijn nu gereed en we kunnen nu HomeBridge gaan installeren.Voer het volgende commando uit:

npm install -g homebridge

De installatie kan aardig wat tijd in beslag nemen. Wees niet bang als je wat errors voorbij ziet komen. Als de installatie voltooid is, kunnen we HomeBridge voor het eerst opstarten:

homebridge

Aangezien we nog niet alle onderdelen van HomeBridge geïnstalleerd hebben, zullen er nog wat foutmeldingen verschijnen, zoals “No plugins found. See the README for information on installing plugins.” De plugins waarover gesproken wordt, gaan we nu installeren. Je kunt HomeBridge stoppen door de toetsencombinatie CTRL+c.

Plugins installeren

Domoticz

Om de Domoticz-plugin te installeren, toets je het volgende commando:

npm install -g homebridge-edomoticz

Nadat de plugin geïnstalleerd is, gaan we het configuratiebestand voor HomeBridge aanmaken:

cd ~/.homebridge/
nano config.json

Kopieer de onderstaande tekst in het bestand en sluit met CTRL+x. (Het bestand wordt nu opgeslagen)

{
    "bridge": {
        "name": "Homebridge",
        "username": "CC:21:3E:E4:DE:33",
        "port": 51826,
        "pin": "031-45-154"
    },
    "description": "Configuration file for (e)xtended Domoticz platform.",
    "platforms": [
        {
            "platform": "eDomoticz",
            "name": "eDomoticz",
            "server": "127.0.0.1",
            "port": "8080",
            "ssl": 0,
            "roomid": 2,
            "mqtt": 1
        }
    ],
    "accessories": []
}

De waarde voor “roomid” is hierboven gezet op 2. Dit is het floorplan dat we in Domoticz aanmaken en waarin we alle apparaten zetten die we via HomeKit beschikbaar willen maken. In Domoticz ga je naar:
Instellingen -> Meer opties -> Ruimtes -> Kamerplan

Klik nu rechtsboven op Ruimte toevoegen. Als naam geef je bijvoorbeeld HomeBridge. Vervolgens kun je onderin kiezen welke apparaten je wilt toevoegen. Voeg één voor één al je apparaten toe.

Zodra je dit gedaan hebt, start HomeBridge op:

homebridge

Je ziet nu dat HomeBridge de apparaten via Domoticz vindt. Wanneer HomeBridge is opgestart, krijg je het volgende te zien:

Scan this code with your HomeKit App on your iOS device to pair with Homebridge:
                       
    ┌────────────┐     
    │ 031-45-154 │     
    └────────────┘     

Deze code heb je nodig om je iPhone of iPad te verbinden met HomeBridge. Start nu in iOS de HomeKit-app.

  • Druk rechtsboven op de +-knop en kies Voeg accessoire toe.
  • Je ziet nu HomeBridge verschijnen. Kies deze.
  • Je wordt nu gevraagd om een code te scannen. Dit gaat niet met HomeBridge, maar je kunt ook kiezen om de code handmatig in te voeren. Kies deze optie en voer de code in die je van HomeBridge hebt gekregen.
  • Hierna wordt je gevraagd om één voor één de apparaten in te stellen. Je kunt hun naam, functie en lokatie wijzigen. Eventueel kun je dit ook later doen, maar het is wel belangrijk omdat Siri dan bijvoorbeeld het verschil kent tussen spotjes in de keuken en spotjes in de woonkamer. Als je lampen configureert als lamp in plaats van schakelaar, dan weet Siri dat je deze apparaten wilt schakelen wanneer je het hebt over verlichting.

HomeBridge automatisch starten

We hebben HomeBridge handmatig opgestart. Echter, zodra je de SSH-sessie sluit zullen applicaties, die je gestart hebt, automatisch afsluiten, dus ook HomeBridge. Daarom moeten we de Raspberry Pi HomeBridge automatisch laten starten.

Voer het volgende commando uit:

nano /lib/systemd/system/homebridge.service

Plak de volgende tekst in het bestand en sla het op:

[Unit]
Description=HomeBridge Service
After=multi-user.target

[Service]
User=pi
Type=idle
ExecStart=/usr/local/bin/homebridge

[Install]
WantedBy=multi-user.target

Voer nu de volgende commando’s uit:

systemctl daemon-reload
systemctl enable homebridge
systemctl start homebridge

HomeBridge wordt nu in de achtergrond gestart en je krijgt geen output te zien. Als je de output toch wilt zien, kun je deze terug vinden in /var/log/daemon.log.

In de Woning-app op je iPhone of iPad kun je nu de verschillende apparaten zien:

Behalve via de app kun je je apparaten ook oproepen in Control Center door vanuit je Home Screen van onderuit het scherm naar boven te vegen en dan in Control Center naar links te vegen.

Maar het leukste is natuurlijk om het aan Siri te vragen:

Hé Siri, schakel de spots in de keuken in

 

 

Helaas werkt deze oplossing enkel wanneer je iPhone verbonden is met je thuisnetwerk. Wil je je huis ook buiten de deur kunnen bedienen, dan is hiervoor een heel simpele oplossing beschikbaar.

Tot slot nog even een kleine demonstratie van de werking op een iPhone:

Reacties