1 """Demo platform that offers a fake water heater device."""
3 from __future__
import annotations
9 WaterHeaterEntityFeature,
16 SUPPORT_FLAGS_HEATER = (
17 WaterHeaterEntityFeature.TARGET_TEMPERATURE
18 | WaterHeaterEntityFeature.ON_OFF
19 | WaterHeaterEntityFeature.OPERATION_MODE
20 | WaterHeaterEntityFeature.AWAY_MODE
26 config_entry: ConfigEntry,
27 async_add_entities: AddEntitiesCallback,
29 """Set up the Demo config entry."""
33 "Demo Water Heater", 119, UnitOfTemperature.FAHRENHEIT,
False,
"eco"
36 "Demo Water Heater Celsius", 45, UnitOfTemperature.CELSIUS,
True,
"eco"
43 """Representation of a demo water_heater device."""
45 _attr_should_poll =
False
46 _attr_supported_features = SUPPORT_FLAGS_HEATER
51 target_temperature: int,
52 unit_of_measurement: str,
54 current_operation: str,
56 """Initialize the water_heater device."""
58 if target_temperature
is not None:
62 if current_operation
is not None:
79 """Set new target temperatures."""
84 """Set new operation mode."""
89 """Turn away mode on."""
94 """Turn away mode off."""
99 """Turn on water heater."""
103 """Turn off water heater."""
None set_temperature(self, **Any kwargs)
None set_operation_mode(self, str operation_mode)
None turn_away_mode_off(self)
None turn_off(self, **Any kwargs)
None turn_away_mode_on(self)
None turn_on(self, **Any kwargs)
None __init__(self, str name, int target_temperature, str unit_of_measurement, bool away, str current_operation)
None set_operation_mode(self, str operation_mode)
None schedule_update_ha_state(self, bool force_refresh=False)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)