|
Home IO Control
ESPHome add-on for IO-Homecontrol devices
|
Water heater entity for a domestic hot water heater, and its opt-in companion sensors. More...
#include "esphome/components/binary_sensor/binary_sensor.h"#include "esphome/components/switch/switch.h"#include "esphome/components/water_heater/water_heater.h"#include "esphome/core/component.h"#include "platform_companion_sensors.h"#include "platform_entity_base.h"#include "proto_dhw.h"Go to the source code of this file.
Classes | |
| class | esphome::home_io_control::IOHomeWaterHeater |
| Water heater entity for a domestic hot water heater. More... | |
| class | esphome::home_io_control::IOHomeDhwEnergySensor |
| Sensor of the heater's energy since installation, in kWh (total_increasing). More... | |
| class | esphome::home_io_control::IOHomeDhwBinarySensor |
| Binary sensor of one heating state of the heater: heat pump running or electric backup running. More... | |
| class | esphome::home_io_control::IOHomeDhwBoostSwitch |
| Switch that starts and ends the heater's boost. More... | |
Namespaces | |
| namespace | esphome |
| namespace | esphome::home_io_control |
Functions | |
| water_heater::WaterHeaterMode | esphome::home_io_control::water_heater_mode_for (DhwMode mode) |
| ESPHome water heater mode for a heater mode. | |
| bool | esphome::home_io_control::dhw_mode_for (water_heater::WaterHeaterMode mode, DhwMode &out) |
| Heater mode for an ESPHome water heater mode. | |
Water heater entity for a domestic hot water heater, and its opt-in companion sensors.
Maps a domestic hot water heater (device_feature::WATER_HEATER, proto_dhw.h) onto an ESPHome water_heater: water temperature, target temperature and operating mode. The heater's three modes map to ESPHome's as follows (ADR 0068):
| Heater (register 0x0006) | ESPHome mode |
|---|---|
| 0 automatic | HEAT_PUMP |
| 1 manual, ECO on | ECO |
| 2 manual, ECO off | PERFORMANCE |
OFF is not offered: no heater has been seen reporting an off state.
In automatic mode the heater chooses its own target, and its display shows none, so the entity publishes no target while the heater reports automatic mode, and a target set then is not sent.
State is observed, not predicted, as on the climate entity: the hub polls the heater (default every 5 minutes) and this entity publishes from IoDevice::dhw, which only a decoded reply changes. Until a reading has arrived an accepted write shows the commanded value; after that the read-back decides.
Away mode is part of the entity: Home Assistant's away switch starts and ends the heater's holiday mode (ADR 0081). The heater reports it, and boost, in the operating-mode word the poll reads, so the entity shows away only once the heater said so. While away no target is shown (the heater reports a main parameter of 0, which is no target) and a target set then is logged and dropped.
The companions (energy, heat pump running, electric backup running) show readings the same poll already stores and add no radio traffic; the boost switch shows the boost state of the operating-mode word the poll reads and writes it.
The readings, the target EXECUTE and the mode write are confirmed on one Atlantic Calypso Connecte (issue #198): its display follows both writes. That heater accepts only its own fixed targets (one per shower count, all whole degrees), so a value between two steps is not taken.
The mode mapping and the target steps rest on that one heater; confirm them on a second one.
Experimental: confirm on a real water heater that away mode starts and ends the holiday mode and that the state follows the heater's operating-mode word (issue #198).
Definition in file platform_water_heater.h.