1 """BleBox button entities implementation."""
3 from __future__
import annotations
11 from .
import BleBoxConfigEntry
12 from .entity
import BleBoxEntity
17 config_entry: BleBoxConfigEntry,
18 async_add_entities: AddEntitiesCallback,
20 """Set up a BleBox button entry."""
23 for feature
in config_entry.runtime_data.features.get(
"buttons", [])
29 """Representation of BleBox buttons."""
31 def __init__(self, feature: blebox_uniapi.button.Button) ->
None:
32 """Initialize a BleBox button feature."""
37 """Return icon for endpoint."""
38 if "up" in self._feature.query_string:
39 return "mdi:arrow-up-circle"
40 if "down" in self._feature.query_string:
41 return "mdi:arrow-down-circle"
42 if "fav" in self._feature.query_string:
43 return "mdi:heart-circle"
44 if "open" in self._feature.query_string:
45 return "mdi:arrow-up-circle"
46 if "close" in self._feature.query_string:
47 return "mdi:arrow-down-circle"
51 """Handle the button press."""
52 await self._feature.set()