Sonoff Zigbee USB 3.0 and Tuya sensor temperature & Umidity

Hello everyone, I have recently approached the world of Home Assisntant Supervised and am “studying” to try and understand it.
A couple of weeks ago I bought the Sonoff ZigBee 3.0 Usb dongle which I connected to my Raspi4 4GB on which Home Assistant runs and I installed the Zigbee Home Automation integration; today a Temperature and Humidity sensor from Tuya arrived from China THIS SENSOR and once switched on I was immediately recognised by Zigbee Home Automation, but it only gives me two hidden entities and no temperature and humidity.
I have read that these sensors require a Tuya gateway, is this true?
If yes is there a workaround to use the sensor with HA despite not having this gateway?
Hello and thank you

1 Like

Same situation here.

after the Dongle set up, go to

integration>Sonoff Zigbee 3.0 USB Dongle>option>device>add new device button

please make sure set your zigbee sensor into pairing mode befor click add new device button.

Hopefully, this is helpful.

Ciao Masen, ho fatto come hai scritto tu, mi ha trovato il sensre ma non mi da alcuna entità; alleg foto

e qui di seguito incollo il log:

Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=3, profile_id=0, cluster_id=32822, data=Serialized[b'\x03\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
[0x0000:zdo] ZDO request ZDOCmd.Mgmt_Permit_Joining_rsp: [<Status.SUCCESS: 0>]
[0x0000:zdo] No handler for ZDO request:ZDOCmd.Mgmt_Permit_Joining_rsp([<Status.SUCCESS: 0>])
Device 0x2f6c (a4:c1:38:2c:37:ad:46:28) joined the network
Device a4:c1:38:2c:37:ad:46:28 changed id (0x6c5e => 0x2f6c)
[0x2f6c] Skipping initialization, device is fully initialized
Device is initialized <Device model='TS0601' manuf='_TZE200_9yapgbuv' nwk=0x2F6C ieee=a4:c1:38:2c:37:ad:46:28 is_initialized=True>
Checking quirks for _TZE200_9yapgbuv TS0601 (a4:c1:38:2c:37:ad:46:28)
Considering <class 'zhaquirks.xiaomi.aqara.opple_switch.XiaomiOpple2ButtonSwitchFace2'>
Fail because endpoint list mismatch: {1, 2, 242} {1}
Considering <class 'zhaquirks.xiaomi.aqara.opple_switch.XiaomiOpple2ButtonSwitchFace1'>
Fail because endpoint list mismatch: {1, 2, 41, 42, 242, 51, 21, 31} {1}
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.tuya.ts0201.MoesTemperatureHumidtySensorWithScreen'>
Fail because device_type mismatch on at least one endpoint
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}
device - 0x2F6C:a4:c1:38:2c:37:ad:46:28 entering async_device_initialized - is_new_join: False
device - 0x2F6C:a4:c1:38:2c:37:ad:46:28 has been reset and re-added or its nwk address changed
skipping discovery for previously discovered device - 0x2F6C:a4:c1:38:2c:37:ad:46:28
[0x2F6C](TS0601): started configuration
[0x2F6C:ZDO](TS0601): 'async_configure' stage succeeded
[0x2F6C:1:0x0000]: Configuring cluster attribute reporting
[0x2F6C:1:0x0000]: finished channel configuration
[0x2F6C:1:0xef00]: Performing cluster binding
[0x2f6c] Extending timeout for 0x08 request
[0x2F6C:1:0x0019]: finished channel configuration
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.Broadcast: 15>, address=<BroadcastAddress.ALL_ROUTERS_AND_COORDINATOR: 65532>), dst_ep=0, source_route=None, extended_timeout=False, tsn=4, profile_id=0, cluster_id=19, data=Serialized[b'\x04l/(F\xad7,8\xc1\xa4\x80'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
Device 0x2f6c (a4:c1:38:2c:37:ad:46:28) joined the network
[0x2F6C](TS0601): Update device availability -  device available: False - new availability: True - changed: True
[0x2F6C](TS0601): Device availability changed and device became available, reinitializing channels
[0x2f6c:zdo] ZDO request ZDOCmd.Device_annce: [0x2F6C, a4:c1:38:2c:37:ad:46:28, 128]
[0x2F6C:1:0x0004] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=False), tsn=9, command_id=2, *direction=<Direction.Server_to_Client: 0>, *is_reply=False)
[0x2F6C:1:0x0004] Sending request: get_membership(groups=[])
[0x2f6c] Extending timeout for 0x09 request
[0x2F6C](TS0601): started initialization
[0x2F6C:ZDO](TS0601): 'async_initialize' stage succeeded
[0x2F6C:1:0x0000]: initializing channel: from_cache: False
[0x2F6C:1:0x0000]: finished channel initialization
[0x2F6C:1:0xef00]: initializing channel: from_cache: False
[0x2F6C:1:0xef00]: finished channel initialization
[0x2F6C:1:0x0019]: initializing channel: from_cache: False
[0x2F6C:1:0x0019]: finished channel initialization
[0x2F6C:1:0x0000]: 'async_initialize' stage succeeded
[0x2F6C:1:0xef00]: 'async_initialize' stage succeeded
[0x2F6C:1:0x0019]: 'async_initialize' stage succeeded
[0x2F6C](TS0601): power source: Battery or Unknown
[0x2F6C](TS0601): completed initialization
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=4, data=Serialized[b'\x19\t\x02\x10\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=80, rssi=None)
[0x2F6C:1:0x0004] Received ZCL frame: b'\x19\t\x02\x10\x00'
[0x2F6C:1:0x0004] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=9, command_id=2, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0004] Decoded ZCL frame: Groups:get_membership_response(capacity=16, groups=[])
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=4, data=Serialized[b'\x18\t\x0b\x02\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=83, rssi=None)
[0x2F6C:1:0x0004] Received ZCL frame: b'\x18\t\x0b\x02\x00'
[0x2F6C:1:0x0004] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=9, command_id=11, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0004] Decoded ZCL frame: Groups:Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
[0x2F6C:1:0x0004] Received command 0x0B (TSN 9): Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=0, source_route=None, extended_timeout=False, tsn=8, profile_id=0, cluster_id=32801, data=Serialized[b'\x08\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
[0x2F6C:1:0xef00]: bound 'None' cluster: Status.SUCCESS
[0x2F6C:1:0xef00]: Configuring cluster attribute reporting
[0x2F6C:1:0xef00]: finished channel configuration
[0x2F6C:1:0x0000]: 'async_configure' stage succeeded
[0x2F6C:1:0xef00]: 'async_configure' stage succeeded
[0x2F6C:1:0x0019]: 'async_configure' stage succeeded
[0x2F6C](TS0601): completed configuration
[0x2F6C](TS0601): Update device availability -  device available: False - new availability: True - changed: True
[0x2F6C](TS0601): Device availability changed and device became available, reinitializing channels
[0x2F6C](TS0601): started initialization
[0x2F6C:ZDO](TS0601): 'async_initialize' stage succeeded
[0x2F6C:1:0x0000]: initializing channel: from_cache: False
[0x2F6C:1:0x0000]: finished channel initialization
[0x2F6C:1:0xef00]: initializing channel: from_cache: False
[0x2F6C:1:0xef00]: finished channel initialization
[0x2F6C:1:0x0019]: initializing channel: from_cache: False
[0x2F6C:1:0x0019]: finished channel initialization
[0x2F6C:1:0x0000]: 'async_initialize' stage succeeded
[0x2F6C:1:0xef00]: 'async_initialize' stage succeeded
[0x2F6C:1:0x0019]: 'async_initialize' stage succeeded
[0x2F6C](TS0601): power source: Battery or Unknown
[0x2F6C](TS0601): completed initialization
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xa4\x11\x00p@'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=69, rssi=None)
[0x2F6C:1:0xef00] Received ZCL frame: b'\t\xa4\x11\x00p@'
[0x2F6C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=164, command_id=17, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0xef00] Unknown cluster command 17 b'\x00p@'
[0x2F6C:1:0xef00] Received command 0x11 (TSN 164): b'\x00p@'
[0x2F6C:1:0xef00] No explicit handler for cluster command 0x11: b'\x00p@'
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xa4\x11\x00p@'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=72, rssi=None)
[0x2F6C:1:0xef00] Received ZCL frame: b'\t\xa4\x11\x00p@'
[0x2F6C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=164, command_id=17, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0xef00] Unknown cluster command 17 b'\x00p@'
[0x2F6C:1:0xef00] Received command 0x11 (TSN 164): b'\x00p@'
[0x2F6C:1:0xef00] No explicit handler for cluster command 0x11: b'\x00p@'
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\t\xa4\x11\x00p@'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=80, rssi=None)
[0x2F6C:1:0xef00] Received ZCL frame: b'\t\xa4\x11\x00p@'
[0x2F6C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=164, command_id=17, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0xef00] Unknown cluster command 17 b'\x00p@'
[0x2F6C:1:0xef00] Received command 0x11 (TSN 164): b'\x00p@'
[0x2F6C:1:0xef00] No explicit handler for cluster command 0x11: b'\x00p@'
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=0, data=Serialized[b'\x08\xa5\n\x01\x00 H\xe2\xff 8\xe4\xff \x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=40, rssi=None)
[0x2F6C:1:0x0000] Received ZCL frame: b'\x08\xa5\n\x01\x00 H\xe2\xff 8\xe4\xff \x00'
[0x2F6C:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=165, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=72)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=56)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))])
[0x2F6C:1:0x0000] Received command 0x0A (TSN 165): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=72)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=56)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=0))])
[0x2F6C:1:0x0000] Attribute report received: app_version=72, 0xFFE2=56, 0xFFE4=0
[0x2F6C:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=165, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=10, data=Serialized[b'\x00\xa6\x00\x07\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=51, rssi=None)
[0x2F6C:1:0x000a] Received ZCL frame: b'\x00\xa6\x00\x07\x00'
[0x2F6C:1:0x000a] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=166, command_id=0, *direction=<Direction.Server_to_Client: 0>, *is_reply=False)
[0x2F6C:1:0x000a] Decoded ZCL frame: Time:Read_Attributes(attribute_ids=[7])
[0x2F6C:1:0x000a] Received command 0x00 (TSN 166): Read_Attributes(attribute_ids=[7])
[0x2F6C:1:0x000a] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=166, command_id=<GeneralCommand.Read_Attributes_rsp: 1>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x000a] Sending reply: Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0007, status=<Status.SUCCESS: 0>, value=TypeValue(type=LocalTime, value=721683858))])
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=0, data=Serialized[b'\x08\xa7\n\xdf\xffB<(\xdc\x03+i+\xdc\x03+i.\xdc\x03+i1\xdc\x03+i\x13\xea\x03+\x11\xff\xf6\x03+i\x02\xf7\x03+i\x05\xf7\x03+i\x08\xf7\x03+ij\xf7\x03+fk\xf7\x03+\x12k\xf7\x03+e'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=43, rssi=None)
[0x2F6C:1:0x0000] Received ZCL frame: b'\x08\xa7\n\xdf\xffB<(\xdc\x03+i+\xdc\x03+i.\xdc\x03+i1\xdc\x03+i\x13\xea\x03+\x11\xff\xf6\x03+i\x02\xf7\x03+i\x05\xf7\x03+i\x08\xf7\x03+ij\xf7\x03+fk\xf7\x03+\x12k\xf7\x03+e'
[0x2F6C:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=167, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0xFFDF, value=TypeValue(type=CharacterString, value='(�\x03+i+�\x03+i.�\x03+i1�\x03+i\x13�\x03+\x11��\x03+i\x02�\x03+i\x05�\x03+i\x08�\x03+ij�\x03+fk�\x03+\x12k�\x03+e'))])
[0x2F6C:1:0x0000] Received command 0x0A (TSN 167): Report_Attributes(attribute_reports=[Attribute(attrid=0xFFDF, value=TypeValue(type=CharacterString, value='(�\x03+i+�\x03+i.�\x03+i1�\x03+i\x13�\x03+\x11��\x03+i\x02�\x03+i\x05�\x03+i\x08�\x03+ij�\x03+fk�\x03+\x12k�\x03+e'))])
[0x2F6C:1:0x0000] Attribute report received: 0xFFDF='(�\x03+i+�\x03+i.�\x03+i1�\x03+i\x13�\x03+\x11��\x03+i\x02�\x03+i\x05�\x03+i\x08�\x03+ij�\x03+fk�\x03+\x12k�\x03+e'
[0x2F6C:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=167, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
[0x2F6C](TS0601): Device seen - marking the device available and resetting counter
[0x2F6C](TS0601): Update device availability -  device available: True - new availability: True - changed: False
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=0, dst=AddrModeAddress(addr_mode=<AddrMode.Broadcast: 15>, address=<BroadcastAddress.ALL_ROUTERS_AND_COORDINATOR: 65532>), dst_ep=0, source_route=None, extended_timeout=False, tsn=0, profile_id=0, cluster_id=19, data=Serialized[b'\x00l/(F\xad7,8\xc1\xa4\x80'], tx_options=<TransmitOptions.NONE: 0>, radius=0, non_member_radius=0, lqi=None, rssi=None)
Device 0x2f6c (a4:c1:38:2c:37:ad:46:28) joined the network
[0x2f6c:zdo] ZDO request ZDOCmd.Device_annce: [0x2F6C, a4:c1:38:2c:37:ad:46:28, 128]
[0x2F6C:1:0x0004] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=False), tsn=10, command_id=2, *direction=<Direction.Server_to_Client: 0>, *is_reply=False)
[0x2F6C:1:0x0004] Sending request: get_membership(groups=[])
[0x2f6c] Extending timeout for 0x0a request
Device 0x2f6c (a4:c1:38:2c:37:ad:46:28) joined the network
[0x2f6c] Cancelling old group rescan
[0x2F6C:1:0x0004] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=False), tsn=11, command_id=2, *direction=<Direction.Server_to_Client: 0>, *is_reply=False)
[0x2F6C:1:0x0004] Sending request: get_membership(groups=[])
[0x2f6c] Extending timeout for 0x0b request
Device 0x2f6c (a4:c1:38:2c:37:ad:46:28) joined the network
[0x2f6c] Cancelling old group rescan
[0x2F6C:1:0x0004] Sending request header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=False, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=False), tsn=12, command_id=2, *direction=<Direction.Server_to_Client: 0>, *is_reply=False)
[0x2F6C:1:0x0004] Sending request: get_membership(groups=[])
[0x2f6c] Extending timeout for 0x0c request
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=4, data=Serialized[b'\x19\n\x02\x10\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=54, rssi=None)
[0x2F6C:1:0x0004] Received ZCL frame: b'\x19\n\x02\x10\x00'
[0x2F6C:1:0x0004] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=10, command_id=2, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0004] Decoded ZCL frame: Groups:get_membership_response(capacity=16, groups=[])
[0x2F6C:1:0x0004] Received command 0x02 (TSN 10): get_membership_response(capacity=16, groups=[])
[0x2F6C:1:0x0004] No explicit handler for cluster command 0x02: get_membership_response(capacity=16, groups=[])
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=4, data=Serialized[b'\x18\n\x0b\x02\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=54, rssi=None)
[0x2F6C:1:0x0004] Received ZCL frame: b'\x18\n\x0b\x02\x00'
[0x2F6C:1:0x0004] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=10, command_id=11, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0004] Decoded ZCL frame: Groups:Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
[0x2F6C:1:0x0004] Received command 0x0B (TSN 10): Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=4, data=Serialized[b'\x19\x0b\x02\x10\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=58, rssi=None)
[0x2F6C:1:0x0004] Received ZCL frame: b'\x19\x0b\x02\x10\x00'
[0x2F6C:1:0x0004] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=11, command_id=2, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0004] Decoded ZCL frame: Groups:get_membership_response(capacity=16, groups=[])
[0x2F6C:1:0x0004] Received command 0x02 (TSN 11): get_membership_response(capacity=16, groups=[])
[0x2F6C:1:0x0004] No explicit handler for cluster command 0x02: get_membership_response(capacity=16, groups=[])
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=4, data=Serialized[b'\x18\x0b\x0b\x02\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=58, rssi=None)
[0x2F6C:1:0x0004] Received ZCL frame: b'\x18\x0b\x0b\x02\x00'
[0x2F6C:1:0x0004] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=11, command_id=11, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0004] Decoded ZCL frame: Groups:Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
[0x2F6C:1:0x0004] Received command 0x0B (TSN 11): Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=4, data=Serialized[b'\x19\x0c\x02\x10\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=69, rssi=None)
[0x2F6C:1:0x0004] Received ZCL frame: b'\x19\x0c\x02\x10\x00'
[0x2F6C:1:0x0004] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=12, command_id=2, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0004] Decoded ZCL frame: Groups:get_membership_response(capacity=16, groups=[])
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=4, data=Serialized[b'\x18\x0c\x0b\x02\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=69, rssi=None)
[0x2F6C:1:0x0004] Received ZCL frame: b'\x18\x0c\x0b\x02\x00'
[0x2F6C:1:0x0004] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=12, command_id=11, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0004] Decoded ZCL frame: Groups:Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
[0x2F6C:1:0x0004] Received command 0x0B (TSN 12): Default_Response(command_id=2, status=<Status.SUCCESS: 0>)
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=10, data=Serialized[b'\x00p\x00\x07\x00'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=69, rssi=None)
[0x2F6C:1:0x000a] Received ZCL frame: b'\x00p\x00\x07\x00'
[0x2F6C:1:0x000a] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Server_to_Client: 0>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=False), tsn=112, command_id=0, *direction=<Direction.Server_to_Client: 0>, *is_reply=False)
[0x2F6C:1:0x000a] Decoded ZCL frame: Time:Read_Attributes(attribute_ids=[7])
[0x2F6C:1:0x000a] Received command 0x00 (TSN 112): Read_Attributes(attribute_ids=[7])
[0x2F6C:1:0x000a] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=112, command_id=<GeneralCommand.Read_Attributes_rsp: 1>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x000a] Sending reply: Read_Attributes_rsp(status_records=[ReadAttributeRecord(attrid=0x0007, status=<Status.SUCCESS: 0>, value=TypeValue(type=LocalTime, value=721683956))])
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=0, data=Serialized[b'\x08q\n\x01\x00 H\xe2\xff 8\xe4\xff \x01'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=102, rssi=None)
[0x2F6C:1:0x0000] Received ZCL frame: b'\x08q\n\x01\x00 H\xe2\xff 8\xe4\xff \x01'
[0x2F6C:1:0x0000] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=113, command_id=10, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0000] Decoded ZCL frame: Basic:Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=72)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=56)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=1))])
[0x2F6C:1:0x0000] Received command 0x0A (TSN 113): Report_Attributes(attribute_reports=[Attribute(attrid=0x0001, value=TypeValue(type=uint8_t, value=72)), Attribute(attrid=0xFFE2, value=TypeValue(type=uint8_t, value=56)), Attribute(attrid=0xFFE4, value=TypeValue(type=uint8_t, value=1))])
[0x2F6C:1:0x0000] Attribute report received: app_version=72, 0xFFE2=56, 0xFFE4=1
[0x2F6C:1:0x0000] Sending reply header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.GLOBAL_COMMAND: 0>, is_manufacturer_specific=False, direction=<Direction.Client_to_Server: 1>, disable_default_response=1, reserved=0, *is_cluster=False, *is_general=True, *is_reply=True), tsn=113, command_id=<GeneralCommand.Default_Response: 11>, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0x0000] Sending reply: Default_Response(command_id=10, status=<Status.SUCCESS: 0>)
Received a packet: ZigbeePacket(src=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x2F6C), src_ep=1, dst=AddrModeAddress(addr_mode=<AddrMode.NWK: 2>, address=0x0000), dst_ep=1, source_route=None, extended_timeout=False, tsn=0, profile_id=260, cluster_id=61184, data=Serialized[b'\tr\x11\x00\x03@'], tx_options=<TransmitOptions.NONE: 0>, radius=29, non_member_radius=0, lqi=65, rssi=None)
[0x2F6C:1:0xef00] Received ZCL frame: b'\tr\x11\x00\x03@'
[0x2F6C:1:0xef00] Decoded ZCL frame header: ZCLHeader(frame_control=FrameControl(frame_type=<FrameType.CLUSTER_COMMAND: 1>, is_manufacturer_specific=0, direction=<Direction.Client_to_Server: 1>, disable_default_response=0, reserved=0, *is_cluster=True, *is_general=False, *is_reply=True), tsn=114, command_id=17, *direction=<Direction.Client_to_Server: 1>, *is_reply=True)
[0x2F6C:1:0xef00] Unknown cluster command 17 b'\x00\x03@'
[0x2F6C:1:0xef00] Received command 0x11 (TSN 114): b'\x00\x03@'
[0x2F6C:1:0xef00] No explicit handler for cluster command 0x11: b'\x00\x03@'

