[PROJECT] Drivers for Securifi Devices (Sensors, Keyfob, Click, etc...)

@mparadis:
Can you get a bit of the debug log? The image you sent looks to show the single push happening the day AFTER the double press occurred. It does not show any events near each other. I tried reproducing what you mentioned on mine but could not get it to happen.

Also, which version of the Securifi Click driver are you using?

For example, the image I am putting in shows a Double followed by a Single...
Double-Single%20Click

So I can recreate in this way. I have a rule, when almond
click clicked once toggle this outlet (incidentally a peanut plug) and a second rule that says when double tapped set scene sleep which includes turning off many lights including the aforementioned peanut plug. If that plug is already off, and I double tap click, the peanut plug turns on and then off as everything else turns off. I had paused the single tap toggle rule for the time being. I installed it just a week or so ago I believe it is the most recent driver.

Logs

chat_bubble_outline

more_vert

Mike arrow_drop_down Accounts

DashboardsDevicesAppsSettings

Advanced

code Apps Code code Drivers CodeSystem EventsLogs

ClearPauseShow Past Logs

search

dev:662019-10-21 07:28:07.805 pm infoBedroom Light was turned on

dev:812019-10-21 07:28:07.516 pm infoBedroom Light Virtual was turned on

app:642019-10-21 07:27:57.387 pm errorError sending event to SharpTools.io: Unauthorized

app:642019-10-21 07:27:57.295 pm errorError sending event to SharpTools.io: Unauthorized

app:642019-10-21 07:27:56.932 pm debugSending event for LOCATION: mode -> Night

app:642019-10-21 07:27:56.714 pm debugSending event for LOCATION: mode -> Away

app:42019-10-21 07:27:56.494 pm debugCreating Trigger Event(trigger_on) - Away(switch: on)

dev:662019-10-21 07:27:56.303 pm infoBedroom Light was turned off

app:642019-10-21 07:27:56.188 pm errorError sending event to SharpTools.io: Unauthorized

dev:842019-10-21 07:27:55.703 pm infoFamily Room Lamp Virtual was turned off

dev:832019-10-21 07:27:55.495 pm infoDeck Lights Virtual was turned off

dev:822019-10-21 07:27:55.337 pm infoGarage Exterior Lights Virtual was turned off

dev:662019-10-21 07:27:55.334 pm infoBedroom Light was turned on

app:642019-10-21 07:27:55.303 pm debugSending event for LOCATION: mode -> Night

dev:812019-10-21 07:27:55.106 pm infoBedroom Light Virtual was turned off

dev:772019-10-21 07:27:54.980 pm infoFamily Room Lights Virtual switch is off

dev:862019-10-21 07:27:54.873 pm infoSleep was turned on

dev:812019-10-21 07:27:54.869 pm infoBedroom Light Virtual was turned on

app:642019-10-21 07:27:33.405 pm errorError sending event to SharpTools.io: Unauthorized

app:642019-10-21 07:27:32.910 pm debugSending event for LOCATION: mode -> Away

app:42019-10-21 07:27:32.447 pm debugCreating Trigger Event(trigger_on) - Away(switch: on)

dev:662019-10-21 07:27:30.812 pm infoBedroom Light was turned off

app:642019-10-21 07:27:30.467 pm errorError sending event to SharpTools.io: Unauthorized

dev:842019-10-21 07:27:29.967 pm infoFamily Room Lamp Virtual was turned off

dev:832019-10-21 07:27:29.730 pm infoDeck Lights Virtual was turned off

dev:662019-10-21 07:27:29.605 pm infoBedroom Light was turned on

dev:822019-10-21 07:27:29.553 pm infoGarage Exterior Lights Virtual was turned off

app:642019-10-21 07:27:29.535 pm debugSending event for LOCATION: mode -> Night

dev:812019-10-21 07:27:29.490 pm infoBedroom Light Virtual was turned off

dev:772019-10-21 07:27:29.247 pm infoFamily Room Lights Virtual switch is off

dev:862019-10-21 07:27:28.966 pm infoSleep was turned on

dev:812019-10-21 07:27:28.962 pm infoBedroom Light Virtual was turned on

@mparadis:
Well, the log does not help me much because it does not show any debug activity from the Click driver at all. So... Can you go to the device and set the Enable Logging to Debug, then go to the Logs and Double Tap the Click so just it shows up?

