↑ Terug naar Cases
IT & Home

Gree2MQTT: Lokale Airco Integratie

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.

Client
Interne IT & IoT
Status
Actief in Docker
Type
Protocol Bridge / IoT
Technologie
Python, MQTT, Cryptography
100%
Lokale sturing (cloud-free)
0ms
Cloud latentie
AES-128
Beveiligde decryptie
1
Gezamenlijke daemon voor alle ACs

Waarom cloud-afhankelijke klimaatsturing faalt

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 Uitdagingen

  • Gree gebruikt een versleuteld WiFi-protocol (handshakes en AES-128)
  • Dynamische IP-adressen van airco's verstoren vaste koppelingen
  • Bediening via officiële cloud-integraties is traag en onbetrouwbaar
  • 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. 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 Cool

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