zha-device-handlers
zha-device-handlers copied to clipboard
[Device Support Request] TS0601 _TZE200_upagmta9
Problem description
I got a Zigbee device (https://de.aliexpress.com/item/1005004666251263.html) which is regonized, but without Values. I tried to add signature to ts0601_sensor.py but still no luck to get it working.
Solution description
Help with integration
Screenshots/Video
Screenshots/Video
[Paste/upload your media here]
Device signature
Device 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": "0x0104",
"device_type": "0x0302",
"input_clusters": [
"0x0000",
"0x0001",
"0x0004",
"0x0005",
"0x0402",
"0x0408",
"0xef00"
],
"output_clusters": [
"0x000a",
"0x0019"
]
}
},
"manufacturer": "_TZE200_upagmta9",
"model": "TS0601",
"class": "ts0601_sensor.TuyaSoilSensor"
}
Diagnostic information
Diagnostic information
{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2023.9.0",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.11.5",
"docker": true,
"arch": "x86_64",
"timezone": "Europe/Berlin",
"os_name": "Linux",
"os_version": "6.1.45",
"supervisor": "2023.08.3",
"host_os": "Home Assistant OS 10.5",
"docker_version": "23.0.6",
"chassis": "embedded",
"run_as_root": true
},
"custom_components": {
"hacs": {
"version": "1.32.1",
"requirements": [
"aiogithubapi>=22.10.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.2",
"pyserial==3.5",
"pyserial-asyncio==0.6",
"zha-quirks==0.0.103",
"zigpy-deconz==0.21.0",
"zigpy==0.57.1",
"zigpy-xbee==0.18.1",
"zigpy-zigate==0.11.0",
"zigpy-znp==0.11.4",
"universal-silabs-flasher==0.0.13"
],
"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"
]
}
],
"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": {
"ieee": "**REDACTED**",
"nwk": 14628,
"manufacturer": "_TZE200_upagmta9",
"model": "TS0601",
"name": "_TZE200_upagmta9 TS0601",
"quirk_applied": true,
"quirk_class": "ts0601_sensor.TuyaSoilSensor",
"manufacturer_code": 4417,
"power_source": "Battery or Unknown",
"lqi": 196,
"rssi": -51,
"last_seen": "2023-09-08T23:21:45",
"available": true,
"device_type": "EndDevice",
"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": "0x0104",
"device_type": "0x0302",
"input_clusters": [
"0x0000",
"0x0001",
"0x0004",
"0x0005",
"0x0402",
"0x0408",
"0xef00"
],
"output_clusters": [
"0x000a",
"0x0019"
]
}
},
"manufacturer": "_TZE200_upagmta9",
"model": "TS0601"
},
"active_coordinator": false,
"entities": [
{
"entity_id": "sensor.schlafzimmer_temperatur_battery",
"name": "_TZE200_upagmta9 TS0601"
},
{
"entity_id": "sensor.schlafzimmer_temperatur_soil_moisture",
"name": "_TZE200_upagmta9 TS0601"
},
{
"entity_id": "sensor.schlafzimmer_temperatur_temperature",
"name": "_TZE200_upagmta9 TS0601"
}
],
"neighbors": [],
"routes": [],
"endpoint_names": [
{
"name": "TEMPERATURE_SENSOR"
}
],
"user_given_name": "Schlafzimmer Temperatur",
"device_reg_id": "92956b01bebc87d0228602992419c38a",
"area_id": "schlafzimmer",
"cluster_details": {
"1": {
"device_type": {
"name": "TEMPERATURE_SENSOR",
"id": 770
},
"profile_id": 260,
"in_clusters": {
"0x0000": {
"endpoint_attribute": "basic",
"attributes": {
"0x0001": {
"attribute_name": "app_version",
"value": 72
}
},
"unsupported_attributes": {}
},
"0x0004": {
"endpoint_attribute": "groups",
"attributes": {},
"unsupported_attributes": {}
},
"0x0005": {
"endpoint_attribute": "scenes",
"attributes": {},
"unsupported_attributes": {}
},
"0xef00": {
"endpoint_attribute": "tuya_manufacturer",
"attributes": {
"0xef00": {
"attribute_name": "mcu_version",
"value": "1.0.0"
}
},
"unsupported_attributes": {}
},
"0x0402": {
"endpoint_attribute": "temperature",
"attributes": {},
"unsupported_attributes": {}
},
"0x0408": {
"endpoint_attribute": "soil_moisture",
"attributes": {},
"unsupported_attributes": {}
},
"0x0001": {
"endpoint_attribute": "power",
"attributes": {
"0x0033": {
"attribute_name": "battery_quantity",
"value": 2
},
"0x0034": {
"attribute_name": "battery_rated_voltage",
"value": 15
},
"0x0031": {
"attribute_name": "battery_size",
"value": 4
}
},
"unsupported_attributes": {}
}
},
"out_clusters": {
"0x0019": {
"endpoint_attribute": "ota",
"attributes": {},
"unsupported_attributes": {}
},
"0x000a": {
"endpoint_attribute": "time",
"attributes": {},
"unsupported_attributes": {}
}
}
}
}
}
}
Logs
Logs
[Paste the logs here]
Custom quirk
Custom quirk
[Paste your custom quirk here]
Additional information
No response
Attach the signature without the local quirk applied. I would try to add it in this quirk: https://github.com/zigpy/zha-device-handlers/blob/7745c838f98ac126d64ae4edad62556763b13d2e/zhaquirks/tuya/ts0601_sensor.py#L126
@dawrut You shall open one issue at https://www.zigbee2mqtt.io/advanced/support-new-devices/01_support_new_devices.html as you is running Z2M and not ZHA.
Attach the signature without the local quirk aoolied. I would try to add it in this quirk:
https://github.com/zigpy/zha-device-handlers/blob/7745c838f98ac126d64ae4edad62556763b13d2e/zhaquirks/tuya/ts0601_sensor.py#L126
Dammit, I wrote answer but somehow it wasn't submitted.
I added the signiture to ts0601_sensor.py
, the line you suggestet and also tried all other signature definitions, without luck.
hey ;)
Same issue for me ! with ZHA and signature in ts0601_sensor.py
How can I help?
https://de.aliexpress.com/item/1005005627336725.html?spm=a2g0o.order_list.order_list_main.5.17da5c5fF6CUMQ&gatewayAdapt=glo2deu
Same issue here.
I tried.
("_TZE200_upagmta9", "TS0601"),
in
class TuyaTempHumiditySensor_Square(CustomDevice): """Custom device representing tuya temp and humidity sensor with e-ink screen."""
Anyone managed to get the TS0601 _TZE204_upagmta9 working in ZHA?
this is the small tuya zigbee temperature and humidity sensor with screen.
For zigbee2mqtt they seem to have solved this issue. See https://github.com/Koenkk/zigbee2mqtt/issues/19137 According to this comment https://github.com/Koenkk/zigbee2mqtt/issues/19137#issuecomment-1810843051 the Tuya device requires an extra command send from the controller after the interview:
- if you issue a cluster 0xef00 command 0x03 the device send all values and goes to sleep.
- send a temperature F° Command from frontend UI, which is confirmed on screen sensor switching to °F, then sending the cluster 0xef00 command 0x03 the sensor goes to sleep
Not sure how to implement this in zha.
We need the help of the experts. Can someone help? :)
I wasn't able to get it working and the extra command after interview requires more knowledge then I have. (I'm just a regular C++/PHP/VB/C#/Ruby developer, no phyton 😅) I brought some other devices without screen which was more easy and will look to buy known supported once if I need some with display.
Have the same little temp/humidity sensor. Can pair it but then it freezes up and no values come in. Sucks as it's inexpensive, I hope the next release of ZHA can get it working, it looks like there's a ton of work on TUYA devices over on the "other side" that ZHA can pull from.
It would be great to have support for this device given the fact this it has native support for Zigbee.
Adding in to ZHA is not an issue, no entities showing is the problem
@javicalle The device 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": "0x0104", "device_type": "0x0051", "input_clusters": [ "0x0000", "0x0004", "0x0005", "0xef00" ], "output_clusters": [ "0x000a", "0x0019" ] } }, "manufacturer": "_TZE204_upagmta9", "model": "TS0601", "class": "zigpy.device.Device" }
For zigbee2mqtt they seem to have solved this issue. See Koenkk/zigbee2mqtt#19137 According to this comment Koenkk/zigbee2mqtt#19137 (comment) the Tuya device requires an extra command send from the controller after the interview:
- if you issue a cluster 0xef00 command 0x03 the device send all values and goes to sleep.
Haven't tested this at all, but linking my comment from the other thread (for the same exact device): https://github.com/zigpy/zha-device-handlers/issues/2694#issuecomment-1916001737
same issue here.
is there any hope for a fix?
@dmulcahey should be one of the people responsible. But there is no one assigned to this issue. So I don't have much hope they try to change it...
Given that there is solution to integrate these thermometers in HA, has anyone found any use for them? Is it possible to convert them from Zigbeee to bluetooth?
has anyone found any use for them?
well… they are thermometers… they report temperature… what other use can they be?
Just wondering if anyone managed to get these devices working on ZHA?