That being said... I think the problem MIGHT have been in the Rules. Did the first Rule check whether the button was pushed or not, then the second one checks the doubleTapped field? The Hubitat implementation of buttons is that you give the button's number when pushed (in case there are multiple buttons). You ALSO put that number in doubleTapped or held, if either of those where triggered. But "pushed" will ALWAYS be set when a button device is used.

Dead thread and drivers? Not updated in +7 months. The offered drivers appear to identify the device and show some status, but looking at the logs with debug level..

2020-02-21 12:15:59.925 pm debug Door Sensor - DID NOT PARSE MESSAGE

And no updates to any data from the device are done.

Device: model: SZ-DWS04N_SF

Nope, just no activity. I have not needed to update the drivers because they seemed to be working without issues.

So... Let me see if I can help, but I have 3 questions:
Do you have the latest (v0.91) driver?
There should be a line after (time-wise) that message in the log that gives the raw message that could not be parsed. Can you post that?
Does the door/window sensor report contact activity properly? I assume not from your last line, but want to double check.

Thanks. Things go quiet when everything works.. until it doesn't. Thanks for the quick reply.

From the device:
SensorType : Contact
Version : 0.91
Driver : SecurifiSensors

From the log I'm not seeing anything for it to parse.. This is when I manual open/close the sensor.

dev:12832020-02-21 01:58:31.529 pm debugDoor Sensor - [:]
dev:12832020-02-21 01:58:31.527 pm debugDoor Sensor - DID NOT PARSE MESSAGE

When I do a config and refresh:
dev:12832020-02-21 02:00:37.992 pm debugDoor Sensor - clusterId = 0500, attrId = null - cmd = 0B, data = [00, 00]. value = null
dev:12832020-02-21 02:00:37.552 pm debugDoor Sensor - clusterId = 0500, attrId = null - cmd = 0B, data = [00, 00]. value = null
dev:12832020-02-21 02:00:37.470 pm debugDoor Sensor - clusterId = 0500, attrId = null - cmd = 0B, data = [00, 00]. value = null
dev:12832020-02-21 02:00:37.285 pm debugDoor Sensor - clusterId = 0500, attrId = null - cmd = 04, data = [00]. value = null
dev:12832020-02-21 02:00:37.236 pm debugDoor Sensor - clusterId = 0001, attrId = null - cmd = 07, data = [00]. value = null
dev:12832020-02-21 02:00:36.989 pm debugDoor Sensor - clusterId = 0006, attrId = null - cmd = 00, data = [08, FD, FF, 04, 01, 00, 01, 00, 05]. value = null
dev:12832020-02-21 02:00:36.966 pm debugDoor Sensor - clusterId = 0500, attrId = null - cmd = 04, data = [00]. value = null
dev:12832020-02-21 02:00:36.685 pm debugDoor Sensor - Contact
dev:12832020-02-21 02:00:36.683 pm debugDoor Sensor - 0029
dev:12832020-02-21 02:00:17.315 pm debugDoor Sensor - Contact
dev:12832020-02-21 02:00:17.312 pm debugDoor Sensor - 0028
dev:12832020-02-21 02:00:15.352 pm debugDoor Sensor - clusterId = 0500, attrId = null - cmd = 0B, data = [00, 00]. value = null
dev:12832020-02-21 02:00:14.804 pm debugDoor Sensor - [:]
dev:12832020-02-21 02:00:14.802 pm debugDoor Sensor - DID NOT PARSE MESSAGE
dev:12832020-02-21 02:00:14.336 pm debugDoor Sensor - clusterId = 0500, attrId = null - cmd = 04, data = [00]. value = null
dev:12832020-02-21 02:00:12.847 pm debugDoor Sensor - clusterId = 0500, attrId = null - cmd = 0B, data = [00, 00]. value = null
dev:12832020-02-21 02:00:12.797 pm debugDoor Sensor - clusterId = 0006, attrId = null - cmd = 00, data = [07, FD, FF, 04, 01, 00, 01, 00, 05]. value = null
dev:12832020-02-21 02:00:09.818 pm debugDoor Sensor - clusterId = 0001, attrId = null - cmd = 07, data = [00]. value = null
dev:12832020-02-21 02:00:08.303 pm debugDoor Sensor - clusterId = 0500, attrId = null - cmd = 04, data = [00]. value = null
dev:12832020-02-21 02:00:07.803 pm debugDoor Sensor - Configuring device...

But immediately after it another:
dev:12832020-02-21 02:00:38.849 pm debugDoor Sensor - [:]
dev:12832020-02-21 02:00:38.846 pm debugDoor Sensor - DID NOT PARSE MESSAGE

