1 """Support for System Bridge notification service."""
3 from __future__
import annotations
8 from systembridgemodels.notification
import Notification
14 BaseNotificationService,
20 from .const
import DOMAIN
21 from .coordinator
import SystemBridgeDataUpdateCoordinator
23 _LOGGER = logging.getLogger(__name__)
25 ATTR_ACTIONS =
"actions"
28 ATTR_TIMEOUT =
"timeout"
34 discovery_info: DiscoveryInfoType |
None =
None,
35 ) -> SystemBridgeNotificationService |
None:
36 """Get the System Bridge notification service."""
37 if discovery_info
is None:
40 coordinator: SystemBridgeDataUpdateCoordinator = hass.data[DOMAIN][
41 discovery_info[CONF_ENTITY_ID]
48 """Implement the notification service for System Bridge."""
52 coordinator: SystemBridgeDataUpdateCoordinator,
54 """Initialize the service."""
55 self._coordinator: SystemBridgeDataUpdateCoordinator = coordinator
63 data = kwargs.get(ATTR_DATA, {})
or {}
65 notification = Notification(
66 actions=data.get(ATTR_ACTIONS),
67 audio=data.get(ATTR_AUDIO),
68 icon=data.get(ATTR_ICON),
69 image=data.get(ATTR_IMAGE),
71 timeout=data.get(ATTR_TIMEOUT),
72 title=kwargs.get(ATTR_TITLE, data.get(ATTR_TITLE, ATTR_TITLE_DEFAULT)),
75 _LOGGER.debug(
"Sending notification: %s", notification)
77 await self._coordinator.websocket_client.send_notification(notification)
None __init__(self, SystemBridgeDataUpdateCoordinator coordinator)
None async_send_message(self, str message="", **Any kwargs)
SystemBridgeNotificationService|None async_get_service(HomeAssistant hass, ConfigType config, DiscoveryInfoType|None discovery_info=None)