In september 2023 heeft Philips Hue (Signify) aangekondigd dat je verplicht een Hue Account moet koppelen aan je bridge om je devices te kunnen blijven aansturen.
Aangezien dat inhoudt dat je bridge gekoppeld moet zijn aan het internet, met alle risico’s van dien, tijd om een alternatief op te zetten.

Deze tutorial is in geen zins bedoeld als complete guide, al is input welkom.
De tutorial is bedoeld om een eerste aanzet te geven o.b.v. mijn eigen ervaring en uitzoekwerk.

Deze tutorial is samengesteld door wat ik online heb kunnen vinden over het opzetten van onderstaande.

Om discussies te voorkomen over het feit dat je Bridge al internet nodig heeft voor de buiten huisbediening van je verlichting:
Philips geeft inderdaad aan dat ze dat graag willen. Echter is dat ook geen vereiste.
Wanneer je je Hue Bridge geen internet toegang geeft, kun je middels een VPN naar je eigen huis (je hebt dan wel een VPN-server nodig) alsnog verbinding te met de Hue Bridge en het e.a. bedienen.

Mét internet access wil je Hue Bridge overigens standaard naar internet sites als:

data.meethue.com
diag.meethue.com
time.meethue.com
diagnostics.meethue.com
mqtt.2030.ltsapis.goog
ntp, ntp1, ntp2, ntp3, ntp4.aliyun.com (Time Servers in China).

Toegegeven, firmware updates krijg je zo ook niet binnen. Maar sinds ik de lampen heb, mis ik die ook totaal niet.
Via Zigbee kun je die overigens ook handmatig naar de lampen/devices pushen, al zal je dan wel de bron bestanden ergens vandaan moeten toveren. Moeite die ik er nog niet in heb gestoken.

Goed, dat gezegd hebbende… hoe kom je van die Bridge af?

Een kort boodschappenlijstje:
Raspberry Pi 4B, (4GB RAM)
MicroSD Kaart / SSD (ik raad je een SSD aan, sneller en betrouwbaarder dan de SD-kaart)
Sonoff Zigbee 3.0 Dongle Pluse (ZBdongle-E)

Aangezien ik al een Pi had draaien met Docker, heb ik gekozen voor HomeAssistant Supervised.
En daar gaat deze handleiding dan ook over. Er zijn meerdere wegen die naar Rome leiden.
Deze tutorial kan je daarin wellicht helpen.

Qua software gaan we gebruik maken van het volgende:
– HomeAssistant
– Docker
– Zigbee2MQTT
– MQTT

Wanneer je ervoor kiest om HomeAssistant OS te gebruiken, kun je Docker, Zigbee2MQTT & MQTT overslaan, dat wordt daar geregeld via Add-ons (en op de achtergrond docker & containers).

Ik ga ervan uit dat je bekend bent (of bereid bent om dat te worden) met de Raspberry Pi, deze op een x64 build draait, up-to-date is & een vast-IP heeft. Dat gedeelte sla ik hier over. Genoeg online bronnen die je daarbij kunnen helpen.
De Pi heeft (tijdelijk) internet access nodig om de benodigde packages te kunnen downloaden.

Installatie handleiding voor:

Om je wat verder opweg te helpen, hieronder wat code die je je SSH sessie naar je Pi kunt gebruiken voor installatie van je setup.
Aangezien copy/paste op deze site niet werkt, hierbij een download met daarin onderstaande code:


Docker:
sudo mkdir /dockervolumes
sudo curl -sSL https://get.docker.com | sh
sudo usermod -aG docker pi
logout

sudo systemctl enable docker

MQTT:
sudo mkdir /dockervolumes/mosquitto
sudo mkdir /dockervolumes/mosquitto/config
sudo mkdir /dockervolumes/mosquitto/data
sudo mkdir /dockervolumes/mosquitto/log
sudo touch /dockervolumes/mosquitto/config/mosquitto.conf

sudo nano /dockervolumes/mosquitto/config/mosquitto.conf

Vul in:
allow_anonymous true
listener 1883 0.0.0.0
persistence true
persistence_location /mosquitto/data/
log_dest file /mosquitto/log/mosquitto.log

Maak nu de MQTT container aan:

docker create \
--name mosquitto \
-it \
-p 1883:1883 \
-p 9001:9001 \
--hostname=mosquitto\
-v /dockervolumes/mosquitto/config:/mosquitto/config \
-v /dockervolumes/mosquitto/data:/mosquitto/data \
-v /dockervolumes/mosquitto/log:/mosquitto/log \
-v /etc/timezone:/etc/timezone:ro \
-v /etc/localtime:/etc/localtime:ro \
--restart unless-stopped \
eclipse-mosquitto:latest

