1 """Support for Genius Hub water_heater devices."""
3 from __future__
import annotations
7 WaterHeaterEntityFeature,
13 from .
import GeniusHubConfigEntry
14 from .entity
import GeniusHeatingZone
17 STATE_MANUAL =
"manual"
20 HA_OPMODE_TO_GH = {STATE_OFF:
"off", STATE_AUTO:
"timer", STATE_MANUAL:
"override"}
26 "override": STATE_MANUAL,
33 GH_HEATERS = [
"hot water temperature"]
38 entry: GeniusHubConfigEntry,
39 async_add_entities: AddEntitiesCallback,
41 """Set up the Genius Hub water heater entities."""
43 broker = entry.runtime_data
47 for z
in broker.client.zone_objs
48 if z.data.get(
"type")
in GH_HEATERS
53 """Representation of a Genius Hub water_heater device."""
55 _attr_supported_features = (
56 WaterHeaterEntityFeature.TARGET_TEMPERATURE
57 | WaterHeaterEntityFeature.OPERATION_MODE
61 """Initialize the water_heater device."""
69 """Return the list of available operation modes."""
70 return list(HA_OPMODE_TO_GH)
74 """Return the current operation mode."""
75 return GH_STATE_TO_HA[self.
_zone_zone.data[
"mode"]]
78 """Set a new operation mode for this boiler."""
79 await self.
_zone_zone.set_mode(HA_OPMODE_TO_GH[operation_mode])
list[str] operation_list(self)
str|None current_operation(self)
None __init__(self, broker, zone)
None async_set_operation_mode(self, str operation_mode)
None async_setup_entry(HomeAssistant hass, GeniusHubConfigEntry entry, AddEntitiesCallback async_add_entities)