1 """Support for Firmata binary sensor input."""
11 from .const
import CONF_NEGATE_STATE, CONF_PIN_MODE, DOMAIN
12 from .entity
import FirmataPinEntity
13 from .pin
import FirmataBinaryDigitalInput, FirmataPinUsedException
15 _LOGGER = logging.getLogger(__name__)
20 config_entry: ConfigEntry,
21 async_add_entities: AddEntitiesCallback,
23 """Set up the Firmata binary sensors."""
26 board = hass.data[DOMAIN][config_entry.entry_id]
27 for binary_sensor
in board.binary_sensors:
28 pin = binary_sensor[CONF_PIN]
29 pin_mode = binary_sensor[CONF_PIN_MODE]
30 negate = binary_sensor[CONF_NEGATE_STATE]
34 except FirmataPinUsedException:
36 "Could not setup binary sensor on pin %s since pin already in use",
37 binary_sensor[CONF_PIN],
40 name = binary_sensor[CONF_NAME]
42 new_entities.append(binary_sensor_entity)
48 """Representation of a binary sensor on a Firmata board."""
51 """Set up a binary sensor."""
55 """Stop reporting a binary sensor."""
56 await self.
_api_api.stop_pin()
59 def is_on(self) -> bool:
60 """Return true if binary sensor is on."""
61 return self.
_api_api.is_on
None async_added_to_hass(self)
None async_write_ha_state(self)
None async_will_remove_from_hass(self)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)