↑ Terug naar Cases
IT & Home

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.

Projecttype
Eigen IoT-realisatie
Status
Technische realisatie
Type
Protocol Bridge / IoT
Technologie
Python, MQTT, Cryptography
Lokaal
Netwerksturing
MQTT
Home Assistant-koppeling
AES-128
Protocolondersteuning
Docker
Python bridge

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

Python 3 MQTT / Paho-MQTT PyCryptodome (AES-128) UDP Socket Programming Docker (Alpine)

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