On 16 October 2026 ESPHome merged a haier_water_heater platform that talks to Haier hOn water heaters over UART in place of the factory Wi-Fi module. TheLexus opened the pull request, bdraco reviewed it, and the matching esphome.io documentation merged the same afternoon. The author tested the stack on a Haier VH3W.

What you get

The component polls the appliance every five seconds and publishes the current and target temperature, the operating mode (Normal, ECO, BPS) and the power state. Optional sensors cover a second temperature zone, estimated heating time, available hot water, heating activity, power and a communication health flag. Writes change power, mode and the target temperature (35-75 °C in Normal mode). Commands leave one at a time and only count as done when a status frame confirms them.

ESPHome already had a haier climate platform for air conditioners. That path relies on the HaierProtocol library, which needs heap and a std::deque. The water-heater implementation is a separate, bounded parser that keeps checksum and CRC state as bytes arrive, so it fits tighter ESP8266 and ESP32 builds without sharing that code.

How it connects

You remove or bypass the original Wi-Fi module and wire an ESP board to the heater's serial pins. A minimal config is a UART at 9600 baud and a water_heater entry with platform: haier_water_heater. Mode changes that go from ECO to BPS (or the other way) pass through Normal first, because that is how the appliance moves between those modes. Off requests finish the command already in flight, then drop anything else queued.

Local serial control means the heater no longer needs Haier's cloud account for everyday setpoints. You still need a compatible hOn model; only the VH3W is listed as tested so far. If your unit uses a different framing, expect to open an issue with captures rather than assume every Haier cylinder will answer the same way.

Timing

The platform is in the ESPHome dev tree aimed at 2026.11. Install a development or beta build of ESPHome to try it, or wait for the November release. The docs page for haier_water_heater is already on the documentation site's next branch.