Zigbee2MQTT
Indentificeer eerst welk ID jouw Zigbee stick heeft:
ls -l /dev/serial/by-id

Daar komt iets uit als:
usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20230509114723-if00 -> ../../ttyACM1

Het eerste gedeelte vul je hieronder in bij <JOUW DEVICE> het tweede gedeelte bij <PORT>

sudo mkdir /dockervolumes/zigbee2mqtt/
sudo mkdir /dockervolumes/zigbee2mqtt/data
docker create \
--name zigbee2mqtt \
--restart=unless-stopped \
--hostname=zigbee2mqtt \
--device=/dev/serial/by-id/
<JOUW DEVICE>:/dev/<PORT> \
-p 8181:8080 \
-v /dockervolumes/zigbee2mqtt/data:/app/data \
-v /run/udev:/run/udev:ro \
-v /etc/timezone:/etc/timezone:ro \
-v /etc/localtime:/etc/localtime:ro \
-e TZ=Europe/Amsterdam \
koenkk/zigbee2mqtt


Stop & start eerst de container voordat je de volgende stappen uitvoert.
sudo docker stop zigbee2mqtt
sudo docker start zigbeemqtt

sudo nano /dockervolumes/zigbee2mqtt/data/configuration.yaml

Vul in bij:
server: mqtt://<IP VAN JE PI>:1883
serial:
port: /dev/
<PORT>

Restart daarna de container:

docker restart zigbee2mqtt

HomeAssistant:
sudo apt-get install jq wget curl avahi-daemon udisks2 libglib2.0-bin network-manager dbus apparmor systemd-resolved systemd-journal-remote -y
sudo reboot

wget https://github.com/home-assistant/os-agent/releases/download/1.6.0/os-agent_1.6.0_linux_aarch64.deb
sudo dpkg -i os-agent_1.6.0_linux_aarch64.deb
rm os-agent_1.6.0_linux_aarch64.deb

#check of het allemaal oké draait:
gdbus introspect --system --dest io.hass.os --object-path /io/hass/os

#Wanneer je PiHole gebruikt, pas dan dit bestand aan.
sudo nano /etc/systemd/resolved.conf
DNSStubListener=no
sudo service systemd-resolved restart

wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
sudo dpkg -i homeassistant-supervised.deb

#Selecteer RaspberryPi x64 tijdens de installatie.
rm homeassistant-supervised.deb

sudo nano /boot/cmdline.txt ) voeg aan het eind van de regel het volgende toe:
apparmor=1 security=apparmor

Voordat je je Pi Reboot, wacht minstens 5 minuten zodat de installatie alle benodige achtergrondprocessen (aanmaken Docker network, containers, etc) heeft afgerond. Duurt even, boel werk (blijkbaar).

sudo reboot

Nu dat draaiend is en je Home Assistant conform de initiele handleiding hebt ingesteld, koppel je HomeAssistant aan MQTT:

Open Home Assistant via: http://<IP VAN JE PI>:8123
– Settings | Devices | Add Integration
– zoek naar MQTT
– Vul het IP van je Pi in & poort 1883
– Listen to a topc: “zigbee2mqtt”
– Publish a packet: “homeassistant”

Maak nu ook (voor zover niet al gedaan) je ruimtes aan waar je je lampen hebt hangen:
– Settings | Areas | Create Area

In Zigbee2MQTT leg je de koppeling naar HomeAssistant:
– Settings | Home Assistant Integration
– Home Assistant (simple), checkbox + click submit.

In Zigbee2MQTT leg je de koppeling naar MQTT:
Zigbee2MQTT open je via http://<IP VAN JE PI>:8181
– Settings | MQTT
– BaseTopic: “zigbee2mqtt”
– MQTT Server: mqtt://<IP van je PI>:1883

Zorg dat Zigbee2MQTT nieuwe connecties accepteert:
– Settings | Main
– vinkje bij Permit Join & click Submit

Verwijder nu (tip: doe het per set lampen) je lampen nu uit je Philips Hue Bridge (app).
Als het goed is gaan die lampen nu branden (voor zover ze dat nog niet deden).
Wacht 30 seconden. En geef (eventueel) de lampen een power cycle (uit/aan).

In Zigbee2MQTT zie je nu de lampen in je dashboard (of devices tabblad) verschijnen.


