1 """Support for IHC binary sensors."""
3 from __future__
import annotations
5 from ihcsdk.ihccontroller
import IHCController
8 BinarySensorDeviceClass,
17 from .const
import CONF_INVERTING, DOMAIN, IHC_CONTROLLER
18 from .entity
import IHCEntity
24 add_entities: AddEntitiesCallback,
25 discovery_info: DiscoveryInfoType |
None =
None,
27 """Set up the IHC binary sensor platform."""
28 if discovery_info
is None:
31 for name, device
in discovery_info.items():
32 ihc_id = device[
"ihc_id"]
33 product_cfg = device[
"product_cfg"]
34 product = device[
"product"]
36 controller_id = device[
"ctrl_id"]
37 ihc_controller: IHCController = hass.data[DOMAIN][controller_id][IHC_CONTROLLER]
43 product_cfg.get(CONF_TYPE),
44 product_cfg[CONF_INVERTING],
47 devices.append(sensor)
54 The associated IHC resource can be any in or output from a IHC product
55 or function block, but it must be a boolean ON/OFF resources.
60 ihc_controller: IHCController,
68 """Initialize the IHC binary sensor."""
69 super().
__init__(ihc_controller, controller_id, name, ihc_id, product)
74 """IHC resource has changed."""
def on_ihc_change(self, ihc_id, value)
None __init__(self, IHCController ihc_controller, str controller_id, str name, int ihc_id, str sensor_type, bool inverting, product=None)
None schedule_update_ha_state(self, bool force_refresh=False)
None add_entities(AsusWrtRouter router, AddEntitiesCallback async_add_entities, set[str] tracked)
None setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback add_entities, DiscoveryInfoType|None discovery_info=None)