1 """Support for ADS binary sensors."""
3 from __future__
import annotations
6 import voluptuous
as vol
10 PLATFORM_SCHEMA
as BINARY_SENSOR_PLATFORM_SCHEMA,
11 BinarySensorDeviceClass,
20 from .const
import CONF_ADS_VAR, DATA_ADS, STATE_KEY_STATE
21 from .entity
import AdsEntity
22 from .hub
import AdsHub
24 DEFAULT_NAME =
"ADS binary sensor"
25 PLATFORM_SCHEMA = BINARY_SENSOR_PLATFORM_SCHEMA.extend(
27 vol.Required(CONF_ADS_VAR): cv.string,
28 vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
29 vol.Optional(CONF_DEVICE_CLASS): DEVICE_CLASSES_SCHEMA,
37 add_entities: AddEntitiesCallback,
38 discovery_info: DiscoveryInfoType |
None =
None,
40 """Set up the Binary Sensor platform for ADS."""
41 ads_hub = hass.data[DATA_ADS]
43 ads_var: str = config[CONF_ADS_VAR]
44 name: str = config[CONF_NAME]
45 device_class: BinarySensorDeviceClass |
None = config.get(CONF_DEVICE_CLASS)
52 """Representation of ADS binary sensors."""
59 device_class: BinarySensorDeviceClass |
None,
61 """Initialize ADS binary sensor."""
62 super().
__init__(ads_hub, name, ads_var)
66 """Register device notification."""
71 """Return True if the entity is on."""
72 return self._state_dict[STATE_KEY_STATE]
None __init__(self, AdsHub ads_hub, str name, str ads_var, BinarySensorDeviceClass|None device_class)
None async_added_to_hass(self)
None async_initialize_device(self, str ads_var, type plctype, str state_key=STATE_KEY_STATE, int|None factor=None)
None setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback add_entities, DiscoveryInfoType|None discovery_info=None)
None add_entities(AsusWrtRouter router, AddEntitiesCallback async_add_entities, set[str] tracked)