Tuya Zigbee Garage Door Opener

It’s a PDS 800. The stock wired and wireless remotes for the opener are momentary. When I activate the Tuya it makes a click, or more like a click-click sound, along with a brief light, and the door activates. The main problem I’m having now is the On and Off states on the Tuya are randomly flipping. I’m not sure exactly when this happens, and I haven’t been able to fully reproduce it yet. For example last night when the garage door was closed the Tuya showed Off. This morning after the door was opened and closed with the stock remote it ended up On when closed. I tried this again later and it stayed On. Again it’s a bit confusing because I can separate the magnetic RF sensors all day and it cycles between on and off. I’m not sure if the RF sensor misses occasionally, or if it’s a driver or some other issue. Also I’m more than happy to test any driver changes in the interim!

1 Like

Can you check and confirm that the operational logic below is correct?

PDS 800 Up/Down button is pressed (or Tuya relay was pulsed):

  • Button is pressed when the door was in closed position:
    • the door begins to open.
    • opening will stop when:
      • open limit is reached
      • an obstacle is encountered
  • Button pressed when the Door was in open position:
    • the door begins to close (only if the safety beam is not blocked!)
    • closing will stop when:
      • close limit is reached
      • an obstacle is encountered or the safety beam is interrupted. Then:
        • The door will stop
        • The door will start opening?
  • Button is pressed when the Door was half-open:
    • The door will start moving in the opposite direction (closing is possible only if the safety beam is not blocked!)
  • Button is pressed when the Door was in movement state:
    • The door will stop (will stay half-open)

When the button is held pressed (for how long?), then the door can be closed ignoring the safety beam sensor.

This is very important information, meaning that On command does not activate the dry contacts permanently, but just pulses the relay. I expect that the Off command does nothing ?

We need to make a new driver that will report correctly the Open/Closed state. The one that we used for a start doesn't have that logic, it is a simple On/Off light switch driver,

Let's have the new Tuya Zigbee Garage Door Opener driver first version prepared together with @aaiyar first, only then you can help us with the real tests.

The wireless sensor must be installed in a way so that we know when the door is fully closed.

I am hoping to have time in July to work on this in earnest. But I really like the operational logic you have outlined.

OK, for July we will have another new Tuya device to work on.
So I will make the driver over the weekend.

2 Likes

I should have time to test this logic this weekend.

@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

Ok here are my observations and the debug logs (with the new driver). Each press is within the Tuya device.

General operation
Seems functional
When open: Contact and door report open
When closed : Contact reports open, door reports closed

The wireless sensor is in a good position, with only a mm or two of separation. The wireless sensor always blinks when the magnets separate.

Open button pressed when door closed
The door opens
Does not stop on obstacle

Close button pressed when door is open
The door closes
Will start closing when beam is blocked, but will stop shortly after and reverse. Will reverse if beam is blocked while closing. The door ended up open, but the contact and door showed closed after this.

Movement state / half open
Pressed close
-began closing
Pressed open
-stopped half way
Pressed close
-opened
Contact and door showed closed

Logs part 1

Summary


dev:345
2022-06-18 02:42:36.124 pm infoGarage Door Garage Door contact is open (digital)

dev:3452022-06-18 02:42:36.122 pm infoGarage Door Garage Door door is open

dev:3452022-06-18 02:42:32.670 pm infoGarage Door Garage Door contact is closed (physical)

dev:3452022-06-18 02:42:32.669 pm traceGarage Door Tuya cluster dp_id=1 dp=3 fncmd=1

dev:3452022-06-18 02:42:32.666 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00E40301000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, E4, 03, 01, 00, 01, 01]]

dev:3452022-06-18 02:42:32.663 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00E40301000101

dev:3452022-06-18 02:42:32.340 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, E2, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:42:32.339 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:42:32.335 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00E20202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, E2, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:42:32.333 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00E20202000400000000

dev:3452022-06-18 02:42:32.288 pm infoGarage Door Garage Door switch is off (physical)

dev:3452022-06-18 02:42:32.287 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=0

dev:3452022-06-18 02:42:32.284 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00E10101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, E1, 01, 01, 00, 01, 00]]

dev:3452022-06-18 02:42:32.281 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00E10101000100

dev:3452022-06-18 02:42:32.232 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:42:32.229 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:42:32.227 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:42:32.158 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000100}, delay 2000]

dev:3452022-06-18 02:42:32.156 pm debugGarage Door Turning the relay OFF

dev:3452022-06-18 02:42:32.155 pm debugGarage Door pulseOff()

dev:3452022-06-18 02:42:31.352 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, DF, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:42:31.351 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:42:31.348 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00DF0202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, DF, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:42:31.345 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00DF0202000400000000

dev:3452022-06-18 02:42:31.299 pm infoGarage Door Garage Door switch is on (physical)

dev:3452022-06-18 02:42:31.297 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=1

dev:3452022-06-18 02:42:31.294 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00DE0101000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, DE, 01, 01, 00, 01, 01]]

