1 """Support for KNX/IP notifications."""
3 from __future__
import annotations
6 from xknx.devices
import Notification
as XknxNotification
8 from homeassistant
import config_entries
15 from .
import KNXModule
16 from .const
import KNX_ADDRESS, KNX_MODULE_KEY
17 from .entity
import KnxYamlEntity
23 async_add_entities: AddEntitiesCallback,
25 """Set up notify(s) for KNX platform."""
26 knx_module = hass.data[KNX_MODULE_KEY]
27 config: list[ConfigType] = knx_module.config_yaml[Platform.NOTIFY]
33 """Return a KNX Notification to be used within XKNX."""
34 return XknxNotification(
36 name=config[CONF_NAME],
37 group_address=config[KNX_ADDRESS],
38 value_type=config[CONF_TYPE],
43 """Representation of a KNX notification entity."""
45 _device: XknxNotification
47 def __init__(self, knx_module: KNXModule, config: ConfigType) ->
None:
48 """Initialize a KNX notification."""
50 knx_module=knx_module,
57 """Send a notification to knx bus."""
58 await self.
_device_device.set(message)
None async_send_message(self, str message, str|None title=None)
None __init__(self, KNXModule knx_module, ConfigType config)
None async_setup_entry(HomeAssistant hass, config_entries.ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
XknxNotification _create_notification_instance(XKNX xknx, ConfigType config)