I will have to check more tonight... But not seeing an obvious cause there. That line after the "DID NOT PARSE..." should spit out all the data received with no real processing to it. If it is coming back empty, maybe it is not getting anything. Again, not sure.

Ideas:
If you want, you can try resetting the sensor to factory default and re-pair it (Hubitat should recognize it as already paired if you do not remove it). Just to give it a clean slate.

I could make a special driver geared towards just sending the data but with little function. That MIGHT help figure out what is happening if the reset does not work. If you want to try to diagnose it.

How fresh is the battery? Just shooting out ideas there.

Last idea, try changing to the built in Generic ZigBee Contact Switch driver and see if that works. If it does... Well, that means I have more work to do this weekend.

So... Just saw this thread... and the current activity with the DWS04...

As I have one of these devices, new and unopened... I figured I would give it a try...

It is detected as a "generic Zigbee moisture sensor", is functional but produces "wet" and "dry" reports (as would be expected for a moisture sensor)...

Summary

dev:12602020-02-21 02:15:20.611 pm infoSecurifi DWS is wet

dev:12602020-02-21 02:15:20.604 pm debugparse: zone status 0x0025 -- extended status 0x00

dev:12602020-02-21 02:15:18.774 pm debugparseIasMessage: resultListMap [[name:water, value:dry, descriptionText:Securifi DWS is dry]]

dev:12602020-02-21 02:15:18.770 pm infoSecurifi DWS is dry

dev:12602020-02-21 02:15:18.765 pm debugparse: zone status 0x0024 -- extended status 0x00

dev:12602020-02-21 02:14:34.217 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0000 0006 00 00 0040 00 8D9B 00 00 0000 00 00 0E0000040100010005, profileId:0000, clusterId:0006, clusterInt:6, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[0E, 00, 00, 04, 01, 00, 01, 00, 05]]

dev:12602020-02-21 02:14:34.204 pm debugparse: catchall: 0000 0006 00 00 0040 00 8D9B 00 00 0000 00 00 0E0000040100010005

dev:12602020-02-21 02:14:32.433 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00, profileId:0104, clusterId:0001, clusterInt:1, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[00]]

dev:12602020-02-21 02:14:32.422 pm debugparse: catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00

dev:12602020-02-21 02:14:32.229 pm debugparseIasMessage: resultListMap [[name:water, value:wet, descriptionText:Generic Zigbee Moisture Sensor is wet]]

dev:12602020-02-21 02:14:32.223 pm infoGeneric Zigbee Moisture Sensor is wet

dev:12602020-02-21 02:14:32.218 pm debugparse: zone status 0x0025 -- extended status 0x00

dev:12602020-02-21 02:14:32.212 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00, profileId:0104, clusterId:0001, clusterInt:1, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[00]]

dev:12602020-02-21 02:14:32.200 pm debugparse: catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00

dev:12602020-02-21 02:14:31.378 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 9D00, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[9D, 00]]

dev:12602020-02-21 02:14:31.367 pm debugparse: catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 9D00

dev:12602020-02-21 02:14:30.344 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00, profileId:0104, clusterId:0001, clusterInt:1, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[00]]

dev:12602020-02-21 02:14:30.328 pm debugparse: catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00

dev:12602020-02-21 02:14:30.038 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 86002100, profileId:0104, clusterId:0001, clusterInt:1, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[86, 00, 21, 00]]

dev:12602020-02-21 02:14:30.023 pm debugparse: catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 86002100

dev:12602020-02-21 02:14:29.345 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 9B00, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[9B, 00]]

dev:12602020-02-21 02:14:29.334 pm debugparse: catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 9B00

dev:12602020-02-21 02:14:28.940 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0402 01 01 0040 00 8D9B 00 00 0000 07 01 00, profileId:0104, clusterId:0402, clusterInt:1026, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[00]]

dev:12602020-02-21 02:14:28.929 pm debugparse: catchall: 0104 0402 01 01 0040 00 8D9B 00 00 0000 07 01 00

dev:12602020-02-21 02:14:28.864 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 9F00, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[9F, 00]]

dev:12602020-02-21 02:14:28.852 pm debugparse: catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 9F00

dev:12602020-02-21 02:14:28.209 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0000 0006 00 00 0040 00 8D9B 00 00 0000 00 00 0E0000040100010005, profileId:0000, clusterId:0006, clusterInt:6, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[0E, 00, 00, 04, 01, 00, 01, 00, 05]]

