[Pre-release] Tuya Alarm driver

Had a little bit of time and wrote an initial driver for the Tuya Alarm device mentioned here:

Everything should work except battery level reports. Just haven’t seen the corresponding packets yet, I’m sure they’ll show up at some point.
There’s some issue with the device not properly detecting if it’s in battery mode or USB power mode, this is not an issue with the driver, this is a firmware/hardware issue. So far it has been resolved by itself within a minute or so.
There is a humidity and temperature alarm setting that can be set directly on the device. This feature is NOT implemented since the UI would be very odd and complex for this with the limitations of how drivers work in HE. It is probably best to just use automations to do these things instead anyway.

Please try it out and see what you think, it will be included in the next release of my drivers, but here it is for now:

Code removed - In the repo now

Tagging @Ranch and @MarkUK

3 Likes

I want! Are they on Ali express

They are, there’s a link from @Ranch in his post linked to above. These are by no means perfect devices, but they’re cool. There can be a delay of a second or two before the alarm activates/deactivates when the command is sent from HE. This seems to be due to the device being partially sleepy. Battery levels is still a mystery, not sure which of the unknown sets of packets they may be, two different ones might fit. In time when I have a battery with a lower level I’m sure I’ll know what is what.

Great work @markus! Now I can order a couple. Are they very loud?

At the loudest setting I wouldn’t want to be in the same room very long, but at the lowest you can sit next to it. They are not so loud that it’s uncomfortable if you’re a few meters away.

1 Like

Ah I might stay with my Google Home Notifications then they have a 1 second delay too

Thanks Markus, appreciate it!
Lights and noises are working but not getting any temp/humidity readings.
Sent Configure/Initialize/Refresh multiple times.
Tried resetting/re-pairing, removing/re-discovering multiple times.
Waited for 20 minutes.
Changed the Offset/Resolution settings.
Stuck it in the fridge for 20 minutes… nothing. :man_shrugging:

No Battery or PowerSource either.

Current States

current states

Device Details

How’s your logs looking like? These readings are sent from the device without having to configure it in any way for me. You might have a different version. The fingerprint you gave me earlier is different from mine.

The version of the driver in this post has a “Test” command. Please run that command, it sends the same commands to the device the Tuya gateway does at pairing. With that said, I don’t know what they do and for me everything works without them.

Code removed - In the repo now

Debug Logs, including *Test*

dev:11652020-11-21 06:13:39.306 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 6261 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:6261, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11652020-11-21 06:13:39.096 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 6261 00 00 0000 0B 01 0301, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:6261, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[03, 01]]

dev:11652020-11-21 06:13:38.929 pm infoUnhandled Event IGNORE THIS - description:catchall: 0104 0000 01 01 0040 00 6261 00 00 0000 0B 01 F081 | msgMap:[raw:catchall: 0104 0000 01 01 0040 00 6261 00 00 0000 0B 01 F081, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:6261, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[F0, 81]]

dev:11652020-11-21 06:13:38.529 pm infoUnhandled Event IGNORE THIS - description:catchall: 0104 0000 01 01 0040 00 6261 00 00 0000 04 01 86DEFF | msgMap:[raw:catchall: 0104 0000 01 01 0040 00 6261 00 00 0000 04 01 86DEFF, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:6261, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[86, DE, FF]]

dev:11652020-11-21 06:13:38.324 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 6261 00 00 0000 0B 01 0301, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:6261, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[03, 01]]

dev:11652020-11-21 06:13:37.991 pm infoUnhandled Event IGNORE THIS - description:catchall: 0104 0000 01 01 0040 00 6261 00 00 0000 0B 01 F081 | msgMap:[raw:catchall: 0104 0000 01 01 0040 00 6261 00 00 0000 0B 01 F081, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:6261, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[F0, 81]]

dev:11652020-11-21 06:13:37.748 pm infoUnhandled Event IGNORE THIS - description:catchall: 0104 0000 01 01 0040 00 6261 00 00 0000 0B 01 F081 | msgMap:[raw:catchall: 0104 0000 01 01 0040 00 6261 00 00 0000 0B 01 F081, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:6261, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[F0, 81]]

dev:11652020-11-21 06:13:37.500 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 6261 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:6261, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11652020-11-21 06:13:36.499 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 6261 00 00 0000 0B 01 0301, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:6261, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[03, 01]]

