ZHA device handlers bridge the functionality gap created when manufacturers deviate from the ZCL specification, handling deviations and exceptions by parsing custom messages to and from Zigbee devices.
Apache License 2.0
772
stars
702
forks
source link
[Device Support Request] Eglo Connect.z Smart Home E27 LED Filament Light Bulb #3404
This bulb will pair but only partially works.
It incorrectly appears as a colour bulb(always blue), and exposes a binary sensor that always shows as closed.
My experiments thus far at creating a quirk are failing miserably.
Problem description
This bulb will pair but only partially works. It incorrectly appears as a colour bulb(always blue), and exposes a binary sensor that always shows as closed. My experiments thus far at creating a quirk are failing miserably.
Solution description
Custom quirk, or help with creating one!
Screenshots/Video
Screenshots/Video
Device signature
Device signature
```json { "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": 4417, "maximum_buffer_size": 66, "maximum_incoming_transfer_size": 66, "server_mask": 10752, "maximum_outgoing_transfer_size": 66, "descriptor_capability_field": 0 }, "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0101", "input_clusters": [ "0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0x0008", "0x000a", "0x0300", "0x1000", "0xfc57" ], "output_clusters": [ "0x0006" ] }, "3": { "profile_id": "0x128f", "device_type": "0x0101", "input_clusters": [ "0x0004", "0xff50", "0xff51" ], "output_clusters": [ "0xff50", "0xff51" ] }, "242": { "profile_id": "0xa1e0", "device_type": "0x0061", "input_clusters": [], "output_clusters": [ "0x0021" ] } }, "manufacturer": "AwoX", "model": "ESMLFzm_w6_Dimm", "class": "zigpy.device.Device" } ```Diagnostic information
Diagnostic information
```json { "home_assistant": { "installation_type": "Home Assistant OS", "version": "2024.10.1", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.12.4", "docker": true, "arch": "aarch64", "timezone": "Europe/Dublin", "os_name": "Linux", "os_version": "6.6.46-haos", "supervisor": "2024.09.1", "host_os": "Home Assistant OS 13.1", "docker_version": "26.1.4", "chassis": "embedded", "run_as_root": true }, "custom_components": { "average": { "documentation": "https://github.com/Limych/ha-average", "version": "2.3.4", "requirements": [] }, "feedparser": { "documentation": "https://github.com/custom-components/feedparser/blob/master/README.md", "version": "0.1.11", "requirements": [ "feedparser==6.0.10" ] }, "apparent_temperature": { "documentation": "https://github.com/Limych/ha-apparent-temperature", "version": "1.1.0", "requirements": [] }, "frigate": { "documentation": "https://github.com/blakeblackshear/frigate", "version": "5.4.0", "requirements": [ "pytz" ] }, "spotcast": { "documentation": "https://github.com/fondberg/spotcast", "version": "v3.8.2", "requirements": [] }, "hacs": { "documentation": "https://hacs.xyz/docs/configuration/start", "version": "2.0.1", "requirements": [ "aiogithubapi>=22.10.1" ] }, "mass": { "documentation": "https://music-assistant.io", "version": "2024.9.1", "requirements": [ "music-assistant==2.2.4" ] }, "cololight": { "documentation": "https://github.com/BazaJayGee66/homeassistant_cololight", "version": "v2.0.7", "requirements": [ "pycololight==2.1.0" ] }, "battery_notes": { "documentation": "https://andrew-codechimp.github.io/HA-Battery-Notes/", "version": "2.4.10", "requirements": [] }, "google_photos": { "documentation": "https://github.com/daanoz/ha-google-photos", "version": "v0.7.0", "requirements": [ "google-api-python-client>=2.71.0", "pillow" ] }, "scene_presets": { "documentation": "https://github.com/Hypfer/hass-scene_presets", "version": "2.2.1", "requirements": [] }, "adaptive_lighting": { "documentation": "https://github.com/basnijholt/adaptive-lighting#readme", "version": "1.22.0", "requirements": [ "ulid-transform" ] }, "temperature_feels_like": { "documentation": "https://github.com/Limych/ha-temperature-feeling", "version": "0.3.9", "requirements": [] }, "thermal_comfort": { "documentation": "https://github.com/dolezsa/thermal_comfort/blob/master/README.md", "version": "2.2.2", "requirements": [] } }, "integration_manifest": { "domain": "zha", "name": "Zigbee Home Automation", "after_dependencies": [ "onboarding", "usb" ], "codeowners": [ "dmulcahey", "adminiuga", "puddly", "TheJulianJES" ], "config_flow": true, "dependencies": [ "file_upload" ], "documentation": "https://www.home-assistant.io/integrations/zha", "iot_class": "local_polling", "loggers": [ "aiosqlite", "bellows", "crccheck", "pure_pcapy3", "zhaquirks", "zigpy", "zigpy_deconz", "zigpy_xbee", "zigpy_zigate", "zigpy_znp", "zha", "universal_silabs_flasher" ], "requirements": [ "universal-silabs-flasher==0.0.22", "zha==0.0.34" ], "usb": [ { "vid": "10C4", "pid": "EA60", "description": "*2652*", "known_devices": [ "slae.sh cc2652rb stick" ] }, { "vid": "10C4", "pid": "EA60", "description": "*slzb-07*", "known_devices": [ "smlight slzb-07" ] }, { "vid": "1A86", "pid": "55D4", "description": "*sonoff*plus*", "known_devices": [ "sonoff zigbee dongle plus v2" ] }, { "vid": "10C4", "pid": "EA60", "description": "*sonoff*plus*", "known_devices": [ "sonoff zigbee dongle plus" ] }, { "vid": "10C4", "pid": "EA60", "description": "*tubeszb*", "known_devices": [ "TubesZB Coordinator" ] }, { "vid": "1A86", "pid": "7523", "description": "*tubeszb*", "known_devices": [ "TubesZB Coordinator" ] }, { "vid": "1A86", "pid": "7523", "description": "*zigstar*", "known_devices": [ "ZigStar Coordinators" ] }, { "vid": "1CF1", "pid": "0030", "description": "*conbee*", "known_devices": [ "Conbee II" ] }, { "vid": "0403", "pid": "6015", "description": "*conbee*", "known_devices": [ "Conbee III" ] }, { "vid": "10C4", "pid": "8A2A", "description": "*zigbee*", "known_devices": [ "Nortek HUSBZB-1" ] }, { "vid": "0403", "pid": "6015", "description": "*zigate*", "known_devices": [ "ZiGate+" ] }, { "vid": "10C4", "pid": "EA60", "description": "*zigate*", "known_devices": [ "ZiGate" ] }, { "vid": "10C4", "pid": "8B34", "description": "*bv 2010/10*", "known_devices": [ "Bitron Video AV2010/10" ] } ], "zeroconf": [ { "type": "_esphomelib._tcp.local.", "name": "tube*" }, { "type": "_zigate-zigbee-gateway._tcp.local.", "name": "*zigate*" }, { "type": "_zigstar_gw._tcp.local.", "name": "*zigstar*" }, { "type": "_uzg-01._tcp.local.", "name": "uzg-01*" }, { "type": "_slzb-06._tcp.local.", "name": "slzb-06*" }, { "type": "_xzg._tcp.local.", "name": "xzg*" }, { "type": "_czc._tcp.local.", "name": "czc*" } ], "is_built_in": true }, "setup_times": { "null": { "setup": 0.00022671895567327738 }, "63e7ca8badfbb2711b321aff78e35d98": { "wait_import_platforms": -0.051524004084058106, "wait_base_component": -0.0014281939947977662, "config_entry_setup": 22.306468680966645 } }, "data": { "ieee": "**REDACTED**", "nwk": 20977, "manufacturer": "AwoX", "model": "ESMLFzm_w6_Dimm", "name": "AwoX ESMLFzm_w6_Dimm", "quirk_applied": false, "quirk_class": "zigpy.device.Device", "quirk_id": null, "manufacturer_code": 4417, "power_source": "Mains", "lqi": 98, "rssi": null, "last_seen": "2024-10-07T17:07:49", "available": true, "device_type": "Router", "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": 4417, "maximum_buffer_size": 66, "maximum_incoming_transfer_size": 66, "server_mask": 10752, "maximum_outgoing_transfer_size": 66, "descriptor_capability_field": 0 }, "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0101", "input_clusters": [ "0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0x0008", "0x000a", "0x0300", "0x1000", "0xfc57" ], "output_clusters": [ "0x0006" ] }, "3": { "profile_id": "0x128f", "device_type": "0x0101", "input_clusters": [ "0x0004", "0xff50", "0xff51" ], "output_clusters": [ "0xff50", "0xff51" ] }, "242": { "profile_id": "0xa1e0", "device_type": "0x0061", "input_clusters": [], "output_clusters": [ "0x0021" ] } }, "manufacturer": "AwoX", "model": "ESMLFzm_w6_Dimm" }, "active_coordinator": false, "entities": [ { "entity_id": "binary_sensor.awox_esmlfzm_w6_dimm_opening", "name": "AwoX ESMLFzm_w6_Dimm" }, { "entity_id": "button.awox_esmlfzm_w6_dimm_identify", "name": "AwoX ESMLFzm_w6_Dimm" }, { "entity_id": "light.awox_esmlfzm_w6_dimm_light", "name": "AwoX ESMLFzm_w6_Dimm" }, { "entity_id": "number.awox_esmlfzm_w6_dimm_start_up_current_level", "name": "AwoX ESMLFzm_w6_Dimm" }, { "entity_id": "select.awox_esmlfzm_w6_dimm_start_up_behavior", "name": "AwoX ESMLFzm_w6_Dimm" } ], "neighbors": [], "routes": [], "endpoint_names": [ { "name": "DIMMABLE_LIGHT" }, { "name": "unknown 257 device_type of 0x128f profile id" }, { "name": "PROXY_BASIC" } ], "user_given_name": null, "device_reg_id": "300634645359e1ebd93633f214ed2324", "area_id": null, "cluster_details": { "1": { "device_type": { "name": "DIMMABLE_LIGHT", "id": 257 }, "profile_id": 260, "in_clusters": { "0x0000": { "endpoint_attribute": "basic", "attributes": { "0x0013": { "attribute": "ZCLAttributeDef(id=0x0013, name='alarm_mask', type=