1 """Support for LaMetric notifications."""
3 from __future__
import annotations
7 from demetriek
import (
24 from .const
import CONF_CYCLES, CONF_ICON_TYPE, CONF_PRIORITY, CONF_SOUND, DOMAIN
25 from .coordinator
import LaMetricDataUpdateCoordinator
31 discovery_info: DiscoveryInfoType |
None =
None,
32 ) -> LaMetricNotificationService |
None:
33 """Get the LaMetric notification service."""
34 if discovery_info
is None:
36 coordinator: LaMetricDataUpdateCoordinator = hass.data[DOMAIN][
37 discovery_info[
"entry_id"]
43 """Implement the notification service for LaMetric."""
45 def __init__(self, lametric: LaMetricDevice) ->
None:
46 """Initialize the service."""
50 """Send a message to a LaMetric device."""
51 if not (data := kwargs.get(ATTR_DATA)):
55 if CONF_SOUND
in data:
56 sound = Sound(sound=data[CONF_SOUND], category=
None)
58 notification = Notification(
59 icon_type=NotificationIconType(data.get(CONF_ICON_TYPE,
"none")),
60 priority=NotificationPriority(data.get(CONF_PRIORITY,
"info")),
64 icon=data.get(CONF_ICON,
"a7956"),
68 cycles=
int(data.get(CONF_CYCLES, 1)),
74 await self.
lametriclametric.notify(notification=notification)
75 except LaMetricError
as ex:
None async_send_message(self, str message="", **Any kwargs)
None __init__(self, LaMetricDevice lametric)
LaMetricNotificationService|None async_get_service(HomeAssistant hass, ConfigType config, DiscoveryInfoType|None discovery_info=None)