dev:12602020-02-21 02:14:28.196 pm debugparse: catchall: 0000 0006 00 00 0040 00 8D9B 00 00 0000 00 00 0E0000040100010005

dev:12602020-02-21 02:14:27.995 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00, profileId:0104, clusterId:0001, clusterInt:1, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[00]]

dev:12602020-02-21 02:14:27.985 pm debugparse: catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00

dev:12602020-02-21 02:14:27.900 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00, profileId:0104, clusterId:0001, clusterInt:1, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[00]]

dev:12602020-02-21 02:14:27.892 pm infoGeneric Zigbee Moisture Sensor battery is 99%

dev:12602020-02-21 02:14:27.889 pm debugparse: catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00

dev:12602020-02-21 02:14:27.882 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:8D9B0100010A2000201D, dni:8D9B, endpoint:01, cluster:0001, size:0A, attrId:0020, encoding:20, command:01, value:1D, clusterInt:1, attrInt:32]

dev:12602020-02-21 02:14:27.875 pm debugparse: read attr - raw: 8D9B0100010A2000201D, dni: 8D9B, endpoint: 01, cluster: 0001, size: 0A, attrId: 0020, encoding: 20, command: 01, value: 1D

dev:12602020-02-21 02:14:27.316 pm debugparseReportAttributeMessage: Temp resultMap: [name:temperature, value:29.00, descriptionText:Generic Zigbee Moisture Sensor temperature is 29.00°C, unit:°C]

dev:12602020-02-21 02:14:27.311 pm infoGeneric Zigbee Moisture Sensor temperature is 29.00°C

dev:12602020-02-21 02:14:27.301 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:8D9B0104020C000029540B, dni:8D9B, endpoint:01, cluster:0402, size:0C, attrId:0000, encoding:29, command:01, value:0B54, clusterInt:1026, attrInt:0]

dev:12602020-02-21 02:14:27.294 pm debugparse: read attr - raw: 8D9B0104020C000029540B, dni: 8D9B, endpoint: 01, cluster: 0402, size: 0C, attrId: 0000, encoding: 29, command: 01, value: 540B

dev:12602020-02-21 02:14:26.311 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:12602020-02-21 02:14:26.269 pm debugparse: catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 0B 01 0000

dev:12602020-02-21 02:14:25.226 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 04 01 00, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:12602020-02-21 02:14:25.215 pm debugparse: catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 04 01 00

dev:12602020-02-21 02:14:24.546 pm warnconfigure...

Manually changing to the "Securifi Sensors" device driver, it is non-functional and produces...

Summary

dev:12602020-02-21 02:24:03.074 pm debugSecurifi DWS - 0024 happened

dev:12602020-02-21 02:23:59.861 pm debugSecurifi DWS - tampered

dev:12602020-02-21 02:23:45.177 pm debugSecurifi DWS - 0024 happened

dev:12602020-02-21 02:23:40.789 pm debugSecurifi DWS - tampered

dev:12602020-02-21 02:23:33.792 pm debugSecurifi DWS - clusterId = 0500, attrId = null - cmd = 0B, data = [00, 00]. value = null

dev:12602020-02-21 02:23:33.498 pm debugSecurifi DWS - clusterId = 0006, attrId = null - cmd = 00, data = [10, 00, 00, 04, 01, 00, 01, 00, 05]. value = null

dev:12602020-02-21 02:23:32.318 pm debugSecurifi DWS - clusterId = 0500, attrId = null - cmd = 0B, data = [00, 00]. value = null

dev:12602020-02-21 02:23:30.993 pm debugSecurifi DWS - clusterId = 0500, attrId = null - cmd = 04, data = [00]. value = null

dev:12602020-02-21 02:23:30.691 pm debugSecurifi DWS - clusterId = 0500, attrId = null - cmd = 04, data = [00]. value = null

dev:12602020-02-21 02:23:26.105 pm debugSecurifi DWS - clusterId = 0001, attrId = null - cmd = 07, data = [00]. value = null

dev:12602020-02-21 02:23:25.499 pm debugSecurifi DWS - Has latest driver

dev:12602020-02-21 02:23:23.940 pm debugSecurifi DWS - Configuring device...

dev:12602020-02-21 02:23:23.723 pm debugSecurifi DWS - Resetting the tamper notification

dev:12602020-02-21 02:23:23.720 pm debugSecurifi DWS - model SZ-DWS04 = contact sensor

dev:12602020-02-21 02:23:23.700 pm debugSecurifi DWS - Updated

When changed to the "generic Zigbee contact sensor" driver, the device appears to operate normally...