dev:3452022-06-18 02:42:31.292 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00DE0101000101

dev:3452022-06-18 02:42:31.237 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:42:31.234 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:42:31.231 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:42:31.174 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000101}, delay 2000]

dev:3452022-06-18 02:42:31.171 pm debugGarage Door Turning the relay ON

dev:3452022-06-18 02:42:31.133 pm debugGarage Door pulseOn()

dev:3452022-06-18 02:42:31.102 pm infoGarage Door Garage Door door is opening

dev:3452022-06-18 02:42:31.101 pm debugGarage Door open()

dev:3452022-06-18 02:41:47.079 pm infoGarage Door Tuya report: Door Status is 2

dev:3452022-06-18 02:41:47.078 pm traceGarage Door Tuya cluster dp_id=4 dp=12 fncmd=2

dev:3452022-06-18 02:41:47.075 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00B10C04000102, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, B1, 0C, 04, 00, 01, 02]]

dev:3452022-06-18 02:41:47.072 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00B10C04000102

dev:3452022-06-18 02:41:47.026 pm infoGarage Door Garage Door contact is open (physical)

dev:3452022-06-18 02:41:47.025 pm traceGarage Door Tuya cluster dp_id=1 dp=3 fncmd=0

dev:3452022-06-18 02:41:47.022 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00B00301000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, B0, 03, 01, 00, 01, 00]]

dev:3452022-06-18 02:41:47.019 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00B00301000100

dev:3452022-06-18 02:41:40.536 pm infoGarage Door Garage Door contact is closed (digital)

dev:3452022-06-18 02:41:40.534 pm infoGarage Door Garage Door door is closed

dev:3452022-06-18 02:41:36.741 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, A5, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:41:36.739 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:41:36.736 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00A50202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, A5, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:41:36.733 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00A50202000400000000

dev:3452022-06-18 02:41:36.689 pm infoGarage Door Garage Door switch is off (physical)

dev:3452022-06-18 02:41:36.688 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=0

dev:3452022-06-18 02:41:36.685 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00A40101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, A4, 01, 01, 00, 01, 00]]

dev:3452022-06-18 02:41:36.682 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00A40101000100

dev:3452022-06-18 02:41:36.628 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:41:36.625 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:41:36.622 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:41:36.566 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000100}, delay 2000]

dev:3452022-06-18 02:41:36.564 pm debugGarage Door Turning the relay OFF

dev:3452022-06-18 02:41:36.564 pm debugGarage Door pulseOff()

dev:3452022-06-18 02:41:35.771 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, A2, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:41:35.769 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:41:35.766 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00A20202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, A2, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:41:35.763 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00A20202000400000000

dev:3452022-06-18 02:41:35.709 pm infoGarage Door Garage Door switch is on (physical)

dev:3452022-06-18 02:41:35.708 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=1

dev:3452022-06-18 02:41:35.705 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00A10101000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, A1, 01, 01, 00, 01, 01]]

dev:3452022-06-18 02:41:35.702 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00A10101000101

dev:3452022-06-18 02:41:35.649 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:41:35.646 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:41:35.643 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:41:35.581 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000101}, delay 2000]

dev:3452022-06-18 02:41:35.579 pm debugGarage Door Turning the relay ON

dev:3452022-06-18 02:41:35.541 pm debugGarage Door pulseOn()

dev:3452022-06-18 02:41:35.514 pm infoGarage Door Garage Door door is closing

dev:3452022-06-18 02:41:35.513 pm debugGarage Door close()

dev:3452022-06-18 02:41:07.367 pm infoGarage Door Garage Door contact is open (digital)

dev:3452022-06-18 02:41:07.364 pm infoGarage Door Garage Door door is open

dev:3452022-06-18 02:41:03.935 pm infoGarage Door Garage Door contact is closed (physical)

dev:3452022-06-18 02:41:03.933 pm traceGarage Door Tuya cluster dp_id=1 dp=3 fncmd=1

dev:3452022-06-18 02:41:03.930 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00800301000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 80, 03, 01, 00, 01, 01]]

dev:3452022-06-18 02:41:03.927 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00800301000101

dev:3452022-06-18 02:41:03.600 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, 7F, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:41:03.598 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:41:03.595 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 007F0202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 7F, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:41:03.592 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 007F0202000400000000

dev:3452022-06-18 02:41:03.543 pm infoGarage Door Garage Door switch is off (physical)

dev:3452022-06-18 02:41:03.541 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=0

dev:3452022-06-18 02:41:03.538 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 007E0101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 7E, 01, 01, 00, 01, 00]]

dev:3452022-06-18 02:41:03.535 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 007E0101000100

dev:3452022-06-18 02:41:03.481 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:41:03.478 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:41:03.473 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:41:03.410 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000100}, delay 2000]

dev:3452022-06-18 02:41:03.408 pm debugGarage Door Turning the relay OFF

