zigpy / zha-device-handlers

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
696 stars 641 forks source link

[BUG] ZBDongle-E color temp out of range #2683

Closed bobat-h closed 2 months ago

bobat-h commented 9 months ago

Bug description

2023-10-28 00:11:49.589 WARNING (MainThread) [homeassistant.components.zha.core.cluster_handlers] [0x7AF6:2:0x0300]: [Min mireds is 0, setting to 153] Please open an issue on the quirks repo to have this device corrected

Steps to reproduce

Warning in logs

Expected behavior

N/A

Screenshots/Video

Screenshots/Video [Paste/upload your media here]

Device signature

{ "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.Router: 1>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.FullFunctionDevice|MainsPowered|RxOnWhenIdle|AllocateAddress: 142>, manufacturer_code=4742, maximum_buffer_size=82, maximum_incoming_transfer_size=82, server_mask=11264, maximum_outgoing_transfer_size=82, descriptor_capability_field=<DescriptorCapability.NONE: 0>, allocate_address=True, is_alternate_pan_coordinator=False, is_coordinator=False, is_end_device=False, is_full_function_device=True, is_mains_powered=True, is_receiver_on_when_idle=True, is_router=True, *is_security_capable=False)", "endpoints": { "1": { "profile_id": "0x0104", "device_type": "0x0101", "input_clusters": [ "0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0x0008" ], "output_clusters": [] }, "2": { "profile_id": "0x0104", "device_type": "0x010d", "input_clusters": [ "0x0000", "0x0003", "0x0004", "0x0005", "0x0006", "0x0008", "0x0300", "0x1000" ], "output_clusters": [] }, "242": { "profile_id": "0xa1e0", "device_type": "0x0061", "input_clusters": [], "output_clusters": [ "0x0021" ] } }, "manufacturer": "SONOFF", "model": "DONGLE-E_R", "class": "zigpy.device.Device" }

Diagnostic information

F{ "home_assistant": { "installation_type": "Home Assistant OS", "version": "2023.11.0b0", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.11.6", "docker": true, "arch": "aarch64", "timezone": "Europe/London", "os_name": "Linux", "os_version": "6.1.21-v8", "supervisor": "2023.10.1", "host_os": "Home Assistant OS 11.1", "docker_version": "24.0.6", "chassis": "embedded", "run_as_root": true }, "custom_components": { "lightwave2": { "version": "3.5.21", "requirements": [ "lightwave2==0.8.23" ] }, "hacs": { "version": "1.33.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "hildebrandglow_dcc": { "version": "1.0.3", "requirements": [ "pyglowmarkt==0.5.5" ] }, "uk_bin_collection": { "version": "0.21.1", "requirements": [ "uk-bin-collection>=0.21.1" ] } }, "integration_manifest": { "domain": "zha", "name": "Zigbee Home Automation", "after_dependencies": [ "onboarding", "usb" ], "codeowners": [ "@dmulcahey", "@adminiuga", "@puddly" ], "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", "universal_silabs_flasher" ], "requirements": [ "bellows==0.36.8", "pyserial==3.5", "pyserial-asyncio==0.6", "zha-quirks==0.0.106", "zigpy-deconz==0.21.1", "zigpy==0.59.0", "zigpy-xbee==0.19.0", "zigpy-zigate==0.11.0", "zigpy-znp==0.11.6", "universal-silabs-flasher==0.0.14", "pyserial-asyncio-fast==0.11" ], "usb": [ { "vid": "10C4", "pid": "EA60", "description": "2652", "known_devices": [ "slae.sh cc2652rb stick" ] }, { "vid": "1A86", "pid": "55D4", "description": "sonoffplus", "known_devices": [ "sonoff zigbee dongle plus v2" ] }, { "vid": "10C4", "pid": "EA60", "description": "sonoffplus", "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": "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*" } ], "is_built_in": true }, "data": { "config": {}, "config_entry": { "entry_id": "451efc0bdafb653dfa680214dade00bc", "version": 3, "domain": "zha", "title": "SONOFF Zigbee 3.0 USB Dongle Plus V2, s/n: 20221029145205 - ITEAD", "data": { "device": { "path": "/dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20221029145205-if00", "baudrate": 115200, "flow_control": "software" }, "radio_type": "ezsp" }, "options": {}, "pref_disable_new_entities": false, "pref_disable_polling": false, "source": "user", "unique_id": null, "disabled_by": null }, "application_state": { "node_info": { "nwk": 0, "ieee": "REDACTED", "logical_type": 0 }, "network_info": { "extended_pan_id": "REDACTED", "pan_id": 64701, "nwk_update_id": 6, "nwk_manager_id": 0, "channel": 25, "channel_mask": 134215680, "security_level": 5, "network_key": "REDACTED", "tc_link_key": { "key": [ 90, 105, 103, 66, 101, 101, 65, 108, 108, 105, 97, 110, 99, 101, 48, 57 ], "tx_counter": 8192, "rx_counter": 0, "seq": 0, "partner_ieee": "REDACTED" }, "key_table": [], "children": [], "nwk_addresses": {}, "stack_specific": { "ezsp": { "hashed_tclk": "074b2b9a2e2fa387de5e004c7a65c2e7" } }, "metadata": { "ezsp": { "manufacturer": "", "board": "", "version": "6.10.3.0 build 297", "stack_version": 8, "can_burn_userdata_custom_eui64": false, "can_rewrite_custom_eui64": false } }, "source": "bellows@0.36.8" }, "counters": { "controller_app_counters": { "unicast_rx": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='unicast_rx', _raw_value=12, reset_count=0, _last_reset_value=0)" }, "unicast_tx_success": { "__type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='unicast_tx_success', _raw_value=6, reset_count=0, _last_reset_value=0)" }, "broadcast_tx_success_unexpected": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='broadcast_tx_success_unexpected', _raw_value=6, reset_count=0, _last_reset_value=0)" }, "unicast_tx_failure": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='unicast_tx_failure', _raw_value=20, reset_count=0, _last_reset_value=0)" } }, "ezsp_counters": { "MAC_RX_BROADCAST": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='MAC_RX_BROADCAST', _raw_value=34, reset_count=0, _last_reset_value=0)" }, "MAC_TX_BROADCAST": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='MAC_TX_BROADCAST', _raw_value=81, reset_count=0, _last_reset_value=0)" }, "MAC_RX_UNICAST": { "__type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='MAC_RX_UNICAST', _raw_value=12, reset_count=0, _last_reset_value=0)" }, "MAC_TX_UNICAST_SUCCESS": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='MAC_TX_UNICAST_SUCCESS', _raw_value=6, reset_count=0, _last_reset_value=0)" }, "MAC_TX_UNICAST_RETRY": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='MAC_TX_UNICAST_RETRY', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "MAC_TX_UNICAST_FAILED": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='MAC_TX_UNICAST_FAILED', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "APS_DATA_RX_BROADCAST": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='APS_DATA_RX_BROADCAST', _raw_value=6, reset_count=0, _last_reset_value=0)" }, "APS_DATA_TX_BROADCAST": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='APS_DATA_TX_BROADCAST', _raw_value=6, reset_count=0, _last_reset_value=0)" }, "APS_DATA_RX_UNICAST": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='APS_DATA_RX_UNICAST', _raw_value=12, reset_count=0, _last_reset_value=0)" }, "APS_DATA_TX_UNICAST_SUCCESS": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='APS_DATA_TX_UNICAST_SUCCESS', _raw_value=6, reset_count=0, _last_reset_value=0)" }, "APS_DATA_TX_UNICAST_RETRY": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='APS_DATA_TX_UNICAST_RETRY', _raw_value=40, reset_count=0, _last_reset_value=0)" }, "APS_DATA_TX_UNICAST_FAILED": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='APS_DATA_TX_UNICAST_FAILED', _raw_value=20, reset_count=0, _last_reset_value=0)" }, "ROUTE_DISCOVERY_INITIATED": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='ROUTE_DISCOVERY_INITIATED', _raw_value=5, reset_count=0, _last_reset_value=0)" }, "NEIGHBOR_ADDED": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='NEIGHBOR_ADDED', _raw_value=1, reset_count=0, _last_reset_value=0)" }, "NEIGHBOR_REMOVED": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='NEIGHBOR_REMOVED', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "NEIGHBOR_STALE": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='NEIGHBOR_STALE', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "JOIN_INDICATION": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='JOIN_INDICATION', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "CHILD_REMOVED": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='CHILD_REMOVED', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "ASH_OVERFLOW_ERROR": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='ASH_OVERFLOW_ERROR', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "ASH_FRAMING_ERROR": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='ASH_FRAMING_ERROR', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "ASH_OVERRUN_ERROR": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='ASH_OVERRUN_ERROR', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "NWK_FRAME_COUNTER_FAILURE": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='NWK_FRAME_COUNTER_FAILURE', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "APS_FRAME_COUNTER_FAILURE": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='APS_FRAME_COUNTER_FAILURE', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "UTILITY": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='UTILITY', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "APS_LINK_KEY_NOT_AUTHORIZED": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='APS_LINK_KEY_NOT_AUTHORIZED', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "NWK_DECRYPTION_FAILURE": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='NWK_DECRYPTION_FAILURE', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "APS_DECRYPTION_FAILURE": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='APS_DECRYPTION_FAILURE', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "ALLOCATE_PACKET_BUFFER_FAILURE": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='ALLOCATE_PACKET_BUFFER_FAILURE', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "RELAYED_UNICAST": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='RELAYED_UNICAST', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "PHY_TO_MAC_QUEUE_LIMIT_REACHED": { "__type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='PHY_TO_MAC_QUEUE_LIMIT_REACHED', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "PACKET_VALIDATE_LIBRARY_DROPPED_COUNT": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='PACKET_VALIDATE_LIBRARY_DROPPED_COUNT', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "TYPE_NWK_RETRY_OVERFLOW": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='TYPE_NWK_RETRY_OVERFLOW', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "PHY_CCA_FAIL_COUNT": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='PHY_CCA_FAIL_COUNT', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "BROADCAST_TABLE_FULL": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='BROADCAST_TABLE_FULL', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "PTA_LO_PRI_REQUESTED": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='PTA_LO_PRI_REQUESTED', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "PTA_HI_PRI_REQUESTED": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='PTA_HI_PRI_REQUESTED', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "PTA_LO_PRI_DENIED": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='PTA_LO_PRI_DENIED', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "PTA_HI_PRI_DENIED": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='PTA_HI_PRI_DENIED', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "PTA_LO_PRI_TX_ABORTED": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='PTA_LO_PRI_TX_ABORTED', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "PTA_HI_PRI_TX_ABORTED": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='PTA_HI_PRI_TX_ABORTED', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "ADDRESS_CONFLICT_SENT": { "type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='ADDRESS_CONFLICT_SENT', _raw_value=0, reset_count=0, _last_reset_value=0)" }, "EZSP_FREE_BUFFERS": { "__type": "<class 'zigpy.state.Counter'>", "repr": "Counter(name='EZSP_FREE_BUFFERS', _raw_value=247, reset_count=0, _last_reset_value=0)" } } }, "broadcast_counters": {}, "device_counters": {}, "group_counters": {} }, "energy_scan": { "11": 21.09014924761344, "12": 25.74050169409602, "13": 43.057636198227904, "14": 55.9836862725909, "15": 97.04162534718327, "16": 73.50699819621309, "17": 59.15797905332195, "18": 59.15797905332195, "19": 70.89933442360993, "20": 3.2311094587038967, "21": 28.30261646762903, "22": 89.93931580241996, "23": 97.39286236923465, "24": 96.19660508390695, "25": 95.69133648577223, "26": 95.12234809209261 }, "versions": { "bellows": "0.36.8", "zigpy": "0.59.0", "zigpy_deconz": "0.21.1", "zigpy_xbee": "0.19.0", "zigpy_znp": "0.11.6", "zigpy_zigate": "0.11.0", "zhaquirks": "0.0.106" } } }

Logs

Logs ```python [Paste the logs here] ```

Additional information

No response

github-actions[bot] commented 3 months ago

There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.