dev:11652020-11-21 06:13:35.644 pm infoUnhandled Event IGNORE THIS - description:catchall: 0104 0000 01 01 0040 00 6261 00 00 0000 04 01 86DEFF | msgMap:[raw:catchall: 0104 0000 01 01 0040 00 6261 00 00 0000 04 01 86DEFF, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:6261, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[86, DE, FF]]

dev:11652020-11-21 06:13:35.531 pm infoUnhandled Event IGNORE THIS - description:catchall: 0104 0000 01 01 0040 00 6261 00 00 0000 04 01 86DEFF | msgMap:[raw:catchall: 0104 0000 01 01 0040 00 6261 00 00 0000 04 01 86DEFF, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:6261, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[86, DE, FF]]

dev:11652020-11-21 06:13:30.700 pm infoDone with test()

dev:11652020-11-21 06:13:30.698 pm debugsendZigbeeCommands(cmd=[he wattr 0x6261 0x01 0x0000 0xFFDE 0x20 {13} {}, delay 199, he raw 0x6261 1 1 0x0000 {11E1F0}, delay 2001, he raw 0x6261 1 1 0xEF00 {11C203}, delay 2001, he cmd 0x6261 0x01 0xEF00 0x10 {0089}, delay 101])

dev:11652020-11-21 06:13:30.695 pm debugzigbeeSpecialCommand cmd=[he raw 0x6261 1 1 0xEF00 {11C203}, delay 2001]

dev:11652020-11-21 06:13:30.693 pm debugzigbeeSpecialCommand()

dev:11652020-11-21 06:13:30.691 pm debugzigbeeSpecialCommand cmd=[he raw 0x6261 1 1 0x0000 {11E1F0}, delay 2001]

dev:11652020-11-21 06:13:30.688 pm debugzigbeeSpecialCommand()

Of course… :sob:

This of any use?

Thanks, it is the exact same data being parsed there as it is in what I wrote. To me that indicates it should work as it is. At this point if you don’t get more logs than what you have above the only way to know more about your version of the device would be if you have a Tuya gateway and a Zigbee sniffer. There really should be more in your logs when you have Debug turned on.

Example debug logs:

Here’s “more”, probably not any more useful.
Anything specific I can supply just let me know.

Debug logs

dev:11662020-11-21 07:18:12.868 pm debugApplication ID Received

dev:11662020-11-21 07:18:12.278 pm debugApplication ID Received

dev:11662020-11-21 07:17:38.281 pm infoAlarm volume: low

dev:11662020-11-21 07:17:38.278 pm debugTuya Command Type: 7404

dev:11662020-11-21 07:17:38.275 pm debugTuya Status: [00, 8D, 74, 04, 00, 01, 02]

dev:11662020-11-21 07:17:37.924 pm infoAlarm volume: low

dev:11662020-11-21 07:17:37.921 pm debugTuya Command Type: 7404

dev:11662020-11-21 07:17:37.887 pm debugTuya Status: [00, 8C, 74, 04, 00, 01, 02]

dev:11662020-11-21 07:17:37.680 pm infoAlarm volume: low

dev:11662020-11-21 07:17:37.677 pm debugTuya Command Type: 7404

dev:11662020-11-21 07:17:37.674 pm debugTuya Status: [00, 8B, 74, 04, 00, 01, 02]

dev:11662020-11-21 07:17:37.391 pm infoAlarm type: 1

dev:11662020-11-21 07:17:37.388 pm debugTuya Command Type: 6604

dev:11662020-11-21 07:17:37.386 pm debugTuya Status: [00, 8A, 66, 04, 00, 01, 00]

dev:11662020-11-21 07:17:37.110 pm debugTuya Unknown Command: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 01 00 0000 01 01 00896A02000400000021, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:01, direction:01, data:[00, 89, 6A, 02, 00, 04, 00, 00, 00, 21]]

dev:11662020-11-21 07:17:36.881 pm infoAlarm length: 10

dev:11662020-11-21 07:17:36.879 pm debugTuya Command Type: 6702

dev:11662020-11-21 07:17:36.875 pm debugTuya Status: [00, 85, 67, 02, 00, 04, 00, 00, 00, 0A]

