1 """Control binary sensor instances."""
4 from datetime
import timedelta
7 from ProgettiHWSW.input
import Input
15 DataUpdateCoordinator,
18 from .
import setup_input
19 from .const
import DEFAULT_POLLING_INTERVAL_SEC, DOMAIN
21 _LOGGER = logging.getLogger(DOMAIN)
26 config_entry: ConfigEntry,
27 async_add_entities: AddEntitiesCallback,
29 """Set up the binary sensors from a config entry."""
30 board_api = hass.data[DOMAIN][config_entry.entry_id]
31 input_count = config_entry.data[
"input_count"]
33 async
def async_update_data():
34 """Fetch data from API endpoint of board."""
35 async
with asyncio.timeout(5):
36 return await board_api.get_inputs()
42 update_method=async_update_data,
43 update_interval=
timedelta(seconds=DEFAULT_POLLING_INTERVAL_SEC),
45 await coordinator.async_refresh()
53 for i
in range(1,
int(input_count) + 1)
58 """Represent a binary sensor."""
60 def __init__(self, coordinator, name, sensor: Input) ->
None:
61 """Set initializing values."""
68 """Get sensor state."""
69 return self.coordinator.data[self.
_sensor_sensor.id]
None __init__(self, coordinator, name, Input sensor)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
Input setup_input(ProgettiHWSWAPI api, int input_number)