Summary

dev:12602020-02-21 02:26:08.440 pm debugparse: listResult [[name:contact, value:closed, descriptionText:Securifi DWS was closed]]

dev:12602020-02-21 02:26:08.436 pm debugparseIasMessage: resultListMap [[name:contact, value:closed, descriptionText:Securifi DWS was closed]]

dev:12602020-02-21 02:26:08.432 pm infoSecurifi DWS was closed

dev:12602020-02-21 02:26:08.428 pm debugparse: zone status 0x0024 -- extended status 0x00

dev:12602020-02-21 02:26:05.930 pm debugparse: listResult [[name:contact, value:open, descriptionText:Securifi DWS was opened]]

dev:12602020-02-21 02:26:05.926 pm debugparseIasMessage: resultListMap [[name:contact, value:open, descriptionText:Securifi DWS was opened]]

dev:12602020-02-21 02:26:05.920 pm infoSecurifi DWS was opened

dev:12602020-02-21 02:26:05.820 pm debugparse: zone status 0x0025 -- extended status 0x00

dev:12602020-02-21 02:26:00.248 pm debugparse: listResult []

dev:12602020-02-21 02:26:00.245 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 B300, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[B3, 00]]

dev:12602020-02-21 02:26:00.232 pm debugparse: catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 B300

dev:12602020-02-21 02:25:57.947 pm debugparse: listResult []

dev:12602020-02-21 02:25:57.944 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0000 0006 00 00 0040 00 8D9B 00 00 0000 00 00 110000040100010005, profileId:0000, clusterId:0006, clusterInt:6, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[11, 00, 00, 04, 01, 00, 01, 00, 05]]

dev:12602020-02-21 02:25:57.933 pm debugparse: catchall: 0000 0006 00 00 0040 00 8D9B 00 00 0000 00 00 110000040100010005

dev:12602020-02-21 02:25:57.207 pm debugparse: listResult []

dev:12602020-02-21 02:25:57.204 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 B500, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[B5, 00]]

dev:12602020-02-21 02:25:57.199 pm debugparse: catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 B500

dev:12602020-02-21 02:25:57.189 pm debugparse: listResult [[name:temperature, value:27.00, descriptionText:Securifi DWS temperature is 27.00°C, unit:°C]]

dev:12602020-02-21 02:25:57.185 pm debugparseReportAttributeMessage: Temp resultMap: [name:temperature, value:27.00, descriptionText:Securifi DWS temperature is 27.00°C, unit:°C]

dev:12602020-02-21 02:25:57.173 pm infoSecurifi DWS temperature is 27.00°C

dev:12602020-02-21 02:25:57.166 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:8D9B0104020A0000298C0A, dni:8D9B, endpoint:01, cluster:0402, size:0A, attrId:0000, encoding:29, command:0A, value:0A8C, clusterInt:1026, attrInt:0]

dev:12602020-02-21 02:25:57.158 pm debugparse: read attr - raw: 8D9B0104020A0000298C0A, dni: 8D9B, endpoint: 01, cluster: 0402, size: 0A, attrId: 0000, encoding: 29, command: 0A, value: 8C0A

dev:12602020-02-21 02:25:56.798 pm debugparse: listResult []

dev:12602020-02-21 02:25:56.795 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:12602020-02-21 02:25:56.786 pm debugparse: catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 0B 01 0000

dev:12602020-02-21 02:25:56.783 pm debugparse: listResult []

dev:12602020-02-21 02:25:56.780 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:12602020-02-21 02:25:56.770 pm debugparse: catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 0B 01 0000

dev:12602020-02-21 02:25:52.194 pm debugparse: listResult []

dev:12602020-02-21 02:25:52.190 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00, profileId:0104, clusterId:0001, clusterInt:1, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[00]]

dev:12602020-02-21 02:25:52.180 pm debugparse: catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00

dev:12602020-02-21 02:25:51.888 pm debugparse: listResult [[name:temperature, value:27.00, descriptionText:Securifi DWS temperature is 27.00°C, unit:°C]]

dev:12602020-02-21 02:25:51.883 pm debugparseReportAttributeMessage: Temp resultMap: [name:temperature, value:27.00, descriptionText:Securifi DWS temperature is 27.00°C, unit:°C]

dev:12602020-02-21 02:25:51.878 pm infoSecurifi DWS temperature is 27.00°C