Mijn tip is, om ze hier 1 voor 1 van een “Friendly Name” te voorzien en dat te synchroniseren met Home Assistant.
Verder zou ik in Zigbee2MQTT ook je lampen per groep samenvoegen, zoals je ook in Hue had.
Deze groepen worden ook gepubliceerd in Home Assistant en kun je derhalve ook zo inzetten aldaar.
Zo doende hoeft Home Assistant slechts 1 commando te sturen ipv 3 afzonderlijke lampen aan te sturen.
Is nét even wat efficiënter/logischer.
Daarbij, mocht je ooit van Home Assistant af willen, staan in ieder geval al je groepen nog bij de bron, Zigbee2MQTT.

Ga terug naar Home Assistant en open:
Settings | Devices
Je ziet nu je lampen staan met een paars icoon er voor (ipv als je eerder je bridge had gekoppeld aan Hue), het Hue icoon.
(Zoek desgewenst op MQTT).
Klik deze aan, bewerk deze (rechts boven), geef deze een naam & voeg toe aan de ruimte waar de lamp zich bevind.

Open Settings | Entities
Bewerk elke lamp & groep, voeg deze toe aan de ruimte waar deze zich bevind.

Je kunt nu een dashboard maken met al je lampen erin en ze daarmee aan/uit zetten en kleuren geven.
Hoe je dat verder doet is een les Home Assistant. Ook daar zijn online genoeg handleidingen over te vinden.

Klaar? Schakel dan in Zigbee2MQTT in onder Settings | Main “Permit & Join” uit.

Wat ik je verder nog aanraad is om een backup te maken van zowel Home Assistant als Zigbee2MQTT.
Dit kun je in Home Assistant inregelen via een Automation. (Settings | Automations)

De Zigbee2MQTT backup wordt vreemdgenoeg in je Database opgeslagen.
Derhalve kun je geen los bestand via scripting kopieren.
Daarom kies ik er voor om de container middels een cronjob elke nacht te stoppen en de data folder dan maar weg te kopiëren naar elders.

sudo docker stop zigbee2mqtt
sudo cp -r /dockervolumes/zigbee2mqtt/ /nas.backup/zigbee2mqtt/
sudo docker start zigbee2mqtt


De HomeAssistant backup vind je terug op je Pi in: /usr/share/hassio/backup/
Deze kun je vervolgens weer met een cronjob ergens anders heen kopieren.

Technisch gezien heb je nu alle lampen (en andere sensoren, etc) overgezet naar Home Assistant & Zigbee.
Alle acties/handelingen/scenes zul je echter zelf opnieuw moeten aanmaken.

Om te laten zien wat erbij komt kijken, een voorbeeld van mijn wakeup light in de slaapkamer:
Ga naar Settings | Helpers en maak daar de volgende Date/Time helper (op basis van een tijdstip) aan:

Bewerk de nieuwe Helper en stel de tijd in.

En voeg vervolgens de helper toe aan de ruimte van toepassing:

Ga nu naar Settings | Automations en maak een nieuwe automation aan.
Stel de trigger & Condition als volgt in:

Daarna volgen 5 acties:

#1 Lamp aandoen op de warmste stand en de laagste intensiteit.

#2 2 sec wachttijd.

#3 gedurende 5 minuten het licht steeds koeler van temperatuur en helderheid naar 100% brengen.

#4 & 5 – na 30 minuten de lamp vanzelf uitdoen

Yaml code van bovenstaande (lekker makkelijk copy/pasten).


Bovenstaande simuleert het sunrise effect uit de Hue Bridge setup, zonder dat die bridge nog bestaat in je omgeving. Er zijn vast efficiëntere manieren/templates/etc, mocht ik dat nog tegenkomen, zal ik dat toevoegen.

Vergelijkbare setups zal je ook voor je motion sensors e.d. moeten aanmaken.
’t is allemaal niet over te zetten. Uiteindelijk vind ik het de moeite waard om van de hue-account verplichting af te komen. En ’t was ook wel leuk om allemaal uit te zoeken. 

Overigens bestaan er ook community templates welke je kunt importeren (zelf nog niet toegepast):
https://community.home-assistant.io/c/blueprints-exchange/53
https://epmatt.github.io/…ers/philips_8718699693985
https://community.home-as…itch-rwl020-rwl021/255048

En anders kun je altijd zelf nog gaan bouwen:
https://www.home-assistant.io/integrations/scene/

Menu Sluiten
error: