Switch Zigbee TZE200 TS0601 paired but without entities

Hello,

I bought a great switch (4 gangs) :

Paired without problem through ZHA/Conbee II, the device was created but there is no entity created
:slight_smile:

image

Zigbee device signature :
{
“node_descriptor”: “NodeDescriptor(byte1=1, byte2=64, 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”: 260,
“device_type”: “0x0051”,
“in_clusters”: [
“0x0000”,
“0x0004”,
“0x0005”,
“0xef00”
],
“out_clusters”: [
“0x000a”,
“0x0019”
]
}
},
“manufacturer”: “_TZE200_aqnazj70”,
“model”: “TS0601”,
“class”: “zigpy.device.Device”
}

I would greatly appreciate if someone can help me to configure it correctly ?

You mention Zigbee in the title, however in the post you mention

Which one is it?

Hello Hendell,

They mentioned “Tuya ZigBee 3.0
I use the latest supervisor 2020.12.7

Wait, no, I’m dumb :man_facepalming:
ZHA isn’t really a good acronym, now that I think about it. It could stand for both Zigbee Home Automation, or Z-Wave Home Automation.
Where did you look for entities? Can you provide a full-screen screenshot of the device screen?

Hello Kendell,

It is Zigbee Home Automation using a Conbee II USB stick.

I am not sure what you mean by a " full-screen screenshot of the device screen?"
Something like that ?

Device was paired correctly, but there is no entity created in Configuration>entity for this device.

In the Zigbee Device Signature, I would expect 4 endpoints instead of 1 (it is a 4 gangs) ? Is there a way to change the signature to add more endpoints manually ?

Screenshot all of the webpage, not just a bit of it.

Here you are sir :slight_smile:

I have 40 zigbee devices paired correctly. It is the only device which gave me issues

Have you tried unpairing and repairing?

Yes … 2 times. Unfortunately, with the same result.

I got 2 of these both are 1-gang and both have same issue as yours, also using ZHA - Conbee2 combination, it is not added to ZHA I think. So I used a Tuya Zigbee Hub just for those two switches. I also tried to listen to zha_event but nothing shows, neither in Node-Red debugger.

I would love to loose the Tuya hub to be honest and keep everything in ZHA, so I am following this thread.

Does LocalTuya not work with Tuya hubs?

Nope, it does show up in LocalTuya and when you put in the key it won’t connect.

I use Tuya Custom.

Hi! Has anyone found a solution for this one? I believe it can be fixed in one way or another, as it is pairing successfully, but it isn’t recognized as a on/off switch.

I have the same situation here with about 3 of those switches. Can pair them successfully, but no entities. Same set-up: ZHA and Conbee II USB stick.

With another device - a thermostat - I had to re-import “ZHA Quirks”, to get it recognized correctly. Could we maybe copy a “quirk” from another on/off switch and modify it to this type of switch somehow? Any developer(s) in the house?

{
“node_descriptor”: “NodeDescriptor(byte1=2, byte2=64, mac_capability_flags=128, 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”: 260,
“device_type”: “0x0301”,
“in_clusters”: [
“0x0000”,
“0x0001”,
“0x0004”,
“0x0005”,
“0x0201”,
“0xef00”
],
“out_clusters”: [
“0x0001”,
“0x000a”,
“0x0019”,
“0x0201”
]
}
},
“manufacturer”: “_TZE200_c88teujp”,
“model”: “TS0601”,
“class”: “zhaquirks.tuya.thermostat_88teujp.Thermostat_TZE200_c88teujp”
}

Well, I think we have to reconstruct or edit a Quirk. more info on this matter in this post:

And the quirk repository here:

My observation is that “TS0601” apparently is not only a thermostatic valve, it can also be a switch, or other device. I’m trying to digg into the code / python and see where we get. But I think the devices are not discovered, as “_TZE200_amp6tsvycd” , as also your “manufacturer”, are not defined in any of the quirks.

With today’s update in HA core a few of those tuya devices have been implemented
for instance : the windows cover under those manufacturer number now works
("_TZE200_zah67ekd", “TS0601”),
("_TZE200_xuzcvlku", “TS0601”),

You might want to try to add your devices back after the update and try them out … mine are now discovered as

I have the same setup using a ConBeeII with Zigbee Home Automation and I’m having the same issue as everyone else. My device is a TS0601 by _TZE200_whpb9yts which is the in-wall dimmer. It shows Device Type: Router instead of light or dimmer. Have updated to latest core that was just released and although there were some very significant changes to ZHA my device still has no entities. As I am not a programmer or an IT pro I will continue to watch this post for any help. Thanks :pray:

*bump* same here with a dimmer saying it’s TS0601

TS0601
by _TZE200_dfxkcots

Zigbee info
IEEE: 60:a4:23:ff:fe:ef:2b:75
Nwk: 0xc614
Device Type: Router
LQI: 72
RSSI: Unknown
Last Seen: 2021-04-18T17:57:47
Power Source: Mains

Something going mismatch and logs keep repeating the same pattern:

Device 0x25fc (60:a4:23:ff:fe:ef:2b:75) joined the network
[0x25fc:zdo] ZDO request ZDOCmd.Device_annce: [0x25FC, 60:a4:23:ff:fe:ef:2b:75, 142]
[0x25fc] Requesting 'Node Descriptor'
Tries remaining: 2
[0x25fc] Extending timeout for 0x36 request
[0x25fc] Node Descriptor: NodeDescriptor(byte1=1, byte2=64, 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, *allocate_address=True, *complex_descriptor_available=False, *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, *is_valid=True, *logical_type=<LogicalType.Router: 1>, *user_descriptor_available=False)
[0x25fc] Discovering endpoints
Tries remaining: 3
[0x25fc] Discovered endpoints: [1]
[0x25fc:1] Discovering endpoint information
Tries remaining: 3
[0x25fc:1] Discovered endpoint information: SizePrefixedSimpleDescriptor(endpoint=1, profile=260, device_type=81, device_version=1, input_clusters=[0, 4, 5, 61184], output_clusters=[25, 10])
Unknown cluster 61184
[0x25fc:1:0x0000] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=57 command_id=Command.Read_Attributes_rsp>
[0x25fc:1] Manufacturer: _TZE200_dfxkcots
[0x25fc:1] Model: TS0601
Checking quirks for _TZE200_dfxkcots TS0601 (60:a4:23:ff:fe:ef:2b:75)
Considering <class 'zhaquirks.xbee.xbee_io.XBeeSensor'>
Fail because endpoint list mismatch: {232, 230} {1}
Considering <class 'zhaquirks.xbee.xbee3_io.XBee3Sensor'>
Fail because endpoint list mismatch: {232, 230} {1}
Considering <class 'zhaquirks.smartthings.tag_v4.SmartThingsTagV4'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.smartthings.multi.SmartthingsMultiPurposeSensor'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.netvox.z308e3ed.Z308E3ED'>
Fail because device_type mismatch on at least one endpoint
Considering <class 'zhaquirks.gledopto.soposhgu10.SoposhGU10'>
Fail because endpoint list mismatch: {11, 13} {1}
Considering <class 'bellows.zigbee.application.EZSPCoordinator'>
Fail because device_type mismatch on at least one endpoint
device - 0x25FC:60:a4:23:ff:fe:ef:2b:75 entering async_device_initialized - is_new_join: True
device - 0x25FC:60:a4:23:ff:fe:ef:2b:75 has joined the ZHA zigbee network
[0x25FC](TS0601): started configuration
[0x25FC:ZDO](TS0601): 'async_configure' stage succeeded
[0x25FC:1:0x0000]: bound 'basic' cluster: Status.SUCCESS
[0x25FC:1:0x0000]: finished channel configuration
[0x25FC:1:0x0019]: bound 'ota' cluster: Status.SUCCESS
[0x25FC:1:0x0019]: finished channel configuration
[0x25FC:1:0x0000]: 'async_configure' stage succeeded
[0x25FC:1:0x0019]: 'async_configure' stage succeeded
[0x25FC](TS0601): completed configuration
[0x25FC](TS0601): stored in registry: ZhaDeviceEntry(name='_TZE200_dfxkcots TS0601', ieee='60:a4:23:ff:fe:ef:2b:75', last_seen=1618761891.180783)
[0x25FC](TS0601): started initialization
[0x25FC:ZDO](TS0601): 'async_initialize' stage succeeded
[0x25FC:1:0x0000]: initializing channel: from_cache: False
[0x25FC:1:0x0000]: finished channel configuration
[0x25FC:1:0x0019]: initializing channel: from_cache: False
[0x25FC:1:0x0019]: finished channel configuration
[0x25FC:1:0x0000]: 'async_initialize' stage succeeded
[0x25FC:1:0x0019]: 'async_initialize' stage succeeded
[0x25FC](TS0601): power source: Mains
[0x25FC](TS0601): completed initialization
[0x25fc:1:0x000a] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=17 command_id=Command.Read_Attributes>
[0x25fc:1:0x000a] ZCL request 0x0000: [[7]]
[0x25fc:1:0x000a] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=False disable_default_response=False> manufacturer=None tsn=17 command_id=Command.Read_Attributes>
[0x25fc:1:0x000a] ZCL request 0x0000: [[7]]
Duplicate 17 TSN
[0x1E30:1:0x0b04]: async_update
[0x682E:1:0x0b04]: async_update
[0xB3AC:1:0x0b04]: async_update
[0x9B2A:1:0x0b04]: async_update
[0xC42D:1:0x0b04]: async_update
[0x1e30:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=60 command_id=Command.Read_Attributes_rsp>
[0x8926:1:0x0b04]: async_update
[0x9b2a:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=63 command_id=Command.Read_Attributes_rsp>
[0x682e:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=61 command_id=Command.Read_Attributes_rsp>
[0xb3ac:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=62 command_id=Command.Read_Attributes_rsp>
[0xc42d:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=64 command_id=Command.Read_Attributes_rsp>
[0x8926:1:0x0b04] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=True> manufacturer=None tsn=65 command_id=Command.Read_Attributes_rsp>
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0xc2d5:1:0x0402] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=GLOBAL_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=36 command_id=Command.Report_Attributes>
[0xc2d5:1:0x0402] ZCL request 0x000a: [[Attribute(attrid=0, value=<TypeValue type=int16s, value=2368>)]]
[0xc2d5:1:0x0402] Attribute report received: measured_value=2368
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>
[0x25fc:1:0xef00] Unknown cluster-specific command 1
[0x25fc:1:0xef00] ZCL request 0x0001: b'\x00\x01\x01\x01\x00\x01\x01'
[0x25fc:1:0xef00] No handler for cluster command 1
[0x25fc:1:0xef00] ZCL deserialize: <ZCLHeader frame_control=<FrameControl frame_type=CLUSTER_COMMAND manufacturer_specific=False is_reply=True disable_default_response=False> manufacturer=None tsn=18 command_id=1>

I have identical issue with my switch, it seems there is a proprietary Tuya cluster protocol involved - someone even took a time to reverse engineer it: Zigbee2mqtt: How to add support for a new Tuya-based device (part 2) | by Daniel Zegarra | Medium
mentioned on deCONZ feature request New device request - TS0601 / TZE200_nkjintbl · Issue #2879 · dresden-elektronik/deconz-rest-plugin · GitHub

Hello, any updates on this? I’m sure there are more users of this switch.

Or has everyone switched to Z2M?