dev:12602020-02-21 02:25:51.868 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:8D9B0104020A0000298C0A, dni:8D9B, endpoint:01, cluster:0402, size:0A, attrId:0000, encoding:29, command:0A, value:0A8C, clusterInt:1026, attrInt:0]

dev:12602020-02-21 02:25:51.861 pm debugparse: read attr - raw: 8D9B0104020A0000298C0A, dni: 8D9B, endpoint: 01, cluster: 0402, size: 0A, attrId: 0000, encoding: 29, command: 0A, value: 8C0A

dev:12602020-02-21 02:25:51.552 pm debugparse: listResult []

dev:12602020-02-21 02:25:51.549 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 04 01 00, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:12602020-02-21 02:25:51.540 pm debugparse: catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 04 01 00

dev:12602020-02-21 02:25:51.118 pm debugparse: listResult [[name:temperature, value:27.00, descriptionText:Securifi DWS temperature is 27.00°C, unit:°C]]

dev:12602020-02-21 02:25:51.114 pm debugparseReportAttributeMessage: Temp resultMap: [name:temperature, value:27.00, descriptionText:Securifi DWS temperature is 27.00°C, unit:°C]

dev:12602020-02-21 02:25:51.109 pm infoSecurifi DWS temperature is 27.00°C

dev:12602020-02-21 02:25:51.100 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:8D9B0104020C0000298C0A, dni:8D9B, endpoint:01, cluster:0402, size:0C, attrId:0000, encoding:29, command:01, value:0A8C, clusterInt:1026, attrInt:0]

dev:12602020-02-21 02:25:51.093 pm debugparse: read attr - raw: 8D9B0104020C0000298C0A, dni: 8D9B, endpoint: 01, cluster: 0402, size: 0C, attrId: 0000, encoding: 29, command: 01, value: 8C0A

dev:12602020-02-21 02:25:50.862 pm debugparse: listResult []

dev:12602020-02-21 02:25:50.859 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0000 0006 00 00 0040 00 8D9B 00 00 0000 00 00 120000040100010005, profileId:0000, clusterId:0006, clusterInt:6, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[12, 00, 00, 04, 01, 00, 01, 00, 05]]

dev:12602020-02-21 02:25:50.847 pm debugparse: catchall: 0000 0006 00 00 0040 00 8D9B 00 00 0000 00 00 120000040100010005

dev:12602020-02-21 02:25:50.077 pm debugparse: listResult []

dev:12602020-02-21 02:25:50.073 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 B700, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[B7, 00]]

dev:12602020-02-21 02:25:50.052 pm debugparse: catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 B700

dev:12602020-02-21 02:25:49.847 pm debugparse: listResult []

dev:12602020-02-21 02:25:49.844 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00, profileId:0104, clusterId:0001, clusterInt:1, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[00]]

dev:12602020-02-21 02:25:49.833 pm debugparse: catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 00

dev:12602020-02-21 02:25:49.680 pm debugparse: listResult []

dev:12602020-02-21 02:25:49.677 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 B300, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[B3, 00]]

dev:12602020-02-21 02:25:49.665 pm debugparse: catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 B300

dev:12602020-02-21 02:25:48.900 pm debugparse: listResult []

dev:12602020-02-21 02:25:48.897 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:12602020-02-21 02:25:48.886 pm debugparse: catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 0B 01 0000

dev:12602020-02-21 02:25:48.880 pm debugparse: listResult []

dev:12602020-02-21 02:25:48.877 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0000 0006 00 00 0040 00 8D9B 00 00 0000 00 00 110000040100010005, profileId:0000, clusterId:0006, clusterInt:6, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[11, 00, 00, 04, 01, 00, 01, 00, 05]]

dev:12602020-02-21 02:25:48.865 pm debugparse: catchall: 0000 0006 00 00 0040 00 8D9B 00 00 0000 00 00 110000040100010005

dev:12602020-02-21 02:25:48.631 pm debugparse: listResult []

dev:12602020-02-21 02:25:48.628 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 86002100, profileId:0104, clusterId:0001, clusterInt:1, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:07, direction:01, data:[86, 00, 21, 00]]

dev:12602020-02-21 02:25:48.616 pm debugparse: catchall: 0104 0001 01 01 0040 00 8D9B 00 00 0000 07 01 86002100

dev:12602020-02-21 02:25:48.079 pm debugparse: listResult []

dev:12602020-02-21 02:25:48.073 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 B500, profileId:0000, clusterId:8021, clusterInt:32801, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[B5, 00]]

dev:12602020-02-21 02:25:48.057 pm debugparse: catchall: 0000 8021 00 00 0040 00 8D9B 00 00 0000 00 00 B500