dev:3452022-06-18 02:41:03.407 pm debugGarage Door pulseOff()

dev:3452022-06-18 02:41:02.618 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, 7C, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:41:02.616 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:41:02.613 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 007C0202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 7C, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:41:02.610 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 007C0202000400000000

dev:3452022-06-18 02:41:02.569 pm infoGarage Door Garage Door switch is on (physical)

dev:3452022-06-18 02:41:02.566 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=1

dev:3452022-06-18 02:41:02.562 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 007B0101000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 7B, 01, 01, 00, 01, 01]]

dev:3452022-06-18 02:41:02.557 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 007B0101000101

dev:3452022-06-18 02:41:02.491 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:41:02.487 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:41:02.484 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:41:02.427 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000101}, delay 2000]

dev:3452022-06-18 02:41:02.423 pm debugGarage Door Turning the relay ON

dev:3452022-06-18 02:41:02.386 pm debugGarage Door pulseOn()

dev:3452022-06-18 02:41:02.344 pm infoGarage Door Garage Door door is opening

dev:3452022-06-18 02:41:02.342 pm debugGarage Door open()

dev:3452022-06-18 02:40:26.161 pm debugGarage Door parse: description is read attr - raw: 09880100001801002046E2FF2036E4FF2000, dni: 0988, endpoint: 01, cluster: 0000, size: 18, attrId: 0001, encoding: 20, command: 0A, value: 46E2FF2036E4FF2000

dev:3452022-06-18 02:40:24.297 pm infoGarage Door Updated...

dev:3452022-06-18 02:40:24.296 pm infoGarage Door description logging is: true

dev:3452022-06-18 02:40:24.294 pm infoGarage Door debug logging is: true

1 Like

Logs part 2

Summary

dev:3452022-06-18 02:46:10.243 pm infoGarage Door debug logging is: false

dev:3452022-06-18 02:45:59.045 pm infoGarage Door Garage Door contact is open (digital)

dev:3452022-06-18 02:45:59.042 pm infoGarage Door Garage Door door is open

dev:3452022-06-18 02:45:55.678 pm debugGarage Door parse: description is read attr - raw: 09880100001801002046E2FF2036E4FF2000, dni: 0988, endpoint: 01, cluster: 0000, size: 18, attrId: 0001, encoding: 20, command: 0A, value: 46E2FF2036E4FF2000

dev:3452022-06-18 02:45:55.606 pm infoGarage Door Garage Door contact is closed (physical)

dev:3452022-06-18 02:45:55.605 pm traceGarage Door Tuya cluster dp_id=1 dp=3 fncmd=1

dev:3452022-06-18 02:45:55.602 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00C70301000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, C7, 03, 01, 00, 01, 01]]

dev:3452022-06-18 02:45:55.600 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00C70301000101

dev:3452022-06-18 02:45:55.260 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, C6, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:45:55.259 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:45:55.256 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00C60202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, C6, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:45:55.253 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00C60202000400000000

dev:3452022-06-18 02:45:55.209 pm infoGarage Door Garage Door switch is off (physical)

dev:3452022-06-18 02:45:55.208 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=0

dev:3452022-06-18 02:45:55.205 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00C50101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, C5, 01, 01, 00, 01, 00]]

dev:3452022-06-18 02:45:55.202 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00C50101000100

dev:3452022-06-18 02:45:55.153 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:45:55.150 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:45:55.148 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:45:55.082 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000100}, delay 2000]

dev:3452022-06-18 02:45:55.081 pm debugGarage Door Turning the relay OFF

dev:3452022-06-18 02:45:55.080 pm debugGarage Door pulseOff()

dev:3452022-06-18 02:45:54.294 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, C3, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:45:54.293 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:45:54.290 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00C30202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, C3, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:45:54.287 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00C30202000400000000

dev:3452022-06-18 02:45:54.221 pm infoGarage Door Garage Door switch is on (physical)

dev:3452022-06-18 02:45:54.219 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=1

dev:3452022-06-18 02:45:54.216 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00C20101000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, C2, 01, 01, 00, 01, 01]]

dev:3452022-06-18 02:45:54.214 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00C20101000101

dev:3452022-06-18 02:45:54.161 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:45:54.157 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:45:54.155 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:45:54.100 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000101}, delay 2000]

dev:3452022-06-18 02:45:54.098 pm debugGarage Door Turning the relay ON

dev:3452022-06-18 02:45:54.059 pm debugGarage Door pulseOn()

dev:3452022-06-18 02:45:54.024 pm infoGarage Door Garage Door door is opening

dev:3452022-06-18 02:45:54.023 pm debugGarage Door open()

dev:3452022-06-18 02:45:45.039 pm infoGarage Door Tuya report: Door Status is 2

dev:3452022-06-18 02:45:45.038 pm traceGarage Door Tuya cluster dp_id=4 dp=12 fncmd=2

dev:3452022-06-18 02:45:45.035 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00B70C04000102, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, B7, 0C, 04, 00, 01, 02]]

