1 """Platform for siren integration."""
5 from devolo_home_control_api.devices.zwave
import Zwave
6 from devolo_home_control_api.homecontrol
import HomeControl
12 from .
import DevoloHomeControlConfigEntry
13 from .devolo_multi_level_switch
import DevoloMultiLevelSwitchDeviceEntity
18 entry: DevoloHomeControlConfigEntry,
19 async_add_entities: AddEntitiesCallback,
21 """Get all binary sensor and multi level sensor devices and setup them via config entry."""
26 device_instance=device,
27 element_uid=multi_level_switch,
29 for gateway
in entry.runtime_data
30 for device
in gateway.multi_level_switch_devices
31 for multi_level_switch
in device.multi_level_switch_property
32 if multi_level_switch.startswith(
"devolo.SirenMultiLevelSwitch")
37 """Representation of a cover device within devolo Home Control."""
39 _attr_supported_features = (
40 SirenEntityFeature.TURN_OFF
41 | SirenEntityFeature.TURN_ON
42 | SirenEntityFeature.TONES
46 self, homecontrol: HomeControl, device_instance: Zwave, element_uid: str
48 """Initialize a devolo multi level switch."""
50 homecontrol=homecontrol,
51 device_instance=device_instance,
52 element_uid=element_uid,
60 self.
_default_tone_default_tone = device_instance.settings_property[
"tone"].tone
64 """Whether the device is on or off."""
68 """Turn the device off."""
69 tone = kwargs.get(ATTR_TONE)
or self.
_default_tone_default_tone
73 """Turn the device off."""
77 """Handle generic messages."""
78 if message[0].startswith(
"mss"):
_multi_level_switch_property
None __init__(self, HomeControl homecontrol, Zwave device_instance, str element_uid)
None turn_off(self, **Any kwargs)
None turn_on(self, **Any kwargs)
None _generic_message(self, tuple message)
None async_setup_entry(HomeAssistant hass, DevoloHomeControlConfigEntry entry, AddEntitiesCallback async_add_entities)