dev:11662020-11-21 07:17:36.579 pm debugManufacturer Name Received - description:read attr - raw: 1D9A0100002A040042105F5459535431315F6430797532786769, dni: 1D9A, endpoint: 01, cluster: 0000, size: 2A, attrId: 0004, encoding: 42, command: 01, value: 105F5459535431315F6430797532786769 | msgMap:[raw:1D9A0100002A040042105F5459535431315F6430797532786769, dni:1D9A, endpoint:01, cluster:0000, size:2A, attrId:0004, encoding:42, command:01, value:_TYST11_d0yu2xgi, clusterInt:0, attrInt:4]

dev:11662020-11-21 07:17:36.277 pm infoAlarm volume: low

dev:11662020-11-21 07:17:36.274 pm debugTuya Command Type: 7404

dev:11662020-11-21 07:17:36.271 pm debugTuya Status: [00, 79, 74, 04, 00, 01, 02]

dev:11662020-11-21 07:17:35.956 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:17:35.770 pm debugdirty model = 0yu2xgi, clean model=0yu2xgi

dev:11662020-11-21 07:17:35.767 pm debugModel Name Received - description:read attr - raw: 1D9A0100001A050042083079753278676900, dni: 1D9A, endpoint: 01, cluster: 0000, size: 1A, attrId: 0005, encoding: 42, command: 01, value: 083079753278676900 | msgMap:[raw:1D9A0100001A050042083079753278676900, dni:1D9A, endpoint:01, cluster:0000, size:1A, attrId:0005, encoding:42, command:01, value:0yu2xgi, clusterInt:0, attrInt:5]

dev:11662020-11-21 07:17:35.593 pm debugManufacturer Name Received - description:read attr - raw: 1D9A0100002A040042105F5459535431315F6430797532786769, dni: 1D9A, endpoint: 01, cluster: 0000, size: 2A, attrId: 0004, encoding: 42, command: 01, value: 105F5459535431315F6430797532786769 | msgMap:[raw:1D9A0100002A040042105F5459535431315F6430797532786769, dni:1D9A, endpoint:01, cluster:0000, size:2A, attrId:0004, encoding:42, command:01, value:_TYST11_d0yu2xgi, clusterInt:0, attrInt:4]

dev:11662020-11-21 07:17:35.200 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:17:34.933 pm debugdirty model = 0yu2xgi, clean model=0yu2xgi

dev:11662020-11-21 07:17:34.930 pm debugModel Name Received - description:read attr - raw: 1D9A0100001A050042083079753278676900, dni: 1D9A, endpoint: 01, cluster: 0000, size: 1A, attrId: 0005, encoding: 42, command: 01, value: 083079753278676900 | msgMap:[raw:1D9A0100001A050042083079753278676900, dni:1D9A, endpoint:01, cluster:0000, size:1A, attrId:0005, encoding:42, command:01, value:0yu2xgi, clusterInt:0, attrInt:5]

dev:11662020-11-21 07:17:34.389 pm infoAlarm length: 10

dev:11662020-11-21 07:17:34.387 pm debugTuya Command Type: 6702

dev:11662020-11-21 07:17:34.384 pm debugTuya Status: [00, 78, 67, 02, 00, 04, 00, 00, 00, 0A]

dev:11662020-11-21 07:17:34.121 pm debugTuya Unknown Command: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 01 00 0000 01 01 007769020004000000D4, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:true, isManufacturerSpecific:false, manufacturerId:0000, command:01, direction:01, data:[00, 77, 69, 02, 00, 04, 00, 00, 00, D4]]

dev:11662020-11-21 07:17:33.983 pm infoAlarm type: 1

dev:11662020-11-21 07:17:33.980 pm debugTuya Command Type: 6604

dev:11662020-11-21 07:17:33.977 pm debugTuya Status: [00, 88, 66, 04, 00, 01, 00]

dev:11662020-11-21 07:17:33.518 pm infoAlarm type: 1

dev:11662020-11-21 07:17:33.516 pm debugTuya Command Type: 6604

dev:11662020-11-21 07:17:33.513 pm debugTuya Status: [00, 87, 66, 04, 00, 01, 00]

dev:11662020-11-21 07:17:33.367 pm infoAlarm length: 10

dev:11662020-11-21 07:17:33.364 pm debugTuya Command Type: 6702

dev:11662020-11-21 07:17:33.362 pm debugTuya Status: [00, 86, 67, 02, 00, 04, 00, 00, 00, 0A]

dev:11662020-11-21 07:17:33.192 pm infoAlarm length: 10

