offtopic:
mede-auteurs welkom!
mede-auteurs welkom!
Homebridge geeft je de mogelijkheid om producten (en plugins) die normaliter niet in homekit werken, tóch te integreren in Apple HomeKit. De slogan van Homebridge is dan ook "Homekit support for the impatient". We hebben namelijk geen zin (of tijd) om te wachten totdat al deze apparaten gecertificeerd zijn. Je kan deze accessoires ook gewoon bedienen in de Woning app of een third party bedieningsapp.
Homebridge fungeert dus als een software-hub waar je plugins installeert van hardware, hardware-hubs, of softwarematige plugins.
Homebridge moet op een computer draaien die eigenlijk altijd aan staat; het is immers de software welke benaderbaar moet zijn om te kunnen functioneren. (Apparaten die in HomeKit uit staan, of waar geen stroom op staat zijn immers ook niet te benaderen en geven een 'Geen reactie!' melding.)
Wellicht de beste optie is om dit op een Raspberry Pi (3B) te installeren. Een RPi 3 heeft namelijk Bluetooth en wifi aan boord, is vrij betaalbaar en goed te verkrijgen bij diverse webshops. Daarnaast heb je een 8/16GB micro SD kaart nodig.
Homebridge installeren is op zich niet moeilijk, hoewel het hier en daar handig is wanneer je snapt welke handelingen je uitvoert en waarom. Gelieve daarom ook deze post als referentie te gebruiken indien je er niet direct uit komt, daarnaast kun je je vragen in dit topic stellen mocht deze post niet voldoende zijn. De onderstaande tutorial is door de auteur en mede-auteurs in elkaar gezet, bedoeld voor de beginnende gebruiker welke maar weinig/geen ervaring heeft met Linux/Raspian. Zoals altijd zijn er meerdere wegen naar Rome(kit).
Installeren vanaf Mac of Windows
1 Je kunt kiezen uit verschillende manieren hoe je Raspian (Raspberry OS) op je sd kaart zet, hieronder zijn twee mogelijkheden uitgelicht:
- Apple Pi Baker: Download en installeer.
of
- Etcher: Download en installeer.
2 Download de laatste versie van Raspian. Download altijd Raspian Stretch with desktop, Lite is te beperkt voor Homebridge en gaat meer problemen dan plezier opleveren.
3 Steek een sd kaart van tenminste 8GB (aanbevolen: 16GB of meer) in je PC/Mac, open Apple Pi Baker/Etcher en gebruik de image file uit stap 2 om de image op de sd kaart te schrijven. Als het programma na enkele minuten klaar is, staat Raspbian op de SD kaart en kun je de Raspberry opstarten zodra de sd kaart in je RPi zit. Zorg dat ie de eerste keer gekoppeld is aan een monitor met toetsenbord en muis, dat maakt de stappen erna een stuk makkelijker. Er zijn ook mogelijkheden om zonder monitor/toetsenbord/muis op te starten en te configureren, echter lichten we dat nu niet uit. Voor beginnende gebruikers, geniet een monitor/toetsenbord/muis de voorkeur.
4 Open een terminal (op de Raspberry) en tik
code:
1
| sudo raspi-config |
selecteer optie 1 en kies een wachtwoord (voor je eigen veiligheid);
selecteer optie 5 en schakel P2 (SSH) en P3 (VNC) in, indien je je RPi extern en zonder monitor wil benaderen;
selecteer optie 7 > A1 (expand filesystem).
Reboot de Raspberry Pi. (Hier vraagt het systeem zelf om.)
5 Open een terminal en tik
code:
1
| sudo apt-get update |
code:
1
| sudo apt-get upgrade |
6 Installeer Node en Avahi installeren, beide zijn essentieel om Homebridge te laten functioneren.
code:
1
| curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - |
code:
1
| sudo apt install -y nodejs |
code:
1
| sudo cp -R * /usr/local/ |
code:
1
| sudo apt-get install libavahi-compat-libdnssd-dev |
Dat waren alle voorbereidingen. Nu gaan we Homebridge zelf installeren.
7 Open weer een terminal en tik
code:
1
| sudo npm install -g --unsafe-perm homebridge |
De installatie kan best even een minuut of 3 duren. Het is belangrijk dat Homebridge zonder foutmeldingen installeert.
Homebridge is nu geïnstalleerd. Probeer maar eens met
code:
in je terminal. Als Homebridge nu opstart en je de QR-code ziet welke je kunt gebruiken om Homebridge toe te voegen aan Homekit, zit je goed.1
| homebridge |
Beschikbare plugins kun je relatief makkelijk vinden door hier te zoeken op homebridge:
https://www.npmjs.com/browse/keyword/homebridge-plugin
Een plugin installeren bestaat uit twee delen, soms uit drie;
1. Je installeert de plugin npm install -g homebridge-pluginnaam;
2. Je configureert de plugin in je config bestand (config.json);
3. Sommige plug-ins hebben enkele andere zaken nodig welke staan omschreven op de pagina van de plug-in. Lees deze daarom goed door of je alles hebt geinstalleerd, benodigd voor de plug-in.
De configuratie van de plugin zijn veelal zaken als een token, een MAC- of IPadres, maar ook login credentials bijv, of een API koppeling.
Homebridge werkt dus niet zonder het configuratie-bestand. We moeten dus zo'n bestand aanmaken.
Open de File Manager op de Raspberry (de twee gele mapjes) en tik in de adresbalk
/home/pi/.homebridge
Maak hier een leeg bestand aan door op de rechtermuisknop te klikken, en noem de file
config.json
Rechterklik op de file en kies Text Editor
In de configuratie geef je aan dat de Raspberry je bridge is welke je kan toevoegen in HomeKit, en aan die bridge 'hang' je dus apparaten of plugins. Die worden platforms of accessories genoemd.
VOORBEELD
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| { "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "031-45-154" }, "description": "Mijn Homebridge configuratie", "accessories": [ ], "platforms": [ ] } |
Sla het bestand op.
Als voorbeeld voegen we een relatief eenvoudige plug-in toe aan ons config bestand, hiermee voegen we een tegel toe in HomeKit welke de temperatuur en luchtvochtigheid weergeven. (Dan weet je of je moet krabben

code:
1
| sudo npm install -g homebridge-weather |
De (software)plugin is nu geïnstalleerd. Maak een key aan op de openweathermap website en genereer een API key.
Vul vervolgens de gegevens in in je config.json.
Deze plugin is een accessory.
dus:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| { "bridge": { "name": "Homebridge", "username": "CC:22:3D:E3:CE:30", "port": 51826, "pin": "031-45-154" }, "description": "Mijn homekit configuratie", "accessories": [ { "accessory": "Weather", "apikey": "API key", "location": "plaatsnaam,nl", "name": "OpenWeatherMap Temperature" } ], "platforms": [ ] } |
Sla het bestand op.
Open weer een terminal en start Homebridge voor het eerst op:
code:
1
| homebridge |
Je ziet nu dat de zaken uit het configuratie-bestand worden geladen.
Vervolgens zie je de eerder genoemde QR code en een code om de hub toe te voegen aan Homekit.
Beide manieren kun je gebruiken om dan Homebridge toe te voegen aan Homekit.
De Woning app zal je vragen om ofwel een code te scannen, ofwel de code handmatig in te voeren. Doe dit net alsof je een fysiek apparaat zou toevoegen.
Je krijgt een melding dat deze accessoire niet gecertificeerd is voor HomeKit, deze melding kun je negeren en voeg het accessoire toe.
Homebridge is nu als schakelapparaat toegevoegd, en de accessoires die aan het schakelapparaat zijn gekoppeld worden eveneens tegels die je dus gewoon in een kamer kunt plaatsen en aan je favorieten kunt toevoegen.
Ik heb hier een kamer buiten aangemaakt, daar de accessoire in geplaatst en de naam temperatuur gegeven. Siri doet dus nu ook gewoon mee:
De basis is nu gelegd. Het is verstandig om op dit punt een goede backup of kopie van je image te maken van je verse -werkende- setup, en de inhoud van het config.json bestand ook steeds te back-uppen of een versie te bewaren als gewoon tekst-bestand, dan heb je altijd iets om op terug te vallen. Staat er in het bestand namelijk een komma verkeerd, dan zal de configuratie niet laden en Homebridge niet starten.
Een aan te bevelen plug-in is config-ui-x. Met deze plug-in kun je een configuratie pagina benaderen waarmee je diverse zaken eenvoudig kunt regelen. Ook handig is dat wanneer je iets wijzigt in je config.json, de editor direct nakijkt of je configuratiebestand klopt en als er een fout in zit, dit weer geeft met een rood kruisje. Mocht je dit niet handig vinden, je kunt je config.json ook nakijken op JSONlint.com.
[Voor 22% gewijzigd door paQ op 08-11-2018 22:44. Reden: geupdatet]