Hello. The good news is that the Sonoff Zigbee stick is fine and you do not need to buy another Zigbee coordinator.

The bad news is that while Tuya Zigbee devices are pretty cheap, they mostly use a non standard way to communicate, so the standard Zigbee support code does not work. However, there are a number of people tirelessly adding support for devices that people encounter. In order to work out which device you actually have, you need to provide more details according to the Reporting Issues section of the documentation. (I tried your link but it is not working for me) If you can provide your Zigbee Device Signature, it will be possible to determine what the status of support is for your device:

SettingsDevices & ServicesZigbee Home Automation (click Configure) → Devices (pick your device) → Click “Zigbee Device Signature

Hi Challs, thanks for your help;
The signature of device is:

IEEE: a4:c1:38:2c:37:ad:46:28
Nwk: 0x2f6c
Device Type: EndDevice
LQI: 10
RSSI: Sconosciuto
Ultima visualizzazione: 2022-11-14T08:23:04
Sorgente di alimentazione: Battery or Unknown

This is a screenshot of the product:

Sorry, that’s not the signature. The instructions I gave you were out of date. Try this:

SettingsDevices & ServicesZigbee Home Automation (click Configure) → Devices (pick your device) → Under Device Info section, near to ‘Reconfigure’, click 3 dot menu → Select Manage Zigbee Device from the Menu