dev:11662020-11-21 07:17:33.189 pm debugTuya Command Type: 6702

dev:11662020-11-21 07:17:33.187 pm debugTuya Status: [00, 84, 67, 02, 00, 04, 00, 00, 00, 0A]

dev:11662020-11-21 07:17:33.071 pm infoAlarm volume: low

dev:11662020-11-21 07:17:33.069 pm debugTuya Command Type: 7404

dev:11662020-11-21 07:17:33.067 pm debugTuya Status: [00, 83, 74, 04, 00, 01, 02]

dev:11662020-11-21 07:17:32.843 pm infoAlarm volume: low

dev:11662020-11-21 07:17:32.841 pm debugTuya Command Type: 7404

dev:11662020-11-21 07:17:32.838 pm debugTuya Status: [00, 82, 74, 04, 00, 01, 02]

dev:11662020-11-21 07:17:32.671 pm infoAlarm type: 1

dev:11662020-11-21 07:17:32.668 pm debugTuya Command Type: 6604

dev:11662020-11-21 07:17:32.666 pm debugTuya Status: [00, 81, 66, 04, 00, 01, 00]

dev:11662020-11-21 07:17:32.629 pm infoAlarm type: 1

dev:11662020-11-21 07:17:32.627 pm debugTuya Command Type: 6604

dev:11662020-11-21 07:17:32.624 pm debugTuya Status: [00, 80, 66, 04, 00, 01, 00]

dev:11662020-11-21 07:17:32.487 pm infoAlarm type: 1

dev:11662020-11-21 07:17:32.484 pm debugTuya Command Type: 6604

dev:11662020-11-21 07:17:32.481 pm debugTuya Status: [00, 7F, 66, 04, 00, 01, 00]

dev:11662020-11-21 07:17:32.412 pm infoAlarm length: 10

dev:11662020-11-21 07:17:32.410 pm debugTuya Command Type: 6702

dev:11662020-11-21 07:17:32.407 pm debugTuya Status: [00, 7E, 67, 02, 00, 04, 00, 00, 00, 0A]

dev:11662020-11-21 07:17:32.233 pm infoAlarm length: 10

dev:11662020-11-21 07:17:32.230 pm debugTuya Command Type: 6702

dev:11662020-11-21 07:17:32.227 pm debugTuya Status: [00, 7D, 67, 02, 00, 04, 00, 00, 00, 0A]

dev:11662020-11-21 07:17:32.096 pm infoAlarm length: 10

dev:11662020-11-21 07:17:32.094 pm debugTuya Command Type: 6702

dev:11662020-11-21 07:17:32.092 pm debugTuya Status: [00, 7C, 67, 02, 00, 04, 00, 00, 00, 0A]

dev:11662020-11-21 07:17:32.047 pm infoAlarm volume: low

dev:11662020-11-21 07:17:32.045 pm debugTuya Command Type: 7404

dev:11662020-11-21 07:17:32.042 pm debugTuya Status: [00, 7B, 74, 04, 00, 01, 02]

dev:11662020-11-21 07:17:31.885 pm infoAlarm volume: low

dev:11662020-11-21 07:17:31.882 pm debugTuya Command Type: 7404

dev:11662020-11-21 07:17:31.879 pm debugTuya Status: [00, 7A, 74, 04, 00, 01, 02]

dev:11662020-11-21 07:17:31.858 pm debugdirty model = 0yu2xgi, clean model=0yu2xgi

dev:11662020-11-21 07:17:31.855 pm debugModel Name Received - description:read attr - raw: 1D9A0100001A050042083079753278676900, dni: 1D9A, endpoint: 01, cluster: 0000, size: 1A, attrId: 0005, encoding: 42, command: 01, value: 083079753278676900 | msgMap:[raw:1D9A0100001A050042083079753278676900, dni:1D9A, endpoint:01, cluster:0000, size:1A, attrId:0005, encoding:42, command:01, value:0yu2xgi, clusterInt:0, attrInt:5]

dev:11662020-11-21 07:17:31.832 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:17:31.723 pm debugManufacturer Name Received - description:read attr - raw: 1D9A0100002A040042105F5459535431315F6430797532786769, dni: 1D9A, endpoint: 01, cluster: 0000, size: 2A, attrId: 0004, encoding: 42, command: 01, value: 105F5459535431315F6430797532786769 | msgMap:[raw:1D9A0100002A040042105F5459535431315F6430797532786769, dni:1D9A, endpoint:01, cluster:0000, size:2A, attrId:0004, encoding:42, command:01, value:_TYST11_d0yu2xgi, clusterInt:0, attrInt:4]