dev:3452022-06-18 02:45:45.032 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00B70C04000102

dev:3452022-06-18 02:45:44.989 pm infoGarage Door Garage Door contact is open (physical)

dev:3452022-06-18 02:45:44.987 pm traceGarage Door Tuya cluster dp_id=1 dp=3 fncmd=0

dev:3452022-06-18 02:45:44.984 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00B60301000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, B6, 03, 01, 00, 01, 00]]

dev:3452022-06-18 02:45:44.982 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00B60301000100

dev:3452022-06-18 02:45:38.561 pm infoGarage Door Garage Door contact is closed (digital)

dev:3452022-06-18 02:45:38.559 pm infoGarage Door Garage Door door is closed

dev:3452022-06-18 02:45:34.763 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, AB, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:45:34.762 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:45:34.759 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00AB0202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, AB, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:45:34.756 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00AB0202000400000000

dev:3452022-06-18 02:45:34.711 pm infoGarage Door Garage Door switch is off (physical)

dev:3452022-06-18 02:45:34.710 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=0

dev:3452022-06-18 02:45:34.707 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00AA0101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, AA, 01, 01, 00, 01, 00]]

dev:3452022-06-18 02:45:34.704 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00AA0101000100

dev:3452022-06-18 02:45:34.649 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:45:34.646 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:45:34.644 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:45:34.588 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000100}, delay 2000]

dev:3452022-06-18 02:45:34.586 pm debugGarage Door Turning the relay OFF

dev:3452022-06-18 02:45:34.585 pm debugGarage Door pulseOff()

dev:3452022-06-18 02:45:33.793 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, A8, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:45:33.792 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:45:33.788 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00A80202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, A8, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:45:33.785 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00A80202000400000000

dev:3452022-06-18 02:45:33.732 pm infoGarage Door Garage Door switch is on (physical)

dev:3452022-06-18 02:45:33.731 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=1

dev:3452022-06-18 02:45:33.726 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00A70101000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, A7, 01, 01, 00, 01, 01]]

dev:3452022-06-18 02:45:33.723 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00A70101000101

dev:3452022-06-18 02:45:33.682 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:45:33.679 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:45:33.677 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:45:33.603 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000101}, delay 2000]

dev:3452022-06-18 02:45:33.602 pm debugGarage Door Turning the relay ON

dev:3452022-06-18 02:45:33.564 pm debugGarage Door pulseOn()

dev:3452022-06-18 02:45:33.537 pm infoGarage Door Garage Door door is closing

dev:3452022-06-18 02:45:33.536 pm debugGarage Door close()

dev:3452022-06-18 02:45:05.402 pm infoGarage Door Garage Door contact is closed (digital)

dev:3452022-06-18 02:45:05.400 pm infoGarage Door Garage Door door is closed

dev:3452022-06-18 02:45:01.618 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, 86, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:45:01.617 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:45:01.614 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00860202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 86, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:45:01.611 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00860202000400000000

dev:3452022-06-18 02:45:01.551 pm infoGarage Door Garage Door switch is off (physical)

dev:3452022-06-18 02:45:01.550 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=0

dev:3452022-06-18 02:45:01.547 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00850101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 85, 01, 01, 00, 01, 00]]

dev:3452022-06-18 02:45:01.545 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00850101000100

dev:3452022-06-18 02:45:01.487 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:45:01.484 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:45:01.481 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:45:01.426 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000100}, delay 2000]

dev:3452022-06-18 02:45:01.424 pm debugGarage Door Turning the relay OFF

dev:3452022-06-18 02:45:01.423 pm debugGarage Door pulseOff()

dev:3452022-06-18 02:45:00.654 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, 83, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:45:00.653 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:45:00.649 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00830202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 83, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:45:00.646 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00830202000400000000

dev:3452022-06-18 02:45:00.623 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:45:00.608 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:45:00.605 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:45:00.597 pm infoGarage Door Garage Door switch is on (physical)

dev:3452022-06-18 02:45:00.596 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=1

dev:3452022-06-18 02:45:00.592 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00820101000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 82, 01, 01, 00, 01, 01]]

dev:3452022-06-18 02:45:00.589 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00820101000101

dev:3452022-06-18 02:45:00.443 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000101}, delay 2000]

dev:3452022-06-18 02:45:00.441 pm debugGarage Door Turning the relay ON

dev:3452022-06-18 02:45:00.403 pm debugGarage Door pulseOn()

dev:3452022-06-18 02:45:00.376 pm infoGarage Door Garage Door door is closing

dev:3452022-06-18 02:45:00.375 pm debugGarage Door close()

dev:3452022-06-18 02:44:53.138 pm infoGarage Door Garage Door contact is open (digital)

dev:3452022-06-18 02:44:53.135 pm infoGarage Door Garage Door door is open

dev:3452022-06-18 02:44:49.367 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, 76, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:44:49.366 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:44:49.363 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00760202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 76, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:44:49.360 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00760202000400000000

