1 """Binary sensor platform for Acaia scales."""
3 from collections.abc
import Callable
4 from dataclasses
import dataclass
6 from aioacaia.acaiascale
import AcaiaScale
9 BinarySensorDeviceClass,
11 BinarySensorEntityDescription,
16 from .coordinator
import AcaiaConfigEntry
17 from .entity
import AcaiaEntity
20 @dataclass(kw_only=True, frozen=True)
22 """Description for Acaia binary sensor entities."""
24 is_on_fn: Callable[[AcaiaScale], bool]
27 BINARY_SENSORS: tuple[AcaiaBinarySensorEntityDescription, ...] = (
30 translation_key=
"timer_running",
31 device_class=BinarySensorDeviceClass.RUNNING,
32 is_on_fn=
lambda scale: scale.timer_running,
39 entry: AcaiaConfigEntry,
40 async_add_entities: AddEntitiesCallback,
42 """Set up binary sensors."""
44 coordinator = entry.runtime_data
51 """Representation of an Acaia binary sensor."""
53 entity_description: AcaiaBinarySensorEntityDescription
57 """Return true if the binary sensor is on."""
None async_setup_entry(HomeAssistant hass, AcaiaConfigEntry entry, AddEntitiesCallback async_add_entities)