1 """Binary sensor platform for SABnzbd."""
3 from __future__
import annotations
5 from collections.abc
import Callable
6 from dataclasses
import dataclass
10 BinarySensorDeviceClass,
12 BinarySensorEntityDescription,
18 from .
import SabnzbdConfigEntry
19 from .entity
import SabnzbdEntity
22 @dataclass(frozen=True, kw_only=True)
24 """Describes Sabnzbd binary sensor entity."""
26 is_on_fn: Callable[[dict[str, Any]], bool]
29 BINARY_SENSORS: tuple[SabnzbdBinarySensorEntityDescription, ...] = (
32 translation_key=
"warnings",
33 device_class=BinarySensorDeviceClass.PROBLEM,
34 entity_category=EntityCategory.DIAGNOSTIC,
35 is_on_fn=
lambda data: data[
"have_warnings"] !=
"0",
42 config_entry: SabnzbdConfigEntry,
43 async_add_entities: AddEntitiesCallback,
45 """Set up a Sabnzbd sensor entry."""
46 coordinator = config_entry.runtime_data
54 """Representation of an SABnzbd binary sensor."""
56 entity_description: SabnzbdBinarySensorEntityDescription
60 """Return latest sensor data."""
None async_setup_entry(HomeAssistant hass, SabnzbdConfigEntry config_entry, AddEntitiesCallback async_add_entities)