1 """Support for Waterfurnace."""
3 from __future__
import annotations
9 SensorEntityDescription,
18 from .
import DOMAIN
as WF_DOMAIN, UPDATE_TOPIC, WaterFurnaceData
25 native_unit_of_measurement=UnitOfPower.WATT,
26 device_class=SensorDeviceClass.POWER,
29 name=
"Active Setpoint",
30 key=
"tstatactivesetpoint",
31 native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
32 device_class=SensorDeviceClass.TEMPERATURE,
37 native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
38 device_class=SensorDeviceClass.TEMPERATURE,
43 native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
44 device_class=SensorDeviceClass.TEMPERATURE,
48 key=
"enteringwatertemp",
49 native_unit_of_measurement=UnitOfTemperature.FAHRENHEIT,
50 device_class=SensorDeviceClass.TEMPERATURE,
53 name=
"Humidity Set Point",
54 key=
"tstathumidsetpoint",
55 icon=
"mdi:water-percent",
56 native_unit_of_measurement=PERCENTAGE,
60 key=
"tstatrelativehumidity",
61 icon=
"mdi:water-percent",
62 native_unit_of_measurement=PERCENTAGE,
65 name=
"Compressor Power",
66 key=
"compressorpower",
67 native_unit_of_measurement=UnitOfPower.WATT,
68 device_class=SensorDeviceClass.POWER,
73 native_unit_of_measurement=UnitOfPower.WATT,
74 device_class=SensorDeviceClass.POWER,
79 native_unit_of_measurement=UnitOfPower.WATT,
80 device_class=SensorDeviceClass.POWER,
83 name=
"Loop Pump Power",
85 native_unit_of_measurement=UnitOfPower.WATT,
86 device_class=SensorDeviceClass.POWER,
89 name=
"Compressor Speed", key=
"actualcompressorspeed", icon=
"mdi:speedometer"
92 name=
"Fan Speed", key=
"airflowcurrentspeed", icon=
"mdi:fan"
100 add_entities: AddEntitiesCallback,
101 discovery_info: DiscoveryInfoType |
None =
None,
103 """Set up the Waterfurnace sensor."""
104 if discovery_info
is None:
107 client = hass.data[WF_DOMAIN]
113 """Implementing the Waterfurnace sensor."""
115 _attr_should_poll =
False
118 self, client: WaterFurnaceData, description: SensorEntityDescription
120 """Initialize the sensor."""
126 f
"wf_{slugify(self.client.unit)}_{slugify(description.key)}"
130 """Register callbacks."""
140 if self.
clientclient.data
is not None:
None __init__(self, WaterFurnaceData client, SensorEntityDescription description)
None async_added_to_hass(self)
def async_update_callback(self)
None async_write_ha_state(self)
None async_on_remove(self, CALLBACK_TYPE func)
def add_entities(account, async_add_entities, tracked)
None setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback add_entities, DiscoveryInfoType|None discovery_info=None)
Callable[[], None] async_dispatcher_connect(HomeAssistant hass, str signal, Callable[..., Any] target)