dev:11662020-11-21 07:17:28.257 pm infoPayload sent: 0014

dev:11662020-11-21 07:17:28.255 pm debugsendZigbeeCommands(cmd=[he cmd 0x1D9A 0x01 0xEF00 0x10 {0014}, delay 101])

dev:11662020-11-21 07:17:28.252 pm infoPayload sent: 00817001000101

dev:11662020-11-21 07:17:28.250 pm debugsendZigbeeCommands(cmd=[he cmd 0x1D9A 0x01 0xEF00 0x00 {00817001000101}, delay 101])

dev:11662020-11-21 07:17:28.247 pm infoPayload sent: 00A07404000102

dev:11662020-11-21 07:17:28.245 pm debugsendZigbeeCommands(cmd=[he cmd 0x1D9A 0x01 0xEF00 0x00 {00A07404000102}, delay 101])

dev:11662020-11-21 07:17:28.243 pm infoAlarm Volume Set: low

dev:11662020-11-21 07:17:28.240 pm infoPayload sent: 00D36604000100

dev:11662020-11-21 07:17:28.238 pm debugsendZigbeeCommands(cmd=[he cmd 0x1D9A 0x01 0xEF00 0x00 {00D36604000100}, delay 101])

dev:11662020-11-21 07:17:28.236 pm infosetAlarmType(type=1)

dev:11662020-11-21 07:17:28.233 pm infoAlarm Type Set: 1

dev:11662020-11-21 07:17:28.231 pm infoPayload sent: 00AA670200040000000A

dev:11662020-11-21 07:17:28.228 pm debugsendZigbeeCommands(cmd=[he cmd 0x1D9A 0x01 0xEF00 0x00 {00AA670200040000000A}, delay 101])

dev:11662020-11-21 07:17:28.226 pm infosetAlarmLength(length=10)

dev:11662020-11-21 07:17:28.224 pm infoAlarm Length Set: 10

dev:11662020-11-21 07:17:28.215 pm infoconfigureDevice()

dev:11662020-11-21 07:17:28.212 pm debugsendZigbeeCommands(cmd=[he raw 0x1D9A 1 0x01 0x0000 {10 00 00 05 00}, delay 2000])

dev:11662020-11-21 07:17:28.209 pm debugrefresh cmd: [he raw 0x1D9A 1 0x01 0x0000 {10 00 00 05 00}, delay 2000]

dev:11662020-11-21 07:17:28.193 pm debugsendZigbeeCommands(cmd=[he raw 0x1D9A 1 0x01 0x0000 {10 00 00 04 00}, delay 2000])

dev:11662020-11-21 07:17:28.186 pm debugrecoveryMode: Slow

dev:11662020-11-21 07:17:28.146 pm infoRecovery feature ENABLED

dev:11662020-11-21 07:17:28.143 pm debugstartCheckEventInterval()

dev:11662020-11-21 07:17:28.097 pm infogetDriverVersion() = v1.0.0.1122b

dev:11662020-11-21 07:17:28.094 pm debugrefresh() model=‘0yu2xgi’

dev:11662020-11-21 07:17:28.091 pm infoupdated()

dev:11662020-11-21 07:16:52.296 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:16:52.111 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:16:51.663 pm infoAlarm length: 10

dev:11662020-11-21 07:16:51.395 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:16:51.123 pm infoAlarm length: 10

dev:11662020-11-21 07:16:50.687 pm infoAlarm type: 1

dev:11662020-11-21 07:16:50.501 pm infoAlarm type: 1

dev:11662020-11-21 07:16:49.606 pm infoAlarm type: 1

dev:11662020-11-21 07:16:49.485 pm infoAlarm type: 1

dev:11662020-11-21 07:16:49.436 pm infoAlarm type: 1

dev:11662020-11-21 07:16:49.267 pm infoAlarm length: 10

dev:11662020-11-21 07:16:47.779 pm infoPayload sent: 00FB

dev:11662020-11-21 07:16:47.775 pm infoPayload sent: 00A97001000101

dev:11662020-11-21 07:16:47.771 pm infoPayload sent: 00957404000102

