Kevin Read

Kevin Read


Freelance software developer and security consultant

Kevin Read
Author

Share


Tags


Hanazeder FP-10 Heizungssteuerung automatisiert auslesen

Beim Nachbarn habe ich mit Neugier die Hanazeder FP-10 Heizungssteuerung gesehen welche die Solarthermie, den Kessel und die Therme verbindet. Da dachte ich mir, die kriegt man doch sicher automatisiert ausgelesen :)

Dank der Vorarbeit von von Benedikt Merz und einem Nachmittag starren auf Protokoll-Dumps und dem Vergleich von CRC-Algorithmen konnte ich den großteil des Protokolls entschlüsseln. Angesprochen wird die Steuerung packetbasiert per UART. Pakete sind wie folgt aufgebaut:

Sollte nach dem Header das Header-Byte vorkommen (etwa in der Payload) so wird es mit 0xEE escaped - die Länge des Payloads und die Prüfsumme ändern sich dadurch nicht, da das Unescaping vor dem Parsen bzw. Checksumming stattfindet.

Antworten sind identisch kodiert und beziehen sich in der Sequenznummer immer auf den Response. Das ganze habe ich als Python-Bibliothek unter https://github.com/unverbraucht/hanazeder_python veröffentlicht.

MQTT / REST API Server

Darauf aufbauend gibt es eine Python-Anwendung, die über eine serielle Schnittstelle (RS232 direkt, oder USB-auf-RS232) oder über TCP (z. B. über einen RS232-auf-Ethernet-Konverter) mit der Hanazeder spricht, die Daten ausliest und per REST-API und/oder MQTT zur Verfügung stellt.

Der Code ist auf Github unter https://github.com/unverbraucht/hanazeder_server oder als Docker-Image auf https://hub.docker.com/repository/docker/unverbraucht/hanazeder-server verfügbar. Aussehen würde das ganze in Home Assistant dann z. B. so:

Verlauf Kollektor-Temperatur an einem wolkigen Tag
Author

Kevin Read

View Comments