1 """Support for IHC sensors."""
3 from __future__
import annotations
5 from ihcsdk.ihccontroller
import IHCController
14 from .const
import DOMAIN, IHC_CONTROLLER
15 from .entity
import IHCEntity
21 add_entities: AddEntitiesCallback,
22 discovery_info: DiscoveryInfoType |
None =
None,
24 """Set up the IHC sensor platform."""
25 if discovery_info
is None:
28 for name, device
in discovery_info.items():
29 ihc_id = device[
"ihc_id"]
30 product_cfg = device[
"product_cfg"]
31 product = device[
"product"]
33 controller_id = device[
"ctrl_id"]
34 ihc_controller: IHCController = hass.data[DOMAIN][controller_id][IHC_CONTROLLER]
35 unit = product_cfg[CONF_UNIT_OF_MEASUREMENT]
36 sensor =
IHCSensor(ihc_controller, controller_id, name, ihc_id, unit, product)
37 devices.append(sensor)
42 """Implementation of the IHC sensor."""
46 ihc_controller: IHCController,
53 """Initialize the IHC sensor."""
54 super().
__init__(ihc_controller, controller_id, name, ihc_id, product)
56 if unit
in TEMPERATURE_UNITS:
60 """Handle IHC resource change."""
None __init__(self, IHCController ihc_controller, str controller_id, str name, int ihc_id, str unit, product=None)
def on_ihc_change(self, ihc_id, value)
_attr_native_unit_of_measurement
None schedule_update_ha_state(self, bool force_refresh=False)
def add_entities(account, async_add_entities, tracked)
None setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback add_entities, DiscoveryInfoType|None discovery_info=None)