dev:12602020-02-21 02:25:47.989 pm debugparse: listResult []

dev:12602020-02-21 02:25:47.983 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 0B 01 0000, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:0B, direction:01, data:[00, 00]]

dev:12602020-02-21 02:25:47.968 pm debugparse: catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 0B 01 0000

dev:12602020-02-21 02:25:47.916 pm debugparse: listResult [[name:battery, value:99, descriptionText:Securifi DWS battery is 99%, unit:%]]

dev:12602020-02-21 02:25:47.911 pm infoSecurifi DWS battery is 99%

dev:12602020-02-21 02:25:47.898 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:8D9B0100010A2000201D, dni:8D9B, endpoint:01, cluster:0001, size:0A, attrId:0020, encoding:20, command:01, value:1D, clusterInt:1, attrInt:32]

dev:12602020-02-21 02:25:47.891 pm debugparse: read attr - raw: 8D9B0100010A2000201D, dni: 8D9B, endpoint: 01, cluster: 0001, size: 0A, attrId: 0020, encoding: 20, command: 01, value: 1D

dev:12602020-02-21 02:25:47.678 pm debugparse: listResult [[name:temperature, value:27.00, descriptionText:Securifi DWS temperature is 27.00°C, unit:°C]]

dev:12602020-02-21 02:25:47.674 pm debugparseReportAttributeMessage: Temp resultMap: [name:temperature, value:27.00, descriptionText:Securifi DWS temperature is 27.00°C, unit:°C]

dev:12602020-02-21 02:25:47.669 pm infoSecurifi DWS temperature is 27.00°C

dev:12602020-02-21 02:25:47.657 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:8D9B0104020C0000298C0A, dni:8D9B, endpoint:01, cluster:0402, size:0C, attrId:0000, encoding:29, command:01, value:0A8C, clusterInt:1026, attrInt:0]

dev:12602020-02-21 02:25:47.647 pm debugparse: read attr - raw: 8D9B0104020C0000298C0A, dni: 8D9B, endpoint: 01, cluster: 0402, size: 0C, attrId: 0000, encoding: 29, command: 01, value: 8C0A

dev:12602020-02-21 02:25:47.111 pm debugparse: listResult []