dev:11662020-11-21 07:16:47.768 pm infoAlarm Volume Set: low

dev:11662020-11-21 07:16:47.766 pm infoPayload sent: 000D6604000100

dev:11662020-11-21 07:16:47.763 pm infosetAlarmType(type=1)

dev:11662020-11-21 07:16:47.761 pm infoAlarm Type Set: 1

dev:11662020-11-21 07:16:47.759 pm infoPayload sent: 000E670200040000000A

dev:11662020-11-21 07:16:47.756 pm infosetAlarmLength(length=10)

dev:11662020-11-21 07:16:47.753 pm infoAlarm Length Set: 10

dev:11662020-11-21 07:16:47.744 pm infoconfigureDevice()

dev:11662020-11-21 07:16:47.706 pm infoRecovery feature ENABLED

dev:11662020-11-21 07:16:47.656 pm infogetDriverVersion() = v1.0.0.1122b

dev:11662020-11-21 07:16:47.652 pm infoupdated()

dev:11662020-11-21 07:16:03.814 pm infoRecovery feature ENABLED

dev:11662020-11-21 07:16:03.747 pm infogetDriverVersion() = v1.0.0.1122b

dev:11662020-11-21 07:15:52.239 pm infoAlarm type: 1

dev:11662020-11-21 07:15:52.057 pm infoAlarm length: 10

dev:11662020-11-21 07:15:51.729 pm infoAlarm length: 10

dev:11662020-11-21 07:15:51.452 pm infoAlarm type: 1

dev:11662020-11-21 07:15:51.194 pm infoAlarm type: 1

dev:11662020-11-21 07:15:50.300 pm infoAlarm length: 10

dev:11662020-11-21 07:15:50.097 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:15:48.990 pm infoAlarm length: 10

dev:11662020-11-21 07:15:48.797 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:15:48.078 pm infoAlarm volume: low

dev:11662020-11-21 07:15:48.054 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:15:48.011 pm infoAlarm volume: low

dev:11662020-11-21 07:15:47.998 pm infoAlarm length: 10

dev:11662020-11-21 07:15:47.858 pm infoAlarm type: 1

dev:11662020-11-21 07:15:47.725 pm infoAlarm type: 1

dev:11662020-11-21 07:15:47.594 pm infoAlarm length: 10

dev:11662020-11-21 07:15:47.311 pm infoAlarm length: 10

dev:11662020-11-21 07:15:47.032 pm infoAlarm volume: low

dev:11662020-11-21 07:15:46.932 pm infoAlarm volume: low

dev:11662020-11-21 07:15:46.864 pm infoAlarm volume: low

dev:11662020-11-21 07:15:46.744 pm infoAlarm type: 1

dev:11662020-11-21 07:15:46.705 pm infoAlarm type: 1

dev:11662020-11-21 07:15:46.471 pm infoAlarm type: 1

dev:11662020-11-21 07:15:46.317 pm infoAlarm length: 10

dev:11662020-11-21 07:15:46.112 pm infoAlarm length: 10

dev:11662020-11-21 07:15:45.769 pm infoAlarm type: 1

dev:11662020-11-21 07:15:41.529 pm infoPayload sent: 0084

dev:11662020-11-21 07:15:41.525 pm infoPayload sent: 00D07001000101

dev:11662020-11-21 07:15:41.523 pm infoPayload sent: 00B97404000102

dev:11662020-11-21 07:15:41.520 pm infoAlarm Volume Set: low

dev:11662020-11-21 07:15:41.518 pm infoPayload sent: 005C6604000100

dev:11662020-11-21 07:15:41.515 pm infosetAlarmType(type=1)

dev:11662020-11-21 07:15:41.513 pm infoAlarm Type Set: 1

dev:11662020-11-21 07:15:41.511 pm infoPayload sent: 0031670200040000000A

dev:11662020-11-21 07:15:41.508 pm infosetAlarmLength(length=10)

dev:11662020-11-21 07:15:41.506 pm infoAlarm Length Set: 10

dev:11662020-11-21 07:15:41.496 pm infoconfigureDevice()

dev:11662020-11-21 07:15:41.469 pm infoRecovery feature ENABLED

dev:11662020-11-21 07:15:41.438 pm infogetDriverVersion() = v1.0.0.1122b

dev:11662020-11-21 07:15:41.413 pm infoinitialize()

