Closed eduardobittencourt closed 1 year ago
You have "0xef00"
in quotes in your custom quirk. It should just be 0xef00
.
However, even if the quirk applies, it won't do anything really.
0xef00 is the custom Tuya cluster, so more support would need to be added for the lock to work.
Hey @TheJulianJES thanks for the reply!
Do you think we can figure out what is going on here? Your observation about my quirk was correct, now the quirk is applied when I pair the device. My ideia here is to just try some clusters and see what happens, since I'm not so handy in HA and ZHA.
If I can provide more information, please let me know :)
I'm not really familiar with Tuya. You can take a look at all current implementations for other Tuya devices here: https://github.com/zigpy/zha-device-handlers/blob/dev/zhaquirks/tuya/ (also look at __init__.py
which contains most custom Tuya clusters)
But as far as I can see, there's no "Tuya lock cluster" which you could just plug in as a replacement. It also looks like Zigbee2MQTT doesn't even have support for any Tuya locks.
I don't know if it helps, but I got some information from Developer Tuya IoT Platform.
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. Please make sure to update to the latest version and check if that solves the issue. Let us know if that works for you by adding a comment 👍 This issue has now been marked as stale and will be closed if no further activity occurs. Thank you for your contributions.
@eduardobittencourt i have this same door lock, did you find a solution?
Hi there, @eduardobittencourt did you get any working solution to integrate this lock to HA?
Hey @eduardobittencourt did you find any solution?
Hi guys. Unfortunately I have no updates on this case. I tried to contact Tuya and Intelbras (the company who sells the locks in Brazil) looking for further documentation, but got no response.
@eduardobittencourt I see,
My lock is from a brazilian company as well, called fortezza, yet it actually uses the Tuya TY0A01. I came across this Tuya documentation, and I'm currently trying to decipher the commands outlined there . If I can't figure it out, I might resort to analyzing Zigbee traffic as a last option.
I have just received an Aliexpress door lock called Tropernic and it is alwesome, beautifull and cheap as well. It shows TY0A01 por _TYST12_bfejtdig when trying ZHA, but the lock do not understant as a connection, and gives FAIL repport. Did you find any Lock custom quirk to manke a reverse try? Can we find clusters names or types from Tuya Hub Smart Life connection?
I've received my lock a few days ago and going to start working on a Tuya specific lock cluster that can be used in quirks soon. While my lock comes from a different manufacturer (_TYST12_bfejtdig), when the custom cluster is done, it should be easy to create new quirks for different Tuya locks based on that. The lock clusters have quite a long list of commands and attributes so I expect it to take quite some time. I plan to create a sort-of roadmap with "releases", starting with the most important minimum feature set (like lock-unlock), then extend it with additional functionality. As far as I see it, some dashboard will be necessary as well, because locks have features which are very inconvenient to do manually via cluster commands (like handling onboarded PIN codes and such).
Describe the solution you'd like I'm trying to use my smart lock from Intelbras in Home Assistant but no entities are found. I tried to create a quirk for this scenario but the weird cluster
0xef00
does not exists on the actual described clusters in zigpy.Device signature
```yaml { "node_descriptor": "NodeDescriptor(logical_type=Diagnostic information
```yaml { "home_assistant": { "installation_type": "Home Assistant OS", "version": "2022.12.8", "dev": false, "hassio": true, "virtualenv": false, "python_version": "3.10.7", "docker": true, "arch": "x86_64", "timezone": "America/Sao_Paulo", "os_name": "Linux", "os_version": "5.15.80", "supervisor": "2022.12.1", "host_os": "Home Assistant OS 9.4", "docker_version": "20.10.19", "chassis": "vm", "run_as_root": true }, "custom_components": { "smartthinq_sensors": { "version": "0.27.1", "requirements": [ "pycountry>=20.7.3", "xmltodict>=0.12.0", "cchardet>=2.1.7" ] }, "hacs": { "version": "1.29.0", "requirements": [ "aiogithubapi>=22.10.1" ] }, "localtuya": { "version": "4.1.1", "requirements": [] } }, "integration_manifest": { "domain": "zha", "name": "Zigbee Home Automation", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/zha", "requirements": [ "bellows==0.34.5", "pyserial==3.5", "pyserial-asyncio==0.6", "zha-quirks==0.0.89", "zigpy-deconz==0.19.2", "zigpy==0.52.3", "zigpy-xbee==0.16.2", "zigpy-zigate==0.10.3", "zigpy-znp==0.9.2" ], "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": 9144, "manufacturer": "_TYST12_snr3p274", "model": "TY0A01", "name": "_TYST12_snr3p274 TY0A01", "quirk_applied": false, "quirk_class": "zigpy.device.Device", "manufacturer_code": 0, "power_source": "Battery or Unknown", "lqi": 128, "rssi": -68, "last_seen": "2022-12-30T14:10:38", "available": true, "device_type": "EndDevice", "signature": { "node_descriptor": "NodeDescriptor(logical_type=Additional context
My actual Quirk try
``` """Tuya Smart Lock.""" from zigpy.profiles import zha from zigpy.quirks import CustomDevice from zigpy.zcl.clusters.general import Basic, Groups, Scenes, Time, Ota from zhaquirks.const import ( BUTTON_1, COMMAND, DEVICE_TYPE, DOUBLE_PRESS, ENDPOINT_ID, ENDPOINTS, INPUT_CLUSTERS, LONG_PRESS, MODEL, OUTPUT_CLUSTERS, PROFILE_ID, SHORT_PRESS, ) from zhaquirks.tuya import TuyaSmartRemoteOnOffCluster class TuyaSmartLock0A01(CustomDevice): """Tuya Smart Lock.""" signature = { # SizePrefixedSimpleDescriptor(endpoint=1, profile=260, device_type=0, device_version=1, input_clusters=[0, 10, 1, 6], output_clusters=[25])) MODEL: "TY0A01", ENDPOINTS: { 1: { PROFILE_ID: zha.PROFILE_ID, DEVICE_TYPE: zha.DeviceType.SMART_PLUG, INPUT_CLUSTERS: [ Basic.cluster_id, Groups.cluster_id, Scenes.cluster_id, Time.cluster_id, "0xef00" ], OUTPUT_CLUSTERS: [Ota.cluster_id], }, }, } replacement = { ENDPOINTS: { 1: { PROFILE_ID: zha.PROFILE_ID, DEVICE_TYPE: zha.DeviceType.DOOR_LOCK, INPUT_CLUSTERS: [ Basic.cluster_id, Groups.cluster_id, Scenes.cluster_id, Time.cluster_id, "0xef00" ], OUTPUT_CLUSTERS: [Ota.cluster_id], }, }, } # { # "node_descriptor": "NodeDescriptor(logical_type=