Help / Technische realisatie
Gree2MQTT: Lokale Airco Integratie
Een eigen technische realisatie die Gree-airco's via het lokale netwerk koppelt aan Home Assistant, met protocolanalyse en een custom Python MQTT-bridge.
Projectgegevens
Een lokaal alternatief voor app-afhankelijke sturing
Fabrikantapps sturen toestellen doorgaans via een externe dienst aan. Voor deze realisatie was lokale integratie wenselijk, zodat Home Assistant de aansturing binnen het eigen netwerk kan organiseren en minder afhankelijk is van de beschikbaarheid van een externe dienst.
De uitdaging was om de airco's via het lokale wifi-netwerk te detecteren, uit te lezen en aan te sturen. De bridge vertaalt de protocolberichten naar MQTT-topics die Home Assistant kan gebruiken.
De Uitdagingen
- Gree gebruikt een versleuteld WiFi-protocol (handshakes en AES-128)
- Dynamische IP-adressen van airco's verstoren vaste koppelingen
- Cloudintegraties voegen een externe afhankelijkheid toe
- Geen openbare API-documentatie beschikbaar
De Oplossingen
- Reverse engineering van de cryptografische handshake en AES encryptie
- Automatische UDP broadcast discovery van actieve airco's
- Een custom Python service die UDP commando's vertaalt naar MQTT
- Gebruik van MQTT Home Assistant Auto-Discovery
Gree2MQTT Bridge in de praktijk
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:
UDP Discovery
De bridge stuurt periodiek UDP broadcast-pakketten om nieuwe airco's op het netwerk te detecteren. Dit vangt IP-wijzigingen (DHCP) automatisch op.
AES Handshake
Elke unit ondergaat een lokale cryptografische handshake om een unieke encryptiesleutel te bemachtigen. Alle datakoppelingen worden daarna lokaal gecodeerd via AES-128.
MQTT Discovery
De bridge publiceert Home Assistant config-topics, zodat ondersteunde airco-units als klimaat-entiteiten kunnen worden toegevoegd zonder een cloudronde voor elk lokaal commando.
Ontwerpkeuze: de protocolbridge houdt de Home Assistant-koppeling lokaal en maakt discovery, statusupdates en commandovertaling expliciet controleerbaar.
Gebruikte technologieën
Heeft u IoT-apparaten die u lokaal wilt ontsluiten?
Van 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