1 """The Nibe Heat Pump sensors."""
3 from __future__
import annotations
5 from nibe.coil_groups
import UNIT_COILGROUPS, UnitCoilGroup
6 from nibe.exceptions
import CoilNotFoundException
15 from .const
import DOMAIN, LOGGER
16 from .coordinator
import CoilCoordinator
21 config_entry: ConfigEntry,
22 async_add_entities: AddEntitiesCallback,
24 """Set up platform."""
26 coordinator: CoilCoordinator = hass.data[DOMAIN][config_entry.entry_id]
29 if unit := UNIT_COILGROUPS.get(coordinator.series, {}).
get(
"main"):
32 except CoilNotFoundException
as exception:
33 LOGGER.debug(
"Skipping button %r", exception)
41 _attr_has_entity_name =
True
42 _attr_entity_category = EntityCategory.DIAGNOSTIC
44 def __init__(self, coordinator: CoilCoordinator, unit: UnitCoilGroup) ->
None:
45 """Initialize entity."""
46 self.
_reset_coil_reset_coil = coordinator.heatpump.get_coil_by_address(unit.alarm_reset)
47 self.
_alarm_coil_alarm_coil = coordinator.heatpump.get_coil_by_address(unit.alarm)
54 """Execute the command."""
60 """Return if entity is available."""
61 if coil := self.coordinator.data.get(self.
_alarm_coil_alarm_coil.address):
62 return coil.value != 0
None async_write_coil(self, Coil coil, float|str value)
CoilData async_read_coil(self, Coil coil)
web.Response get(self, web.Request request, str config_key)