44#include "esphome/components/binary_sensor/binary_sensor.h"
45#include "esphome/components/switch/switch.h"
46#include "esphome/components/water_heater/water_heater.h"
47#include "esphome/core/component.h"
73 void setup()
override;
82 water_heater::WaterHeaterCallInternal
make_call()
override {
return water_heater::WaterHeaterCallInternal(
this); }
89 void control(
const water_heater::WaterHeaterCall &call)
override;
94 water_heater::WaterHeaterTraits
traits()
override;
117 void setup()
override;
139 void setup()
override;
167 void setup()
override;
Mixin holding the parent + device-id binding shared by per-device entities that are not full entity p...
Mixin holding the hub-device binding shared by all IO-Homecontrol entity platforms.
Shared base for the numeric per-device diagnostic companions.
Binary sensor of one heating state of the heater: heat pump running or electric backup running.
void setup() override
Subscribe to the device's updates and publish what is already known.
Reading
Which reading the sensor shows.
@ HEAT_PUMP
Register 0x0021 bytes 3/4: the heat pump runs.
void dump_config() override
Dump sensor configuration to the log.
void set_reading(Reading reading)
Choose the reading (codegen sets it once).
float get_setup_priority() const override
Get setup priority so the parent hub is available first.
Switch that starts and ends the heater's boost.
float get_setup_priority() const override
Get setup priority so the parent hub is available first.
void write_state(bool state) override
Start or end the boost; the read-back publishes the state.
void setup() override
Subscribe to the device's updates and publish what is already known.
void dump_config() override
Dump switch configuration to the log.
Sensor of the heater's energy since installation, in kWh (total_increasing).
void setup() override
Subscribe to the device's updates and publish what is already known.
void dump_config() override
Dump sensor configuration to the log.
Water heater entity for a domestic hot water heater.
void dump_config() override
Dump configuration to the log.
void on_device_update_(const std::string &id, const IoDevice &dev)
Inbound device-update hook: fold IoDevice::dhw into the entity and publish when a shown field changed...
water_heater::WaterHeaterCallInternal make_call() override
A call bound to this entity (the pattern of ESPHome's template water heater).
void setup() override
Register the entity with the shared hub and schedule the first poll of the heater.
bool observed_
True once a reading has been folded in.
water_heater::WaterHeaterTraits traits() override
Current and target temperature, the three modes, and the target range DHW_TARGET_MIN_C....
void control(const water_heater::WaterHeaterCall &call) override
Apply a Home Assistant request: a mode is written to register 0x0006, away mode goes through the oper...
bool sync_from_readings_(const DhwReadings &readings)
Copy the readings into the entity's fields.
float get_setup_priority() const override
Get setup priority (DATA).
DhwMode
Operating mode as register 0x0006 holds it.
bool dhw_mode_for(water_heater::WaterHeaterMode mode, DhwMode &out)
Heater mode for an ESPHome water heater mode.
water_heater::WaterHeaterMode water_heater_mode_for(DhwMode mode)
ESPHome water heater mode for a heater mode.
Pure codec for a domestic hot water heater: its family-0x00 registers and its target temperature.
What the hub has read from a domestic hot water heater.
Runtime state of a paired IO‑Homecontrol device.