dev:3452022-06-18 02:44:49.315 pm infoGarage Door Garage Door switch is off (physical)

dev:3452022-06-18 02:44:49.314 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=0

dev:3452022-06-18 02:44:49.311 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00750101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 75, 01, 01, 00, 01, 00]]

dev:3452022-06-18 02:44:49.308 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00750101000100

dev:3452022-06-18 02:44:49.258 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:44:49.255 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:44:49.252 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:44:49.183 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000100}, delay 2000]

dev:3452022-06-18 02:44:49.177 pm debugGarage Door Turning the relay OFF

dev:3452022-06-18 02:44:49.176 pm debugGarage Door pulseOff()

dev:3452022-06-18 02:44:48.370 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, 73, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:44:48.369 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:44:48.366 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00730202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 73, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:44:48.363 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00730202000400000000

dev:3452022-06-18 02:44:48.315 pm infoGarage Door Garage Door switch is on (physical)

dev:3452022-06-18 02:44:48.314 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=1

dev:3452022-06-18 02:44:48.311 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00720101000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 72, 01, 01, 00, 01, 01]]

dev:3452022-06-18 02:44:48.308 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00720101000101

dev:3452022-06-18 02:44:48.255 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:44:48.252 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:44:48.250 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:44:48.206 pm infoGarage Door Garage Door contact is closed (digital)

dev:3452022-06-18 02:44:48.204 pm infoGarage Door Garage Door door is closed

dev:3452022-06-18 02:44:48.192 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000101}, delay 2000]

dev:3452022-06-18 02:44:48.191 pm debugGarage Door Turning the relay ON

dev:3452022-06-18 02:44:48.156 pm debugGarage Door pulseOn()

dev:3452022-06-18 02:44:48.116 pm infoGarage Door Garage Door door is opening

dev:3452022-06-18 02:44:48.115 pm debugGarage Door open()

dev:3452022-06-18 02:44:44.244 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:44:44.242 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:44:44.239 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:44:44.180 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000100}, delay 2000]

dev:3452022-06-18 02:44:44.178 pm debugGarage Door Turning the relay OFF

dev:3452022-06-18 02:44:44.177 pm debugGarage Door pulseOff()

dev:3452022-06-18 02:44:43.579 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, 6C, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:44:43.578 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:44:43.574 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 006C0202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 6C, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:44:43.572 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 006C0202000400000000

dev:3452022-06-18 02:44:43.333 pm infoGarage Door Garage Door switch is on (physical)

dev:3452022-06-18 02:44:43.331 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=1

dev:3452022-06-18 02:44:43.327 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 006B0101000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 6B, 01, 01, 00, 01, 01]]

dev:3452022-06-18 02:44:43.321 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 006B0101000101

dev:3452022-06-18 02:44:43.258 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:44:43.255 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:44:43.253 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:44:43.194 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000101}, delay 2000]

dev:3452022-06-18 02:44:43.193 pm debugGarage Door Turning the relay ON

dev:3452022-06-18 02:44:43.155 pm debugGarage Door pulseOn()

dev:3452022-06-18 02:44:43.127 pm infoGarage Door Garage Door door is closing

dev:3452022-06-18 02:44:43.126 pm debugGarage Door close()

dev:3452022-06-18 02:44:02.238 pm infoGarage Door Garage Door contact is closed (digital)

dev:3452022-06-18 02:44:02.236 pm infoGarage Door Garage Door door is closed

dev:3452022-06-18 02:43:58.448 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, 3D, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:43:58.447 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:43:58.443 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 003D0202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 3D, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:43:58.441 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 003D0202000400000000

dev:3452022-06-18 02:43:58.398 pm infoGarage Door Garage Door switch is off (physical)

dev:3452022-06-18 02:43:58.397 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=0

dev:3452022-06-18 02:43:58.394 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 003C0101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 3C, 01, 01, 00, 01, 00]]

dev:3452022-06-18 02:43:58.391 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 003C0101000100

dev:3452022-06-18 02:43:58.342 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:43:58.339 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:43:58.336 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:43:58.274 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000100}, delay 2000]

dev:3452022-06-18 02:43:58.272 pm debugGarage Door Turning the relay OFF

dev:3452022-06-18 02:43:58.271 pm debugGarage Door pulseOff()

dev:3452022-06-18 02:43:57.360 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:43:57.356 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:43:57.354 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:43:57.295 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000101}, delay 2000]

dev:3452022-06-18 02:43:57.293 pm debugGarage Door Turning the relay ON

dev:3452022-06-18 02:43:57.253 pm debugGarage Door pulseOn()

dev:3452022-06-18 02:43:57.216 pm infoGarage Door Garage Door door is closing

dev:3452022-06-18 02:43:57.215 pm debugGarage Door close()

dev:3452022-06-18 02:43:39.932 pm infoGarage Door Garage Door contact is closed (digital)

dev:3452022-06-18 02:43:39.930 pm infoGarage Door Garage Door door is closed

