-
Notifications
You must be signed in to change notification settings - Fork 899
Open
Labels
device support requestThis requests support for a new deviceThis requests support for a new device
Description
Problem description
A custom quirk was merged in #3422 (zhaquirks/hzc/doubledimmerswitch.py), but the identifier we've got from this device with EAN 8719322372734 is different.
What's in there:
QuirkBuilder("EcoDim BV", "EcoDim-Zigbee 3.0")What works:
QuirkBuilder("EcoDim BV", "Eco-Dim.05 Zigbee")Solution description
As explained in #2865, this dimmer doesn't report its status back. This quirk makes it so zigpy/zha/HA doesn't expect that, so it won't blink the device multiple times and then reporting an error. It needs to be tied to the reported device name.
Not sure whether to do this in a copy of the existing quirk, or that it can be adapted to respond the same to different devices.
Screenshots/Video
Diagnostics information
zha-01JTXMFAEYVXFH4GY0C3HVK9JF-EcoDim BV Eco-Dim.05 Zigbee-f9af10d373c1c4781d75e1a6158e6a5c.json
Device signature
Device signature
{
"node_descriptor": {
"logical_type": 1,
"complex_descriptor_available": 0,
"user_descriptor_available": 0,
"reserved": 0,
"aps_flags": 0,
"frequency_band": 8,
"mac_capability_flags": 142,
"manufacturer_code": 4098,
"maximum_buffer_size": 82,
"maximum_incoming_transfer_size": 82,
"server_mask": 11264,
"maximum_outgoing_transfer_size": 82,
"descriptor_capability_field": 0
},
"endpoints": {
"1": {
"profile_id": "0x0104",
"device_type": "0x0101",
"input_clusters": [
"0x0000",
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008",
"0x1000"
],
"output_clusters": [
"0x0019"
]
},
"2": {
"profile_id": "0x0104",
"device_type": "0x0101",
"input_clusters": [
"0x0000",
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008",
"0x1000"
],
"output_clusters": [
"0x0019"
]
},
"242": {
"profile_id": "0xa1e0",
"device_type": "0x0061",
"input_clusters": [],
"output_clusters": [
"0x0021"
]
}
},
"manufacturer": "EcoDim BV",
"model": "Eco-Dim.05 Zigbee",
"class": "zigpy.quirks.v2.CustomDeviceV2"
}Logs
No response
Custom quirk
Custom quirk
"""Quirk for EcoDim 05 Duo Dimmer (Eco-Dim.05 Zigbee, 2 gang)."""
from zigpy.quirks import CustomCluster
from zigpy.quirks.v2 import QuirkBuilder
from zigpy.zcl.clusters.general import OnOff
from zhaquirks import NoReplyMixin
class EcoDimOnOff(NoReplyMixin, CustomCluster, OnOff):
"""EcoDim On/Off Cluster with no-reply workaround."""
void_input_commands = {cmd.id for cmd in OnOff.commands_by_name.values()}
(
QuirkBuilder("EcoDim BV", "Eco-Dim.05 Zigbee")
# Replace all OnOff clusters with our custom version to avoid "did not respond"
.replace_cluster_occurrences(EcoDimOnOff, replace_client_instances=False)
.add_to_registry()
)Additional information
No response
Metadata
Metadata
Assignees
Labels
device support requestThis requests support for a new deviceThis requests support for a new device