gitmyhub

oekoboiler-uart-reverse-engineering

Python ★ 7 updated 28d ago

Reading water temperature, operating mode and PV state straight off the wire between a heat-pump water heater's two circuit boards — no cloud, no API — and turning it into an ESPHome / Home Assistant sensor.

A detailed writeup on reverse engineering a water heater's internal wiring to build a cloud-free ESPHome sensor for temperature, mode, and solar boost.

PythonESPHomeESP32Home Assistantsetup: hardcomplexity 4/5

This repository documents how the author reverse engineered the internal wiring of an older Okoboiler heat pump water heater that had no built in smart features at all. Inside the appliance, a display panel and a main control board talk to each other over a single serial wire, and the author tapped into that wire with a cheap ESP32 microcontroller to listen in on the conversation between the two boards.

By capturing and studying the raw data on that wire, the author figured out the format of the messages being sent, including how they are scrambled and checksummed, and used that to pull out three useful pieces of information: the exact water tank temperature, the current operating mode such as heating or defrosting, and whether solar boost mode is active. Notably, the water temperature turned out to be more precise than what the front panel display shows.

One interesting side discovery is that a solar boost feature advertised only on a pricier version of the same water heater is actually built into the firmware of the cheaper model too, just missing the physical trigger. The author enabled that hidden setting and wired in a small relay controlled by a solar monitoring system, effectively unlocking the feature.

The end result feeds into ESPHome, a tool for building custom smart home sensors, so the extracted readings can show up in Home Assistant as ordinary sensors, without needing any cloud service or manufacturer app.

This project is aimed at electronics hobbyists and home automation enthusiasts who are comfortable with soldering, reading protocol data, and working with ESPHome or Home Assistant. It documents the reverse engineering process in detail, which also makes it a useful reference for anyone reverse engineering a similar single wire serial bus on other appliances.

Where it fits