dev:3452022-06-18 02:43:36.145 pm warnGarage Door NOT PROCESSED Tuya cmd: dp=2 value=0 descMap.data = [00, 25, 02, 02, 00, 04, 00, 00, 00, 00]

dev:3452022-06-18 02:43:36.144 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-18 02:43:36.141 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00250202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 25, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-18 02:43:36.138 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00250202000400000000

dev:3452022-06-18 02:43:36.093 pm infoGarage Door Garage Door switch is off (physical)

dev:3452022-06-18 02:43:36.092 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=0

dev:3452022-06-18 02:43:36.089 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00240101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 24, 01, 01, 00, 01, 00]]

dev:3452022-06-18 02:43:36.087 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00240101000100

dev:3452022-06-18 02:43:36.030 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:43:36.027 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:43:36.025 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:43:35.959 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000100}, delay 2000]

dev:3452022-06-18 02:43:35.958 pm debugGarage Door Turning the relay OFF

dev:3452022-06-18 02:43:35.957 pm debugGarage Door pulseOff()

dev:3452022-06-18 02:43:35.065 pm warnGarage Door NOT PROCESSED COMMANDTuya cmd 0B : dp=null value=null descMap.data = [00, 00]

dev:3452022-06-18 02:43:35.062 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-18 02:43:35.060 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-18 02:43:34.979 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000101}, delay 2000]

dev:3452022-06-18 02:43:34.977 pm debugGarage Door Turning the relay ON

dev:3452022-06-18 02:43:34.938 pm debugGarage Door pulseOn()

dev:3452022-06-18 02:43:34.910 pm infoGarage Door Garage Door door is closing

dev:3452022-06-18 02:43:34.909 pm debugGarage Door close()

dev:3452022-06-18 02:43:00.561 pm debugGarage Door parse: description is read attr - raw: 09880100001801002046E2FF2036E4FF2000, dni: 0988, endpoint: 01, cluster: 0000, size: 18, attrId: 0001, encoding: 20, command: 0A, value: 46E2FF2036E4FF2000

Thank you for the logs, @oturn
I have analyzed them and will make some corrections tomorrow. The major one is that the contact status is inverted at the moment.

I see from the logs that a full Open->Close door movement takes about 12 seconds. I suppose that opening the door from fully closed should take approximately the same time. But I will make the door close timeout configurable, as this time varies with the different doors.

I have uploaded the release candidate version 1.0.1. The major changes are:

  • fixed Contact status open/close (it was reversed in the first version)
  • contact open/closed status now determines the door state, i.e. the door state can not be 'closed' if the sensor state is open and vice versa...
  • added doorTimeout preference, default 15s. This timer is used to determine the fully 'open' state. The same timer with 20% safe tolerance is used for timing out the door closing operation.
  • improved debug logging;
  • added PowerSource capability (used as a workaround for the known HE bug where the 'Last Activity At' timestamp is not updated by any messages received from the device, except an Event is sent to HE hub).

I have implemented anything from my TODO list for this driver, hope it will be working OK with the actual LoraTap controller. If any issues or questions, please let me know.

1 Like

Fantastic! Thank you for your work on this. The contact and door states are reporting correctly now. I’ll send an update later once I’ve used it more.

2 Likes

Currently if the door is closed and it receives a close command, it will open. If it’s open and receives an open command, it will close. This frequently causes automations to have the opposite effect. For example, I have an automation set to close the door at sunset. If the door happens to already be closed, it will open instead.

Summary

dev:3452022-06-19 10:30:11.204 pm infoGarage Door Updated...

dev:3452022-06-19 10:30:11.203 pm infoGarage Door description logging is: true

dev:3452022-06-19 10:30:11.201 pm infoGarage Door debug logging is: false

dev:3452022-06-19 10:29:58.964 pm warnGarage Door open failed, contact sensor is still closed!

dev:3452022-06-19 10:29:58.962 pm infoGarage Door Garage Door door is closed

dev:3452022-06-19 10:29:55.611 pm infoGarage Door Tuya report: Door status is CLOSED

dev:3452022-06-19 10:29:55.607 pm traceGarage Door Tuya cluster dp_id=4 dp=12 fncmd=2

dev:3452022-06-19 10:29:55.604 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00530C04000102, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 53, 0C, 04, 00, 01, 02]]

dev:3452022-06-19 10:29:55.597 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00530C04000102

dev:3452022-06-19 10:29:55.544 pm warnGarage Door Contact changed to 'closed' during door 'open' command?

dev:3452022-06-19 10:29:55.542 pm infoGarage Door Garage Door contact is closed (physical)

dev:3452022-06-19 10:29:55.540 pm traceGarage Door Tuya cluster dp_id=1 dp=3 fncmd=0

dev:3452022-06-19 10:29:55.537 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00520301000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 52, 03, 01, 00, 01, 00]]

dev:3452022-06-19 10:29:55.533 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00520301000100

