-
Notifications
You must be signed in to change notification settings - Fork 703
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Device Support Request] TY0201 by _TZ3000_bjawzodf #2862
Comments
Hi. My equipment works the same. Only temperature and battery shows. TY0201, _TZ3000_bjawzodf |
Try the custom quirk I listed on the original post. It should work for you as it is working for me. |
I take it back. The humidity stopped working for whatever reason. |
Hi. My custom quirk works. |
It sure does! Thank you!!! |
Hello, I just received one TY0201 by _TZ3000_bjawzodf device today and encountered the same situation as described in this issue. I could add the device to HA in ZHA, but I only got battery and temperature, but not humidity. After some search, I found this issue and tried the ty0201.zip custom quirk from @LukaszJedynowicz . Thank you in advance! |
It didn’t work for me at first either. Try restarting HA after applying the quirk and then adding the device again. |
Thanks for your answer.
I have the latest HA core update and some other updates open, so I will take the time to do all updates now. |
Update: I did not succeed in getting the humidity in home assistant. I will leave it as it is for the moment, maybe there will be some activity here in the future that helps me getting it running. Thank you @idumzaes for you support! |
I don't know if this helps but here are a couple of internal pictures and a link to all the endpoints on the Tuya website as I too am experiencing the same problem. https://developer.tuya.com/en/docs/connect-subdevices-to-gateways/zigbee-sensor?id=K9ik6zvmhrfh6 |
Hi, I have two identical thermometers. The second thermometer only shows the temperature, but both provide humidity information in their diagnostics. Quirk: ty0201.TemperatureHumidtySensorWithScreen |
I can confirm this custom quirk works. I have been using it for 2 weeks without any issues. |
How did you manage to pair the device? I tried to pair with PhosCon several times, also tried different devices, it never succeeded. Usually I'm using ioBroker with the Deconz adapter and RaspBee, but for testing I tried to pair using the Zigbee adapter in ioBroker and the Sonoff USB stick - that worked immediately. |
I’ve been using ZHA with a Sonoff Zigbee 3.0 USB Dongle Plus. I’ve never used PhisCon, Deconz, ioBroker or RaspBee. On Jan 27, 2024, at 3:10 PM, ThorstenDtk ***@***.***> wrote:
How did you manage to pair the device? I tried to pair with PhosCon several times, also tried different devices, it never succeeded. Usually I'm using ioBroker with the Deconz adapter and RaspBee, but for testing I tried to pair using the Zigbee adapter in ioBroker and the Sonoff USB stick - that worked immediately.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were mentioned.Message ID: ***@***.***>
|
I paired this device using |
The custom quirk mentioned does not work for me either. I'm not experienced with quirk development, but I also don't know why it works for anyone (please someone explain if they know, I'm legit curious, not criticizing) - since on the surface it appears to make the replacement template identical to the original. Furthermore, if anyone understands how it's putting humidity in |
For me the quirk posted here didn't work either so I changed it a bit and now it works for me. from zigpy.profiles import zha from zhaquirks.const import ( class TemperatureHumidtySensorWithScreen(CustomDevice):
|
@gielie could you post it as a file? I think formatting broke it. |
@gielie I have the same problem: "Only temperature shown". I had a look at the code posted above; it's the same as in the quirk files above, but I don't see any difference. What did you actually change? |
I have had the same issue: no humidity only temperature in HA |
I changed this part
into this
|
Hi @gielie ! Thanks for sharing your config.
Regards, Gábor |
This is very strange. Following the change to the quirks file, one of the sensors has started showing temperature and humidity but another is only showing temperature still. I have tried repeatedly restarting HA and removing the cache file but no further change. |
Hi, Iam trying to get this working also, I got all the same results as above except a working device. I cannot find how the clear the cache for the quirks, can anyone point me in the right direction? My feeling is that any change I make to the quirk is not loaded when I pair the device. Thanks in advance. Danny |
@koningdde your quirks cache is in |
You are not alone :) Same story, diagnostic shows that now temperature is not supported, but show nothing for both ))) UPD: after yet another restart the humidity back to live, but not temperature )) Magic... I can read both values using Manage Zigbee Device, btw... UPD2: hm, now Download Diagnostic shows that all *value attributes supported, I did restart of the HA and guess what... it works... May be my manual execution of the Read Values in the Manage Zigbee Device did the trick, not sure.. UPD3: similar comment here, so may be really reading values manually do the magic... |
UPD3 seems to do it...same procedure as described, manual reading, temperature and humidity could be read but were not available as entities in the device, then restarting HA and - MAGIC - they're here and updating! |
Do you use any quirk? If yes which one? Edit: yes it looks like it is finally working also for me without any quirk. Just read those values and restart the HA ( I recently also updated HA to newest version 2024.3.1, if anybody interested, but I am not sure if that has anything to do with this, so upgrade on your own risk) Edit2: |
I was using this querk from philipedeswert above #2862 (comment). I am running HA 2024.2.5 at the moment. The values are still updating this morning :-) |
Worked for me too, doing the manual reading. Afterwards, humidity and temperature appears and seems to update. Hope it continues to work :) Thanks for bringing that idea out there! Still using the quirk. Don't know if it will work without the quirk. |
No, it doesn't work without quirk, even can't read values manually. |
The version in this comment from @philippedeswert works for me ( needed to re-pair the device, then restart HA, as initially I had no temperature and no humidity) |
I do have _TZ3000_zl1kmjqx and with quirk in this comment it is working for me. Only what I had to do is to adjust MODELS_INFO to: MODELS_INFO: [ |
The file from @philippedeswert worked for me too, thanks! |
Summary of steps I took to get _TZ3000_bjawzodf working in Home Assistant, using the above comments:
|
Thanks @holocronweaver and @philippedeswert for the file and the step-by-step summary of how to solve this problem. |
Recently got to play with this device and I see the fix is already out there. Thanks to @philippedeswert in #2862 (comment) This is not the only request for support, there's also #2851 and #2701 so many people are using this sensor. Digging through github issues and installing custom quirks might be too much for some however. @philippedeswert would you be so kind as to send a PR to add the quirk to the repo and help any future users? Otherwise I can do that for you. |
I could, I just don't feel like the quirk is actually 100% correct. OTOH a PR might get some eyes on it that could make it work 100%. I'll see what I can do later tonight. |
This seems to be a pretty common sensor, for which several models seem to exist : _TZ3000_bjawzodf and _TZ3000_zl1kmjqx Fixes: issues zigpy#2862, zigpy#2851, zigpy#2701 Signed-off-by: Philippe De Swert <[email protected]>
This seems to be a pretty common sensor, for which several models seem to exist : _TZ3000_bjawzodf and _TZ3000_zl1kmjqx Fixes: zigpy#2862, zigpy#2851, zigpy#2701 Signed-off-by: Philippe De Swert <[email protected]>
This seems to be a pretty common sensor, for which several models seem to exist : _TZ3000_bjawzodf and _TZ3000_zl1kmjqx Fixes: zigpy#2862, zigpy#2851, zigpy#2701 Signed-off-by: Philippe De Swert <[email protected]>
This seems to be a pretty common sensor, for which several models seem to exist : _TZ3000_bjawzodf and _TZ3000_zl1kmjqx Fixes: zigpy#2862, zigpy#2851, zigpy#2701 Signed-off-by: Philippe De Swert <[email protected]>
This seems to be a pretty common sensor, for which several models seem to exist : _TZ3000_bjawzodf and _TZ3000_zl1kmjqx Fixes: zigpy#2862, zigpy#2851, zigpy#2701 Signed-off-by: Philippe De Swert <[email protected]>
This seems to be a pretty common sensor, for which several models seem to exist : _TZ3000_bjawzodf and _TZ3000_zl1kmjqx Fixes: zigpy#2862, zigpy#2851, zigpy#2701 Signed-off-by: Philippe De Swert <[email protected]>
I looked over this thread and no solution really worked, so I worked on my own. It uses the TuyaLocalCluster class which the other Tuya thermometer quirks utilizes and it worked flawlessly from the beginning. |
Good you got it working. I was not 100% sure of my fix and this weekend I finally should have some time to play around with getting the quirk updated to v2. |
Maybe something changed in the firmware of these things. Last year I ordered three of these. Works perfect, all sensor are reporting. Last month I bought two more (same make/model and same device ID in Zigbee but the new ones won't display temp/hum (they did day one by the way). Re-adding does not show the sensors. Real weird. Edit: wait a minute.. The existing devices are TS0601 and the new ones are TY0201. |
This needs to be a quirk less thing, if it works. I only just bought these devices, and the quirk worked. I'd have thought after 6 months, this would have hit core. |
Quirks are going to be there no matter what. If you manually load one written by a community member, help write tests and make sure it's in a state to merge into the library! |
This quirk was already merged: #3201 It is in zigpy device handlers release 0.0.117 from June 26th: https://github.com/zigpy/zha-device-handlers/releases/tag/0.0.117 However it looks like Home Assistant hasn't last updated zigpy since June 14th: home-assistant/core@dc0fc31 I am not sure how zigpy / device handler updates are distributed to Home Assistant, but I suspect it will show up in a future HA release. |
I just used the instructions of @holocronweaver and it works but only after doing step 8. I also created a zha quirks directory and created the ty0201.py but i thought it would be in the Home Assistant release allready? Just wanted to share my experience and thanks @holocronweaver for the detailed instructions! |
Problem description
Round white temperature and humidity sensor with display purchased from Temu.
Only temperature and battery shows.
I attempted using the ts0201.py and replacing
("_TZ3000_qaaysllp", "TS0201")
with("_TZ3000_bjawzodf", "TY0201")
and it seems to be working.Solution description
Temperature, Humidity and Battery level support.
Screenshots/Video
Screenshots/Video
Before Quirk
After Quirk
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",
"0x0003",
"0x0402",
"0x0405"
],
"output_clusters": [
"0x0019"
]
}
},
"manufacturer": "_TZ3000_bjawzodf",
"model": "TY0201",
"class": "zigpy.device.Device"
}
Diagnostic information
Diagnostic information
{
"home_assistant": {
"installation_type": "Home Assistant OS",
"version": "2023.12.3",
"dev": false,
"hassio": true,
"virtualenv": false,
"python_version": "3.11.6",
"docker": true,
"arch": "x86_64",
"timezone": "America/New_York",
"os_name": "Linux",
"os_version": "6.1.63-haos",
"supervisor": "2023.12.0",
"host_os": "Home Assistant OS 11.2",
"docker_version": "24.0.7",
"chassis": "vm",
"run_as_root": true
},
"custom_components": {
"meross_lan": {
"version": "3.0.0",
"requirements": []
},
"hacs": {
"version": "1.33.0",
"requirements": [
"aiogithubapi>=22.10.1"
]
}
},
"integration_manifest": {
"domain": "zha",
"name": "Zigbee Home Automation",
"after_dependencies": [
"onboarding",
"usb"
],
"codeowners": [
"@dmulcahey",
"@Adminiuga",
"@puddly",
"@TheJulianJES"
],
"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.37.3",
"pyserial==3.5",
"pyserial-asyncio==0.6",
"zha-quirks==0.0.107",
"zigpy-deconz==0.22.2",
"zigpy==0.60.1",
"zigpy-xbee==0.20.1",
"zigpy-zigate==0.12.0",
"zigpy-znp==0.12.0",
"universal-silabs-flasher==0.0.15",
"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": "0403",
"pid": "6015",
"description": "conbee",
"known_devices": [
"Conbee III"
]
},
{
"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": 63935,
"manufacturer": "_TZ3000_bjawzodf",
"model": "TY0201",
"name": "_TZ3000_bjawzodf TY0201",
"quirk_applied": false,
"quirk_class": "zigpy.device.Device",
"quirk_id": null,
"manufacturer_code": 4417,
"power_source": "Battery or Unknown",
"lqi": 87,
"rssi": null,
"last_seen": "2023-12-25T18:54:54",
"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",
"0x0003",
"0x0402",
"0x0405"
],
"output_clusters": [
"0x0019"
]
}
},
"manufacturer": "_TZ3000_bjawzodf",
"model": "TY0201"
},
"active_coordinator": false,
"entities": [
{
"entity_id": "button.tz3000_bjawzodf_ty0201_identify",
"name": "_TZ3000_bjawzodf TY0201"
},
{
"entity_id": "sensor.tz3000_bjawzodf_ty0201_battery",
"name": "_TZ3000_bjawzodf TY0201"
},
{
"entity_id": "sensor.tz3000_bjawzodf_ty0201_temperature",
"name": "_TZ3000_bjawzodf TY0201"
}
],
"neighbors": [],
"routes": [],
"endpoint_names": [
{
"name": "TEMPERATURE_SENSOR"
}
],
"user_given_name": null,
"device_reg_id": "388644d1eb87a058dbda55635d46ea92",
"area_id": null,
"cluster_details": {
"1": {
"device_type": {
"name": "TEMPERATURE_SENSOR",
"id": 770
},
"profile_id": 260,
"in_clusters": {
"0x0000": {
"endpoint_attribute": "basic",
"attributes": {
"0x0004": {
"attribute_name": "manufacturer",
"value": "_TZ3000_bjawzodf"
},
"0x0005": {
"attribute_name": "model",
"value": "TY0201"
}
},
"unsupported_attributes": {}
},
"0x0001": {
"endpoint_attribute": "power",
"attributes": {
"0x0021": {
"attribute_name": "battery_percentage_remaining",
"value": 200
}
},
"unsupported_attributes": {}
},
"0x0003": {
"endpoint_attribute": "identify",
"attributes": {},
"unsupported_attributes": {}
},
"0x0402": {
"endpoint_attribute": "temperature",
"attributes": {
"0x0000": {
"attribute_name": "measured_value",
"value": 2360
}
},
"unsupported_attributes": {}
},
"0x0405": {
"endpoint_attribute": "humidity",
"attributes": {
"0x0000": {
"attribute_name": "measured_value",
"value": 3870
}
},
"unsupported_attributes": {
"0x0000": {
"attribute_name": "measured_value"
}
}
}
},
"out_clusters": {
"0x0019": {
"endpoint_attribute": "ota",
"attributes": {},
"unsupported_attributes": {}
}
}
}
}
}
}
Logs
Logs
Custom quirk
Custom quirk
"""Tuya TS201 temperature, humidity and optional illumination sensors."""
from zigpy.profiles import zha
from zigpy.profiles.zha import DeviceType
from zigpy.quirks import CustomCluster, CustomDevice
import zigpy.types as t
from zigpy.zcl.clusters.general import Basic, Identify, Ota, PowerConfiguration, Time
from zigpy.zcl.clusters.measurement import (
IlluminanceMeasurement,
RelativeHumidity,
TemperatureMeasurement,
)
from zigpy.zdo.types import NodeDescriptor
from zhaquirks.const import (
DEVICE_TYPE,
ENDPOINTS,
INPUT_CLUSTERS,
MODELS_INFO,
NODE_DESCRIPTOR,
OUTPUT_CLUSTERS,
PROFILE_ID,
)
class ValueAlarm(t.enum8):
"""Temperature and humidity alarm values."""
class TuyaTemperatureHumidityAlarmCluster(CustomCluster):
"""Tuya temperature and humidity alarm cluster (0xE002)."""
class NeoTemperatureHumidtyIlluminanceSensor(CustomDevice):
"""Neo temperature, humidity and illumination sensor."""
class ZemismartTemperatureHumidtySensor(CustomDevice):
"""Zemismart temperature and humidity sensor."""
class RelativeHumidityX10(CustomCluster, RelativeHumidity):
"""Handles invalid humidity values."""
class MoesTemperatureHumidtySensorWithScreen(CustomDevice):
"""Moes temperature and humidity sensor with screen."""
Additional information
https://www.temu.com/tuya-smart-zigbee-temperature-and-humidity-sensor-smart-life-app-control-indoor-humidity-detector-works-with-zigbee-gateway-hub-g-601099531358811.html
The text was updated successfully, but these errors were encountered: