1 """Support for showing random states."""
3 from __future__
import annotations
5 from collections.abc
import Mapping
6 from random
import getrandbits
9 import voluptuous
as vol
12 DEVICE_CLASSES_SCHEMA,
13 PLATFORM_SCHEMA
as BINARY_SENSOR_PLATFORM_SCHEMA,
23 DEFAULT_NAME =
"Random binary sensor"
25 PLATFORM_SCHEMA = BINARY_SENSOR_PLATFORM_SCHEMA.extend(
27 vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
28 vol.Optional(CONF_DEVICE_CLASS): DEVICE_CLASSES_SCHEMA,
36 async_add_entities: AddEntitiesCallback,
37 discovery_info: DiscoveryInfoType |
None =
None,
39 """Set up the Random binary sensor."""
46 config_entry: ConfigEntry,
47 async_add_entities: AddEntitiesCallback,
49 """Initialize config entry."""
56 """Representation of a Random binary sensor."""
58 _attr_translation_key =
"random"
60 def __init__(self, config: Mapping[str, Any], entry_id: str |
None =
None) ->
None:
61 """Initialize the Random binary sensor."""
67 """Get new state and update the sensor's state."""
None __init__(self, Mapping[str, Any] config, str|None entry_id=None)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
None async_setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback async_add_entities, DiscoveryInfoType|None discovery_info=None)