Tuya Zigbee Garage Door Opener

@oturn please use the new driver for your tests:
https://raw.githubusercontent.com/kkossev/Hubitat/development/Drivers/Tuya%20Zigbee%20Garage%20Door%20Opener/Tuya%20Zigbee%20Garage%20Door%20Opener.groovy

I find it useful to have a test dashboard, where the garage door opener device states can be monitored:


If you set the dashboard template 'Garage (Control)', you can also send open/close (trigger) commands to the device.

It is important to understand whether the contact sensor states are received and processed correctly by the driver. Make sure the Debug option is on when testing.
I will need the debug logs from your tests - please copy the log lines for the garage opener device and copy the logs here. You can use the forum editor 'Hide details' ( the cog wheel icon ) to hide the long lines of debug logs:

Summary

dev:23052022-06-18 14:56:41.897 debugGarage Door parse: description is read attr - raw: BA040100001801002040E2FF2020E4FF2000, dni: BA04, endpoint: 01, cluster: 0000, size: 18, attrId: 0001, encoding: 20, command: 0A, value: 40E2FF2020E4FF2000

dev:23052022-06-18 14:54:49.296 infoGarage Door Garage Door contact is closed (digital)

dev:23052022-06-18 14:54:49.293 infoGarage Door Garage Door door is closed

dev:23052022-06-18 14:54:45.630 infoGarage Door Garage Door switch is off (physical)

dev:23052022-06-18 14:54:45.625 traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=0

dev:23052022-06-18 14:54:45.622 debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 BA04 01 00 0000 01 01 00BD0101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:BA04, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:01, direction:01, data:[00, BD, 01, 01, 00, 01, 00]]

dev:23052022-06-18 14:54:45.618 debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 BA04 01 00 0000 01 01 00BD0101000100

dev:23052022-06-18 14:54:45.422 infoGarage Door Garage Door switch is off (physical)

dev:23052022-06-18 14:54:45.416 traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=0

dev:23052022-06-18 14:54:45.413 debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 BA04 01 00 0000 01 01 00BC0101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:BA04, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:01, direction:01, data:[00, BC, 01, 01, 00, 01, 00]]

This device should be sending back to HE hub also some kind of 'Door Status', that I have no idea what it is... The door status can not be 100% sure determined, as there is no sensor for the fully open position. So everything different than 'fully closed' (that is the RF sensor activated) is shown a 'open', which should be fine for our needs.

The driver has 5 seconds hardcoded timeout for the time the door fully opens or closes. It is used as a kind of timeout for the open and close operations.

Let me know if the new driver works for you. I don't have the actual device, so we may need to go through a few trial-and-error iterations before we have the driver fully working.

Revisions History

  • ver. 1.0.0 2022-06-18 - Inital test version
  • ver. 1.0.1 2022-06-19 kkossev - fixed Contact status open/close; added doorTimeout preference, default 15s; improved debug loging; PowerSource capability'; contact open/close status determines door state!
  • ver. 1.0.2 2022-06-20 - ignore Open command if the sensor is open; ignore Close command if the sensor is closed.
  • ver. 1.0.3 2022-06-26 - fixed new device exceptions bug; warnings in Debug logs only; Debug logs are off by default.
  • ver. 1.0.4 2022-07-06 - on() command opens the door if it was closed, off() command closes the door if it was open; 'contact is open/closed' info and warning logs are shown only on contact state change;
4 Likes