[BUG] TS110E eventually reports being turned off, but it is still on
See original GitHub issueDescribe the bug My “At Sunset” automation sucessfully turns on my dimmers at 20% intensity, but after some time, they report as being off. However, the lights are still on.
#1878 https://community.home-assistant.io/t/2022-7-7-zigbee-dimmers-immediately-turn-off-after-turning-on-via-automation-call-service/445784/26
To Reproduce
- service: light.turn_on
data:
brightness_pct: 20
target:
entity_id:
- light.breezeway_sconce
Logbook November 24, 2022 Breezeway Sconce turned off 6:28:40 PM - 8 minutes ago Breezeway Sconce turned on triggered by automation At Sunset triggered 5:46:17 PM - 1 hour ago Breezeway Sconce turned off 5:29:40 PM - 1 hour ago Breezeway Sconce turned on triggered by automation At Sunset sunset 4:35:05 PM - 2 hours ago
Expected behavior The HA device should be on, reflecting the state of the dimmer
Screenshots It shows on just after the automation turns it on 45 mins later, it shows off – but the light is physically on
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.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, 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": 260,
"device_type": "0x0101",
"in_clusters": [
"0x0000",
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008",
"0xef00"
],
"out_clusters": [
"0x000a",
"0x0019"
]
},
"2": {
"profile_id": 260,
"device_type": "0x0101",
"in_clusters": [
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008",
"0xef00"
],
"out_clusters": []
},
"242": {
"profile_id": 41440,
"device_type": "0x0061",
"in_clusters": [],
"out_clusters": [
"0x0021"
]
}
},
"manufacturer": "_TZ3210_wdexaypg",
"model": "TS110E",
"class": "zigpy.device.Device"
}
Diagnostic information
{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2022.11.4",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.10.7",
"docker": true,
"arch": "aarch64",
"timezone": "America/Los_Angeles",
"os_name": "Linux",
"os_version": "5.15.61-v8",
"supervisor": "2022.11.2",
"host_os": "Home Assistant OS 9.2",
"docker_version": "20.10.17",
"chassis": "embedded",
"run_as_root": true
},
"custom_components": {
"fullykiosk": {
"version": "1.1.0",
"requirements": [
"python-fullykiosk==0.0.11"
]
},
"blueiris": {
"version": "1.0.12",
"requirements": []
},
"zha_toolkit": {
"version": "v0.8.20",
"requirements": [
"packaging>=20.8"
]
},
"hacs": {
"version": "1.28.3",
"requirements": [
"aiogithubapi>=22.2.4"
]
},
"dahua": {
"version": "0.5.0",
"requirements": []
}
},
"integration_manifest": {
"domain": "zha",
"name": "Zigbee Home Automation",
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/zha",
"requirements": [
"bellows==0.34.2",
"pyserial==3.5",
"pyserial-asyncio==0.6",
"zha-quirks==0.0.86",
"zigpy-deconz==0.19.0",
"zigpy==0.51.5",
"zigpy-xbee==0.16.2",
"zigpy-zigate==0.10.3",
"zigpy-znp==0.9.1"
],
"usb": [
{
"vid": "10C4",
"pid": "EA60",
"description": "*2652*",
"known_devices": [
"slae.sh cc2652rb stick"
]
},
{
"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": "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"
]
}
],
"codeowners": [
"@dmulcahey",
"@adminiuga",
"@puddly"
],
"zeroconf": [
{
"type": "_esphomelib._tcp.local.",
"name": "tube*"
},
{
"type": "_zigate-zigbee-gateway._tcp.local.",
"name": "*zigate*"
},
{
"type": "_zigstar_gw._tcp.local.",
"name": "*zigstar*"
}
],
"dependencies": [
"file_upload"
],
"after_dependencies": [
"onboarding",
"usb",
"zeroconf"
],
"iot_class": "local_polling",
"loggers": [
"aiosqlite",
"bellows",
"crccheck",
"pure_pcapy3",
"zhaquirks",
"zigpy",
"zigpy_deconz",
"zigpy_xbee",
"zigpy_zigate",
"zigpy_znp"
],
"is_built_in": true
},
"data": {
"ieee": "**REDACTED**",
"nwk": 27681,
"manufacturer": "_TZ3210_wdexaypg",
"model": "TS110E",
"name": "_TZ3210_wdexaypg TS110E",
"quirk_applied": false,
"quirk_class": "zigpy.device.Device",
"manufacturer_code": 4417,
"power_source": "Mains",
"lqi": 64,
"rssi": -84,
"last_seen": "2022-11-24T18:48:28",
"available": true,
"device_type": "Router",
"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.AllocateAddress|RxOnWhenIdle|MainsPowered|FullFunctionDevice: 142>, manufacturer_code=4417, maximum_buffer_size=66, maximum_incoming_transfer_size=66, server_mask=10752, maximum_outgoing_transfer_size=66, 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": 260,
"device_type": "0x0101",
"in_clusters": [
"0x0000",
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008",
"0xef00"
],
"out_clusters": [
"0x000a",
"0x0019"
]
},
"2": {
"profile_id": 260,
"device_type": "0x0101",
"in_clusters": [
"0x0003",
"0x0004",
"0x0005",
"0x0006",
"0x0008",
"0xef00"
],
"out_clusters": []
},
"242": {
"profile_id": 41440,
"device_type": "0x0061",
"in_clusters": [],
"out_clusters": [
"0x0021"
]
}
}
},
"active_coordinator": false,
"entities": [
{
"entity_id": "button.sconce_dimmers_identifybutton",
"name": "_TZ3210_wdexaypg TS110E"
},
{
"entity_id": "light.breezeway_sconce",
"name": "_TZ3210_wdexaypg TS110E"
},
{
"entity_id": "light.gate_sconces",
"name": "_TZ3210_wdexaypg TS110E"
}
],
"neighbors": [
{
"device_type": "Router",
"rx_on_when_idle": "On",
"relationship": "Sibling",
"extended_pan_id": "**REDACTED**",
"ieee": "**REDACTED**",
"nwk": "0xF662",
"permit_joining": "Unknown",
"depth": "2",
"lqi": "155"
},
{
"device_type": "Router",
"rx_on_when_idle": "On",
"relationship": "Sibling",
"extended_pan_id": "**REDACTED**",
"ieee": "**REDACTED**",
"nwk": "0x49D4",
"permit_joining": "Unknown",
"depth": "1",
"lqi": "126"
},
{
"device_type": "Router",
"rx_on_when_idle": "On",
"relationship": "Sibling",
"extended_pan_id": "**REDACTED**",
"ieee": "**REDACTED**",
"nwk": "0x197F",
"permit_joining": "Unknown",
"depth": "1",
"lqi": "212"
},
{
"device_type": "Router",
"rx_on_when_idle": "On",
"relationship": "Sibling",
"extended_pan_id": "**REDACTED**",
"ieee": "**REDACTED**",
"nwk": "0x769E",
"permit_joining": "Unknown",
"depth": "2",
"lqi": "91"
},
{
"device_type": "Router",
"rx_on_when_idle": "On",
"relationship": "Sibling",
"extended_pan_id": "**REDACTED**",
"ieee": "**REDACTED**",
"nwk": "0x700C",
"permit_joining": "Unknown",
"depth": "0",
"lqi": "91"
},
{
"device_type": "Router",
"rx_on_when_idle": "On",
"relationship": "Sibling",
"extended_pan_id": "**REDACTED**",
"ieee": "**REDACTED**",
"nwk": "0x2FE2",
"permit_joining": "Unknown",
"depth": "1",
"lqi": "61"
},
{
"device_type": "Router",
"rx_on_when_idle": "On",
"relationship": "Sibling",
"extended_pan_id": "**REDACTED**",
"ieee": "**REDACTED**",
"nwk": "0xDC09",
"permit_joining": "Unknown",
"depth": "0",
"lqi": "59"
}
],
"endpoint_names": [
{
"name": "DIMMABLE_LIGHT"
},
{
"name": "DIMMABLE_LIGHT"
},
{
"name": "unknown 97 device_type of 0xa1e0 profile id"
}
],
"user_given_name": "Sconce Dimmers",
"device_reg_id": "be17afc516c8e0b8e5d08dc8f8e24173",
"area_id": "front_of_the_house",
"cluster_details": {
"1": {
"device_type": {
"name": "DIMMABLE_LIGHT",
"id": 257
},
"profile_id": 260,
"in_clusters": {
"0x0004": {
"endpoint_attribute": "groups",
"attributes": {
"0x0000": {
"attribute_name": "name_support",
"value": 0
},
"0xfffd": {
"attribute_name": "cluster_revision",
"value": 2
}
},
"unsupported_attributes": {}
},
"0x0005": {
"endpoint_attribute": "scenes",
"attributes": {
"0x0000": {
"attribute_name": "count",
"value": 0
},
"0x0001": {
"attribute_name": "current_scene",
"value": 0
},
"0x0002": {
"attribute_name": "current_group",
"value": 0
},
"0x0003": {
"attribute_name": "scene_valid",
"value": 0
},
"0x0004": {
"attribute_name": "name_support",
"value": 0
},
"0xfffd": {
"attribute_name": "cluster_revision",
"value": 2
}
},
"unsupported_attributes": {}
},
"0x0003": {
"endpoint_attribute": "identify",
"attributes": {},
"unsupported_attributes": {}
},
"0x0006": {
"endpoint_attribute": "on_off",
"attributes": {
"0x0000": {
"attribute_name": "on_off",
"value": 0
},
"0x4001": {
"attribute_name": "on_time",
"value": 0
}
},
"unsupported_attributes": {
"0x4003": {
"attribute_name": "start_up_on_off"
}
}
},
"0x0008": {
"endpoint_attribute": "level",
"attributes": {
"0x0000": {
"attribute_name": "current_level",
"value": 51
}
},
"unsupported_attributes": {
"0x0000": {
"attribute_name": "current_level"
},
"0x4000": {
"attribute_name": "start_up_current_level"
},
"0x0012": {
"attribute_name": "on_transition_time"
},
"0x0010": {
"attribute_name": "on_off_transition_time"
},
"0x0014": {
"attribute_name": "default_move_rate"
},
"0x0011": {
"attribute_name": "on_level"
},
"0x0013": {
"attribute_name": "off_transition_time"
}
}
},
"0xef00": {
"endpoint_attribute": null,
"attributes": {},
"unsupported_attributes": {}
},
"0x0000": {
"endpoint_attribute": "basic",
"attributes": {
"0x0000": {
"attribute_name": "zcl_version",
"value": 3
},
"0x0001": {
"attribute_name": "app_version",
"value": 65
},
"0x0002": {
"attribute_name": "stack_version",
"value": 0
},
"0x0003": {
"attribute_name": "hw_version",
"value": 1
},
"0x0004": {
"attribute_name": "manufacturer",
"value": "_TZ3210_wdexaypg"
},
"0x0005": {
"attribute_name": "model",
"value": "TS110E"
},
"0x0006": {
"attribute_name": "date_code",
"value": ""
},
"0x0007": {
"attribute_name": "power_source",
"value": 1
},
"0xfffd": {
"attribute_name": "cluster_revision",
"value": 2
},
"0xfffe": {
"attribute_name": "attr_reporting_status",
"value": 0
}
},
"unsupported_attributes": {}
}
},
"out_clusters": {
"0x0019": {
"endpoint_attribute": "ota",
"attributes": {},
"unsupported_attributes": {}
},
"0x000a": {
"endpoint_attribute": "time",
"attributes": {},
"unsupported_attributes": {}
}
}
},
"2": {
"device_type": {
"name": "DIMMABLE_LIGHT",
"id": 257
},
"profile_id": 260,
"in_clusters": {
"0x0004": {
"endpoint_attribute": "groups",
"attributes": {
"0xfffd": {
"attribute_name": "cluster_revision",
"value": 12672
}
},
"unsupported_attributes": {}
},
"0x0005": {
"endpoint_attribute": "scenes",
"attributes": {
"0x0000": {
"attribute_name": "count",
"value": 0
},
"0x0002": {
"attribute_name": "current_group",
"value": 0
},
"0x0003": {
"attribute_name": "scene_valid",
"value": 0
},
"0x0004": {
"attribute_name": "name_support",
"value": 0
},
"0xfffd": {
"attribute_name": "cluster_revision",
"value": 2
}
},
"unsupported_attributes": {}
},
"0x0003": {
"endpoint_attribute": "identify",
"attributes": {},
"unsupported_attributes": {}
},
"0x0006": {
"endpoint_attribute": "on_off",
"attributes": {
"0x0000": {
"attribute_name": "on_off",
"value": 0
},
"0x4001": {
"attribute_name": "on_time",
"value": 0
}
},
"unsupported_attributes": {
"0x4003": {
"attribute_name": "start_up_on_off"
}
}
},
"0x0008": {
"endpoint_attribute": "level",
"attributes": {
"0x0000": {
"attribute_name": "current_level",
"value": 102
}
},
"unsupported_attributes": {
"0x0000": {
"attribute_name": "current_level"
},
"0x4000": {
"attribute_name": "start_up_current_level"
},
"0x0012": {
"attribute_name": "on_transition_time"
},
"0x0010": {
"attribute_name": "on_off_transition_time"
},
"0x0014": {
"attribute_name": "default_move_rate"
},
"0x0011": {
"attribute_name": "on_level"
},
"0x0013": {
"attribute_name": "off_transition_time"
}
}
},
"0xef00": {
"endpoint_attribute": null,
"attributes": {},
"unsupported_attributes": {}
}
},
"out_clusters": {}
},
"242": {
"device_type": {
"name": "unknown",
"id": 97
},
"profile_id": 41440,
"in_clusters": {},
"out_clusters": {
"0x0021": {
"endpoint_attribute": "green_power",
"attributes": {},
"unsupported_attributes": {}
}
}
}
}
}
}
Additional logs
Logs that seem relevant below. Hmmmm looks like my enabling ‘debug’ logs didn’t take and will have to restart my instance…
Logger: zigpy.zcl
Source: runner.py:119
First occurred: November 21, 2022 at 4:44:20 PM (2648 occurrences)
Last logged: 6:45:53 PM
[0x8BF0:1:0xef00] Unknown cluster command 6 b'\x00\x00k\x02\x00\x04\x00\x00\x00G'
[0x8BF0:1:0xef00] Unknown cluster command 6 b'\x00\x00l\x02\x00\x04\x00\x00\x00T'
[0x8BF0:1:0xef00] Unknown cluster command 6 b'\x00\x00n\x02\x00\x04\x00\x00\x00d'
[0x8BF0:1:0xef00] Unknown cluster command 6 b'\x00\x00l\x02\x00\x04\x00\x00\x00S'
[0x8BF0:1:0xef00] Unknown cluster command 6 b'\x00\x00k\x02\x00\x04\x00\x00\x00H'
Logs messages for the 3rd try:
Logger: homeassistant.components.zha.core.channels.base
Source: components/zha/core/channels/base.py:486
Integration: Zigbee Home Automation ([documentation](https://www.home-assistant.io/integrations/zha), [issues](https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+zha%22))
First occurred: 6:57:01 PM (6 occurrences)
Last logged: 6:57:01 PM
[0x0465:1:0x0006]: 'async_initialize' stage failed: 'power_on_state'
[0x0465:2:0x0006]: 'async_initialize' stage failed: 'power_on_state'
[0x0465:3:0x0006]: 'async_initialize' stage failed: 'power_on_state'
When I tried to re-download the diagnostics, I got a “Failed - Network error”. Here are the probably-relevant logs:
This error originated from a custom integration.
Logger: homeassistant.core
Source: custom_components/zha_toolkit/utils.py:764
Integration: 🧰 ZHA Toolkit Service (documentation, issues)
First occurred: 7:00:49 PM (19 occurrences)
Last logged: 8:40:49 PM
Error executing service: <ServiceCall zha_toolkit.execute (c:01GJPG71C4VCWBACGW9YZ32T0Y): command=attr_read, ieee=8c:f6:81:ff:fe:c4:18:dc, cluster=1029, attribute=0, tries=10, event_done=zha_done>
Error executing service: <ServiceCall zha_toolkit.execute (c:01GJPGG6BDXJHT8MYQSV6YNP0R): command=attr_read, ieee=8c:f6:81:ff:fe:c4:18:dc, cluster=1029, attribute=0, tries=10, event_done=zha_done>
Error executing service: <ServiceCall zha_toolkit.execute (c:01GJPGSBA49C6JHMTCWVEGHGQX): command=attr_read, ieee=8c:f6:81:ff:fe:c4:18:dc, cluster=1029, attribute=0, tries=10, event_done=zha_done>
Error executing service: <ServiceCall zha_toolkit.execute (c:01GJPH2G94MYXB2D9SW28EDB6V): command=attr_read, ieee=8c:f6:81:ff:fe:c4:18:dc, cluster=1029, attribute=0, tries=10, event_done=zha_done>
Error executing service: <ServiceCall zha_toolkit.execute (c:01GJPHBN8AZHDRWTCEDRFXYFXA): command=attr_read, ieee=8c:f6:81:ff:fe:c4:18:dc, cluster=1029, attribute=0, tries=10, event_done=zha_done>
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/core.py", line 1762, in catch_exceptions
await coro_or_task
File "/usr/src/homeassistant/homeassistant/core.py", line 1781, in _execute_service
await cast(Callable[[ServiceCall], Awaitable[None]], handler.job.target)(
File "/config/custom_components/zha_toolkit/__init__.py", line 717, in toolkit_service
raise handler_exception
File "/config/custom_components/zha_toolkit/__init__.py", line 681, in toolkit_service
await handler(
File "/config/custom_components/zha_toolkit/__init__.py", line 766, in command_handler_default
await default.default(
File "/config/custom_components/zha_toolkit/default.py", line 33, in default
await handler(app, listener, ieee, cmd, data, service, params, event_data)
File "/config/custom_components/zha_toolkit/zcl_attr.py", line 273, in attr_read
await attr_write(*args, **kwargs)
File "/config/custom_components/zha_toolkit/zcl_attr.py", line 315, in attr_write
result_read = await u.cluster_read_attributes(
File "/usr/local/lib/python3.10/site-packages/zigpy/util.py", line 131, in retry
r = await func()
File "/config/custom_components/zha_toolkit/utils.py", line 764, in cluster_read_attributes
return await cluster.read_attributes(attrs, manufacturer=manufacturer)
File "/usr/local/lib/python3.10/site-packages/zigpy/zcl/__init__.py", line 471, in read_attributes
result = await self.read_attributes_raw(to_read, manufacturer=manufacturer)
File "/usr/local/lib/python3.10/site-packages/zigpy/zcl/__init__.py", line 324, in request
return await self._endpoint.request(
File "/usr/local/lib/python3.10/site-packages/zigpy/endpoint.py", line 237, in request
return await self.device.request(
File "/usr/local/lib/python3.10/site-packages/zigpy/device.py", line 297, in request
await self._application.request(
File "/usr/local/lib/python3.10/site-packages/zigpy/application.py", line 659, in request
await self.send_packet(
File "/usr/local/lib/python3.10/site-packages/bellows/zigbee/application.py", line 805, in send_packet
raise zigpy.exceptions.DeliveryError(
zigpy.exceptions.DeliveryError: Failed to deliver message: <EmberStatus.DELIVERY_FAILED: 102>
Issue Analytics
- State:
- Created 10 months ago
- Comments:25 (1 by maintainers)
Top Related StackOverflow Question
At one point, all lights with level control were “ForceOnLights”. However, this always caused another message when turning on the light with a level or a transition. This extra messages caused unnecessary delays (especially with scenes or groups at the time), hence it was removed. Tuya is horrible in general and many contributors are already cleaning up the mess that Tuya leaves behind. This shouldn’t need to happen.
So if the lights need to be forced on, just make a PR to add the manufacturer names (e. g.
_TZ3210_wdexaypgand_TZ3000_92chsky7) here: https://github.com/home-assistant/core/blob/fccf7fe1caca8b01cbba0694abdbee5674cf46fa/homeassistant/components/zha/light.py#L893I agree a ZHA fix would be better but this I can fix now 😃
It seems like Tuya devices use a plethora of manufacturer names. It will be a pain to keep up. This begs the question: why not make all devices with a “LevelControl” cluster a “ForceOnLights” devices?