dev:11662020-11-21 07:15:21.179 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:15:19.773 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 0301, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[03, 01]]

dev:11662020-11-21 07:15:19.629 pm infoUnhandled Event IGNORE THIS - description:catchall: 0104 0000 01 01 0040 00 1D9A 00 00 0000 0B 01 F081 | msgMap:[raw:catchall: 0104 0000 01 01 0040 00 1D9A 00 00 0000 0B 01 F081, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[F0, 81]]

dev:11662020-11-21 07:15:19.243 pm infoUnhandled Event IGNORE THIS - description:catchall: 0104 0000 01 01 0040 00 1D9A 00 00 0000 04 01 86DEFF | msgMap:[raw:catchall: 0104 0000 01 01 0040 00 1D9A 00 00 0000 04 01 86DEFF, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[86, DE, FF]]

dev:11662020-11-21 07:15:19.058 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:15:19.049 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 0301, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[03, 01]]

dev:11662020-11-21 07:15:17.034 pm infoUnhandled Event IGNORE THIS - description:catchall: 0104 0000 01 01 0040 00 1D9A 00 00 0000 0B 01 F081 | msgMap:[raw:catchall: 0104 0000 01 01 0040 00 1D9A 00 00 0000 0B 01 F081, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[F0, 81]]

dev:11662020-11-21 07:15:17.000 pm infoUnhandled Event IGNORE THIS - description:catchall: 0104 0000 01 01 0040 00 1D9A 00 00 0000 04 01 86DEFF | msgMap:[raw:catchall: 0104 0000 01 01 0040 00 1D9A 00 00 0000 04 01 86DEFF, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[86, DE, FF]]

dev:11662020-11-21 07:15:14.122 pm infoDone with test()

dev:11662020-11-21 07:14:46.818 pm infoAlarm type: 1

dev:11662020-11-21 07:14:45.458 pm infoAlarm type: 1

dev:11662020-11-21 07:14:43.902 pm infoAlarm type: 1

dev:11662020-11-21 07:14:43.793 pm infoAlarm type: 1

dev:11662020-11-21 07:14:43.718 pm infoPayload sent: 0025

dev:11662020-11-21 07:14:43.715 pm infoPayload sent: 00D07001000101

dev:11662020-11-21 07:14:43.713 pm infoPayload sent: 00F27404000102

dev:11662020-11-21 07:14:43.709 pm infoAlarm Volume Set: low

dev:11662020-11-21 07:14:43.707 pm infoPayload sent: 005E6604000100

dev:11662020-11-21 07:14:43.704 pm infosetAlarmType(type=1)

dev:11662020-11-21 07:14:43.701 pm infoAlarm Type Set: 1

dev:11662020-11-21 07:14:43.699 pm infoPayload sent: 0010670200040000000A

dev:11662020-11-21 07:14:43.696 pm infosetAlarmLength(length=10)

dev:11662020-11-21 07:14:43.694 pm infoAlarm Length Set: 10

dev:11662020-11-21 07:14:43.685 pm infoconfigureDevice()

dev:11662020-11-21 07:14:43.661 pm infoRecovery feature ENABLED

dev:11662020-11-21 07:14:43.625 pm infogetDriverVersion() = v1.0.0.1122b

dev:11662020-11-21 07:14:43.602 pm infoinitialize()

dev:11662020-11-21 07:14:43.513 pm infoAlarm length: 10

dev:11662020-11-21 07:14:43.284 pm infoAlarm volume: low

dev:11662020-11-21 07:14:43.262 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:14:43.157 pm infoAlarm type: 1

dev:11662020-11-21 07:14:43.153 pm infoAlarm length: 10

dev:11662020-11-21 07:14:43.003 pm infoAlarm length: 10

dev:11662020-11-21 07:14:42.728 pm infoAlarm length: 10

dev:11662020-11-21 07:14:42.719 pm infoAlarm length: 10

dev:11662020-11-21 07:14:42.455 pm infoAlarm volume: low

dev:11662020-11-21 07:14:42.351 pm infoAlarm volume: low

dev:11662020-11-21 07:14:42.225 pm infoAlarm volume: low

dev:11662020-11-21 07:14:42.117 pm infoAlarm type: 1

dev:11662020-11-21 07:14:42.006 pm infoAlarm type: 1

dev:11662020-11-21 07:14:41.910 pm infoAlarm length: 10

