"""Philips RWL022 device.""" from zigpy.profiles import zha from zigpy.quirks import CustomDevice from zigpy.zcl.clusters.general import ( Basic, Groups, Identify, LevelControl, OnOff, Ota, PowerConfiguration, Scenes, ) from zigpy.zcl.clusters.lightlink import LightLink from zhaquirks.const import ( DEVICE_TYPE, ENDPOINTS, INPUT_CLUSTERS, MODELS_INFO, OUTPUT_CLUSTERS, PROFILE_ID, ) from zhaquirks.philips import SIGNIFY, PhilipsBasicCluster, PhilipsRwlRemoteCluster DEVICE_SPECIFIC_UNKNOWN = 64512 class PhilipsRWL022(CustomDevice): """Philips RWL022 device.""" signature = { # MODELS_INFO: [(SIGNIFY, "RWL022")], ENDPOINTS: { 1: { PROFILE_ID: zha.PROFILE_ID, DEVICE_TYPE: zha.DeviceType.NON_COLOR_SCENE_CONTROLLER, INPUT_CLUSTERS: [ Basic.cluster_id, PowerConfiguration.cluster_id, Identify.cluster_id, DEVICE_SPECIFIC_UNKNOWN, LightLink.cluster_id, ], OUTPUT_CLUSTERS: [ Ota.cluster_id, Basic.cluster_id, Identify.cluster_id, Groups.cluster_id, OnOff.cluster_id, LevelControl.cluster_id, Scenes.cluster_id, LightLink.cluster_id, ], } }, } replacement = { ENDPOINTS: { 1: { PROFILE_ID: zha.PROFILE_ID, DEVICE_TYPE: zha.DeviceType.NON_COLOR_SCENE_CONTROLLER, INPUT_CLUSTERS: [ PhilipsBasicCluster, PowerConfiguration.cluster_id, Identify.cluster_id, PhilipsRwlRemoteCluster, LightLink.cluster_id, ], OUTPUT_CLUSTERS: [ Ota.cluster_id, Basic.cluster_id, Identify.cluster_id, Groups.cluster_id, OnOff.cluster_id, LevelControl.cluster_id, Scenes.cluster_id, LightLink.cluster_id, ], } } } device_automation_triggers = ( PhilipsRwlRemoteCluster.generate_device_automation_triggers() )