Hoe we Gree-airco's 100% lokaal en cloud-free integreerden met Home Assistant via reverse engineering van het versleutelde WiFi-protocol en een custom Python bridge.
Moderne Gree-airco's worden geleverd met een smartphone-app die verplicht verbinding maakt met externe, vaak in China gehoste, cloud-servers. Dit brengt verschillende nadelen met zich mee: merkbare vertraging bij bediening, privacy-risico's en het feit dat de airco onbestuurbaar wordt zodra de internetverbinding wegvalt.
De uitdaging was om een onafhankelijk, lokaal systeem te bouwen. De airco's moesten via het lokale WiFi-netwerk worden gedetecteerd, uitgelezen en aangestuurd, zonder ooit contact te maken met het internet. De integratie met Home Assistant moest naadloos verlopen via de MQTT broker.
De ontwikkelde Python bridge (`gree2mqtt.py`) draait continu als een Docker container. De daemon luistert naar statuswijzigingen van de airco's en regelt de communicatie:
De bridge stuurt periodiek UDP broadcast-pakketten om nieuwe airco's op het netwerk te detecteren. Dit vangt IP-wijzigingen (DHCP) automatisch op.
Elke unit ondergaat een lokale cryptografische handshake om een unieke encryptiesleutel te bemachtigen. Alle datakoppelingen worden daarna lokaal gecodeerd via AES-128.
De bridge publiceert Home Assistant config-topics. De airco-units verschijnen onmiddellijk als klimaat-entiteiten in Home Assistant, met 0ms cloud-vertraging.
"Met Gree2MQTT reageren onze airco's direct op temperatuurwijzigingen en zonnestroom-overschotten. Geen omwegen meer via externe clouds, gewoon 100% lokaal."
— Tom CoolVan protocol reverse-engineering tot custom MQTT bridges — ik maak uw smart home of industriële IoT-apparaten onafhankelijk en snel.
Bespreek uw project Bekijk andere cases