Screenshot_20221114_231837

→ Click Signature Tab → copy the JSON contents

Ops, sorry…here the signature:

{
  "node_descriptor": "NodeDescriptor(logical_type=<LogicalType.EndDevice: 2>, complex_descriptor_available=0, user_descriptor_available=0, reserved=0, aps_flags=0, frequency_band=<FrequencyBand.Freq2400MHz: 8>, mac_capability_flags=<MACCapabilityFlags.AllocateAddress: 128>, 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=True, *is_full_function_device=False, *is_mains_powered=False, *is_receiver_on_when_idle=False, *is_router=False, *is_security_capable=False)",
  "endpoints": {
    "1": {
      "profile_id": 260,
      "device_type": "0x0051",
      "in_clusters": [
        "0x0000",
        "0x0004",
        "0x0005",
        "0xef00"
      ],
      "out_clusters": [
        "0x000a",
        "0x0019"
      ]
    }
  },
  "manufacturer": "_TZE200_9yapgbuv",
  "model": "TS0601",
  "class": "zigpy.device.Device"
}

Thanks again

1 Like

Hello, thanks for the signature. By searching in Github for the signature _TZE200_9yapgbuv I found there has been a very recent discussion about the same topic in the code repository here. You should find you can also use the suggestion to add the signature to a copy of ts0601_sensor.py to get your home assistant to recognise the device.

Thanks Challs you was very kindle. The next week I will try to integrate the sensor using the suggest that you give me. I will say you if I will fortune.
Thanks again and strong ciao