dev:3452022-06-19 10:29:45.206 pm debugGarage Door received confirmation report dp_id=2 dp=2 fncmd=0

dev:3452022-06-19 10:29:45.205 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-19 10:29:45.201 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00470202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 47, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-19 10:29:45.197 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00470202000400000000

dev:3452022-06-19 10:29:45.154 pm infoGarage Door Garage Door switch is off (physical)

dev:3452022-06-19 10:29:45.152 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=0

dev:3452022-06-19 10:29:45.134 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00460101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 46, 01, 01, 00, 01, 00]]

dev:3452022-06-19 10:29:45.131 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00460101000100

dev:3452022-06-19 10:29:45.079 pm debugGarage Door device received Tuya cluster ZCL command 0x0B response: 0x00 status: success data: [00, 00]

dev:3452022-06-19 10:29:45.076 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-19 10:29:45.073 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-19 10:29:44.999 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000100}, delay 2000]

dev:3452022-06-19 10:29:44.997 pm debugGarage Door Turning the relay OFF

dev:3452022-06-19 10:29:44.996 pm debugGarage Door pulseOff()

dev:3452022-06-19 10:29:44.225 pm debugGarage Door received confirmation report dp_id=2 dp=2 fncmd=0

dev:3452022-06-19 10:29:44.223 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-19 10:29:44.219 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00440202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 44, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-19 10:29:44.216 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00440202000400000000

dev:3452022-06-19 10:29:44.159 pm infoGarage Door Garage Door switch is on (physical)

dev:3452022-06-19 10:29:44.158 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=1

dev:3452022-06-19 10:29:44.154 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00430101000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, 43, 01, 01, 00, 01, 01]]

dev:3452022-06-19 10:29:44.150 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00430101000101

dev:3452022-06-19 10:29:44.020 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000101}, delay 2000]

dev:3452022-06-19 10:29:44.018 pm debugGarage Door Turning the relay ON

dev:3452022-06-19 10:29:43.977 pm debugGarage Door pulseOn()

dev:3452022-06-19 10:29:43.924 pm infoGarage Door Garage Door door is opening

dev:3452022-06-19 10:29:43.922 pm debugGarage Door opening (door was open , contact was open)

dev:3452022-06-19 10:28:52.042 pm warnGarage Door closing failed, contact sensor is still open!

dev:3452022-06-19 10:28:52.040 pm infoGarage Door Garage Door door is open

dev:3452022-06-19 10:28:37.312 pm debugGarage Door Tuya check-in: [raw:09880100001801002046E2FF2036E4FF2000, dni:0988, endpoint:01, cluster:0000, size:18, attrId:0001, encoding:20, command:0A, value:46, clusterInt:0, attrInt:1, additionalAttrs:[[value:36, encoding:20, attrId:FFE2, consumedBytes:4, attrInt:65506], [value:00, encoding:20, attrId:FFE4, consumedBytes:4, attrInt:65508]]]

dev:3452022-06-19 10:28:37.306 pm debugGarage Door parse: description is read attr - raw: 09880100001801002046E2FF2036E4FF2000, dni: 0988, endpoint: 01, cluster: 0000, size: 18, attrId: 0001, encoding: 20, command: 0A, value: 46E2FF2036E4FF2000

dev:3452022-06-19 10:28:35.595 pm warnGarage Door Contact changed to 'open' during door 'close' command?

dev:3452022-06-19 10:28:35.592 pm infoGarage Door Garage Door contact is open (physical)

dev:3452022-06-19 10:28:35.591 pm traceGarage Door Tuya cluster dp_id=1 dp=3 fncmd=1

dev:3452022-06-19 10:28:35.587 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00FE0301000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, FE, 03, 01, 00, 01, 01]]

dev:3452022-06-19 10:28:35.584 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00FE0301000101

dev:3452022-06-19 10:28:35.262 pm debugGarage Door received confirmation report dp_id=2 dp=2 fncmd=0

dev:3452022-06-19 10:28:35.261 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-19 10:28:35.258 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00FC0202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, FC, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-19 10:28:35.255 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00FC0202000400000000

dev:3452022-06-19 10:28:35.198 pm infoGarage Door Garage Door switch is off (physical)

dev:3452022-06-19 10:28:35.197 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=0

dev:3452022-06-19 10:28:35.194 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00FB0101000100, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, FB, 01, 01, 00, 01, 00]]

dev:3452022-06-19 10:28:35.191 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00FB0101000100

dev:3452022-06-19 10:28:35.143 pm debugGarage Door device received Tuya cluster ZCL command 0x0B response: 0x00 status: success data: [00, 00]

dev:3452022-06-19 10:28:35.138 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-19 10:28:35.135 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-19 10:28:35.064 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000100}, delay 2000]

dev:3452022-06-19 10:28:35.062 pm debugGarage Door Turning the relay OFF

dev:3452022-06-19 10:28:35.061 pm debugGarage Door pulseOff()