dev:11662020-11-21 07:14:41.864 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:14:41.789 pm infoAlarm length: 10

dev:11662020-11-21 07:14:41.724 pm infoAlarm length: 10

dev:11662020-11-21 07:14:41.317 pm infoAlarm type: 1

dev:11662020-11-21 07:14:41.219 pm infoAlarm type: 1

dev:11662020-11-21 07:14:41.128 pm infoAlarm length: 10

dev:11662020-11-21 07:14:40.999 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:14:35.641 pm infoPayload sent: 0077

dev:11662020-11-21 07:14:35.637 pm infoPayload sent: 00987001000101

dev:11662020-11-21 07:14:35.634 pm infoPayload sent: 00F57404000102

dev:11662020-11-21 07:14:35.631 pm infoAlarm Volume Set: low

dev:11662020-11-21 07:14:35.629 pm infoPayload sent: 009F6604000100

dev:11662020-11-21 07:14:35.625 pm infosetAlarmType(type=1)

dev:11662020-11-21 07:14:35.623 pm infoAlarm Type Set: 1

dev:11662020-11-21 07:14:35.621 pm infoPayload sent: 0026670200040000000A

dev:11662020-11-21 07:14:35.618 pm infosetAlarmLength(length=10)

dev:11662020-11-21 07:14:35.616 pm infoAlarm Length Set: 10

dev:11662020-11-21 07:14:35.614 pm infoconfigureDevice()

dev:11662020-11-21 07:14:26.500 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:14:26.465 pm infoAlarm volume: low

dev:11662020-11-21 07:14:26.302 pm infoAlarm volume: low

dev:11662020-11-21 07:14:26.190 pm infoAlarm type: 1

dev:11662020-11-21 07:14:26.072 pm infoAlarm type: 1

dev:11662020-11-21 07:14:26.056 pm infoAlarm length: 10

dev:11662020-11-21 07:14:26.012 pm infoAlarm length: 10

dev:11662020-11-21 07:14:23.540 pm infoAlarm length: 10

dev:11662020-11-21 07:14:22.490 pm infoAlarm length: 10

dev:11662020-11-21 07:14:21.507 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

dev:11662020-11-21 07:14:20.421 pm infoAlarm length: 10

dev:11662020-11-21 07:14:19.775 pm infoTuya 0B: [raw:catchall: 0104 EF00 01 01 0040 00 1D9A 00 00 0000 0B 01 1001, profileId:0104, clusterId:EF00, clusterInt:61184, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:1D9A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[10, 01]]

— Live Log Started, waiting for events —

It’s certainly possible mine is defective.
I’ve only tried it with an HE and Sonoff hub, neither one was able to communicate with it at the time.
I hadn’t planned on getting a Tuya gateway and to be honest the siren/alarm functions were what I wanted initially, so it’s way better now than it was yesterday.
I do have a Zigbee CC2531 Sniffer Bare Board sitting here that is on the to-do list.

5

4

3

2

1

With this guide by @jchurch it should be easy to setup:

The above logs do tell me where to look, hang on, will post a modified version, the data is sent with a different command with your unit.

1 Like

Try this version:

Code removed - In the repo now

1 Like

:bowing_man:
Un-freaking believable, Temperature, Humidity, PowerSource, it’s all here!
Awesome.
Thanks Markus.

Near as I can figure these are the sounds:

18 Alarm Types

1: Doorbell 1
2: Fur Elise
3: Westminster
4: 4 Key Chime
5: William Tell
6: Mozart Piano
7: Space Alarm
8: Klaxon
9: meep meep
10: Wheep
11: Dogs
12: Alarm Siren
13: Doorbell 2
14: Old Phone
15: Police Siren
16: 4 beep 1 clang
17: 4 beep increasing volume
18: Psycho Siren

3 Likes

brill, only bug i can see is clicking strobe, fires the alarm as well (reports as both)

It’s because there is no way to run only the strobe and strobe is part of the capability so the command needs to be implemented.

1 Like

not complaining, i can now retire my z-wave version

1 Like

No worries, it did need to be explained though, there is no command that can be sent to the device which triggers only the strobe. I felt the best was to implement it the way I did, it should make it as compatible as can be. The alternative would be to do nothing when the strobe command is used, would that be better?

cant think of alternatives

I guess I’ll have to get myself one of these toys to play with!
Nice work @markus @MarkUK

1 Like