dev:12602020-02-21 02:25:47.108 pm debugzigbee.parseDescriptionAsMap-read attr: [raw:catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 04 01 00, profileId:0104, clusterId:0500, clusterInt:1280, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:8D9B, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:12602020-02-21 02:25:47.096 pm debugparse: catchall: 0104 0500 01 01 0040 00 8D9B 00 00 0000 04 01 00

dev:12602020-02-21 02:25:44.083 pm warnconfigure...

Hmm. The Device has been sitting in a box for a few years, so no run-down battery, just age. Shows as 50%.

I've been toggling the various device types.. trying various Generic contact sensors.. and after putting it back on your driver.

I'm seeing entries like:

dev:12832020-02-21 04:26:04.868 pm debugDoor Sensor - Contact
dev:12832020-02-21 04:26:04.866 pm debugDoor Sensor - 0028
dev:12832020-02-21 04:26:02.390 pm debugDoor Sensor - Contact
dev:12832020-02-21 04:26:02.383 pm debugDoor Sensor - 0029

So it appears to be seeing the change in contact, but not recording it as Open or Close.

.. and then replacing the battery -- it works with your driver!

Just love it when something that shouldn't matter just makes it work. New battery must have come with more magic pixie dust.

OK... The fact that a new battery fixed the issue implies that the circuit is not getting the minimum voltage it needs when transmitting and "drops" before it can transmit.

So... Maybe I can add something in to provide an error in such a case.

I did find some flaws while looking at the driver tonight, including around battery reporting. I am testing it out with my variety of sensors overnight and part of tomorrow (I want to make sure the changes only make things better). So a new version will hopefully be posted tomorrow.

Slew of updates to all my ZigBee-based drivers based on the flaws I found. The following drivers have all been updated:
AlmondClick.groovy
Lightify4Button.groovy
SecurifiButtons.groovy
SecurifiKeyFob.groovy
SecurifiSensors.groovy

Did not even realize I had multiple variants that needed cleanup. Oh well. The SecurifiButtons is just a combined version of the AlmondClick and SecurifiKeyFob. I think it better to use the specific files but I tried to make sure all were updated anyways.

1 Like

First, thanks for all your work with these drivers.

I have a few of the contact sensors SZ-DWS04'S, and they're driving me nuts.
On first discovery they come up as generic moisture sensors and the magnet has no effect on the wet/dry state.
If I change them to your driver the contact state is not displayed (only battery, tamper and temp.) and the magnet has no effect.
If I select generic contact sensor, same display (except no tamper) and again magnet has no effect.
But, with the ERIA contact sensor driver the contact state is displayed (along with battery) and the magnet will switch it from open to closed...

The really strange thing is I was able to get one of my sensors to work properly with your driver after changing drivers, repairing, uninstalling, removing battery... not really sure what all.
It monitors and displays the contact state relative to the magnet.
Battery reports 86%.
Tamper/Reset works properly.
Temp appears to track correctly.

Hours later and I can only get the one to work.
The sensor is inches from the hub.
Plugged in a zigbee wall plug nearby as well.
Tried different batteries.
Really like the size of these sensors and the fact that they have temp as well, but not having much luck with them, any help would be appreciated.

1 Like

I can try to help.
As for when they are first detected... That has always seemed to happen with these. I am not sure why. As far as I can tell, the fingerprint is correct but the generic moisture sensor gets detected as a valid driver for it first. It should not harm anything. Just switch to the correct driver and select Configure (or Save Preferences, that will automatically run the configure command also).

The fact that it reports battery, tamper, and temp at least means it is communicating mostly at least. So... let me start with a couple questions to narrow it down:

  1. What is listed for the state variable Version?
  2. What is listed for the state variable SensorType?

Next:
Please set the Enable Logging? preference to "Debug" and Save Preferences. Open the Logs window and open/close the contact switch. Can you paste the resulting message(s) into your reply? The line(s) should look something like:
Zone Status Desc =

Initial moisture driver:

Summary

SecurifiSensors driver:

Summary

Logs from SecurifiSensors driver configure:

Summary

Opening/closing the contact switch has no output in the logs.

That... is very strange. Latest driver, it correctly identified, yet nothing. I just tried one of mine and got responses, but there has to be something. Maybe some notifications I have not seen.

But it should always log the messages received in Debug mode, and many of those were blank. Plus like you said, NOTHING contact related.

Ok, so I found... something. I could not find my previous test DWS04 (I think I actually mounted it on a door when done) so I had to add a new spare I had. While pairing I checked the fingerprint (because this one did the usual moisture sensor thing) and found that it is a different MODEL.

This new one is a "SZ-DWS04N_SF" while the one I had before is an "SZ-DWS04". So I have added a new fingerprint to support it right off the bat. One problem I am having with it is that the battery is bad. Despite saying 86%... it is not completing the initial enrollment, even as a moisture sensor and is just continuing to produce enroll requests.

This sounds like the exact same problem that @elykhtims just had about a week ago. I wonder if these devices are all "new-old stock" and so they are coming with nearly dead batteries in them. That problem was solved with a new battery and I added a Message state variable to warn for such.

I have to head out but when I get back I am going to look for a new battery myself.

  • endpointId: 01
  • application: 10
  • model: SZ-DWS04N_SF
  • manufacturer: Sercomm Corp.

Mine are detected as the N_SF version, no indication on the case.
I have tried several different batteries(3-3.4V no load) they all report as 86%.

Summary


EM3585 system on chip (SoC) includes an ARM® Cortex®-M3 microcontroller, 512 kB of flash, 32 kB of RAM, 0 GPIO and is available in a QFN48 package. EM3585 devices include Zigbee and Thread wireless software.

I started writing an edit hours ago but got distracted as I kept working on this. I found a power supply that provides 3V after trying 4 different new batteries out with no better results. Still not having any luck. I even tried pairing it with my Almond 3S without success.

I have been HEAVILY reworking my parsing to make it as "all inclusive" as I can and to log things it does not, as well as doing some more reads of other info from the device. The device responds to some commands but nowhere like the DWS04 (without the N_SF). The only things I have mine reliably doing are reporting the temperature and saying what type of device it is. Mine is not even reporting the tamper switch.

Going to dig around in my pile of spares and see if I have another of these. I have 3 of the DWS04 and only 1 of these DWS04N_SF out now... I think I have one unopened box... which turned out to also be a DWS04.

So... I am going to continue working at this but the DWS04N_SF... I do not know. Maybe the N_SF stands for No Standard Functionality? :confounded:

1 Like

It's frustrating, especially since I somehow managed to get one (out of 5) working properly with your driver.
The other four will all report open/close with the ERIA driver, but, then they report constantly.

Summary