dev:3452022-06-19 10:28:34.282 pm debugGarage Door received confirmation report dp_id=2 dp=2 fncmd=0

dev:3452022-06-19 10:28:34.280 pm traceGarage Door Tuya cluster dp_id=2 dp=2 fncmd=0

dev:3452022-06-19 10:28:34.276 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00F90202000400000000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, F9, 02, 02, 00, 04, 00, 00, 00, 00]]

dev:3452022-06-19 10:28:34.271 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00F90202000400000000

dev:3452022-06-19 10:28:34.215 pm infoGarage Door Garage Door switch is on (physical)

dev:3452022-06-19 10:28:34.213 pm traceGarage Door Tuya cluster dp_id=1 dp=1 fncmd=1

dev:3452022-06-19 10:28:34.210 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00F80101000101, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:02, direction:01, data:[00, F8, 01, 01, 00, 01, 01]]

dev:3452022-06-19 10:28:34.207 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 01 00 0000 02 01 00F80101000101

dev:3452022-06-19 10:28:34.158 pm debugGarage Door device received Tuya cluster ZCL command 0x0B response: 0x00 status: success data: [00, 00]

dev:3452022-06-19 10:28:34.153 pm debugGarage Door parse Tuya Cluster: descMap = [raw:catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:0988, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:3452022-06-19 10:28:34.150 pm debugGarage Door parse: description is catchall: 0104 EF00 01 01 0040 00 0988 00 00 0000 0B 01 0000

dev:3452022-06-19 10:28:34.073 pm traceGarage Door sendZigbeeCommands received : [he cmd 0x0988 0x01 0xEF00 0x00 {00010101000101}, delay 2000]

dev:3452022-06-19 10:28:34.071 pm debugGarage Door Turning the relay ON

dev:3452022-06-19 10:28:34.040 pm debugGarage Door pulseOn()

dev:3452022-06-19 10:28:34.000 pm infoGarage Door Garage Door door is closing

dev:3452022-06-19 10:28:33.999 pm debugGarage Door closing (door was closed , contact was closed)

dev:3452022-06-19 10:28:06.568 pm infoGarage Door Updated...

dev:3452022-06-19 10:28:06.567 pm infoGarage Door description logging is: true

1 Like

Version 1.0.2 : ignore Open command if the sensor is open; ignore Close command if the sensor is closed.

Summary

dev:23052022-06-20 07:50:38.862 warnGarage Door ignoring Open command (door was open , contact was open)
......
dev:23052022-06-20 07:51:34.870 warnGarage Door ignoring Close command (door was closed , contact was closed)

2 Likes

Your last driver changes are working great. The only thing I’m seeing at the moment are occasional “ignoring Open command (door was opening , contact was open)” warnings in the logs. This happens when the door is closed and receives a single open command. It doesn’t happen every time, and when it does the open command has always completed successfully. I don’t have debug logs for this one. The open command is coming from Homebridge. The logs I attached include opening the door with a physical remote control, a proximity close command triggered by Homebridge (HomeKit), then a proximity open command triggered by Homebridge, then finally closing the door with a physical button.

Summary

dev:3452022-06-21 11:57:46.750 am infoGarage Door Garage Door door is closed

dev:3452022-06-21 11:57:46.630 am infoGarage Door Garage Door contact is closed (physical)

dev:3452022-06-21 11:56:08.672 am infoGarage Door Garage Door door is open

dev:3452022-06-21 11:56:01.349 am warnGarage Door ignoring Open command (door was opening , contact was open)

dev:3452022-06-21 11:55:55.326 am infoGarage Door Garage Door contact is open (physical)

dev:3452022-06-21 11:55:53.636 am infoGarage Door Garage Door door is opening

dev:3452022-06-21 11:05:14.055 am infoGarage Door Garage Door door is closed

dev:3452022-06-21 11:05:13.936 am infoGarage Door Garage Door contact is closed (physical)

dev:3452022-06-21 11:05:02.191 am infoGarage Door Garage Door door is closing

dev:3452022-06-21 11:03:36.578 am infoGarage Door Garage Door door is open

dev:3452022-06-21 11:03:36.450 am info

1 Like

Well that was pretty quick, 11 days.

Pics










Edit: One more pic added.

2 Likes

Have you started a thread yet for this device driver somewhere?
I loaded this 1.0.2 driver but it's not showing any states for the contact sensor.

Device

Contact Sensor: Open > Closed

Command: Open > Close > On

1 Like

I see where the problem is, will fix it later today (your tomorrow).

1 Like

@Ranchitat driver version 1.0.3 is now available:

  • 1.0.3 2022-06-26 - fixed new device exceptions bug; warnings in Debug logs only; Debug logs are off by default.

Please let me know if it works for you, I have done some testing using a virtual device only,

1 Like

Great! Thanks for the updates.

Logs

Current States

image

1 Like

Thanks everyone. I'll be ordering one of these shortly so I can get my garage door opener to be automated.