[DRIVER] Zooz Sensors Advanced (ZSE11, ZSE18, ZSE40, ZSE41, ZSE42, ZSE43, ZSE44)

Did a battery pull this morning, noticed sync status doesn't update, even with config pushed and additional battery pulls:

Current States

  • syncStatus : 3 Pending Changes
  • tamper : clear

Went to the device driver, and confirmed the URL for the code.

Also, saw this in the logs:
dev:8382021-11-07 05:53:12.002 pm [error](org.codehaus.groovy.runtime.metaclass.MissingMethodExceptionNoStack: No signature of method: user_driver_jtp10181_Zooz_ZSE40_4_in_1_Multisensor_883.logsOff() is applicable for argument types: () values: []

EDIT: Noted the menu config options are still not showing up in the device.

The error message isn't really a concern other than it points out that the driver may have changed from one that had a logsOff to one that doesn't.

The config options wont show until you get the "deviceModel" state variable, which should be ZSE40 or ZSE40-700. This get populated when a version report is requested and sent, which only happens if you either manually wake the device or wait for it to wake up on its own. I am not sure if pulling the battery will send a wake up when it comes back online.

If you turn on debug logging in the driver and then manually wake the device you should get something like this in the log. To wake the device use a paperclip in the little hole and press the button down for about 1s then release it. The LED should flash once (colors depends on the temp).

Note some of the variables are leftovers from the stock driver and I have not purged them out:

I decided to exclude and re-join the sensor not showing the firmware version and forgot that when doing so it will set the security to S0. I re-excluded the sensor and I stuck my zstick in my laptop and fired up the pc controller, but I'm not sure what to actually do within the software to include a device to the hub with it.

Could the 32.18 you're running be a beta firmware? Zooz support is telling me that 32.02 is the latest.

I am reading my old emails and it looks like with 32.02 I was able to see/set parameter 8 so you are probably good on that version. The only thing I know about the updated version for sure is "it addresses a couple of minor bugs with association and battery reporting".

Including without security: Zooz 4-in-1 (ZSE40), C7, S0 - #33 by bill.d

EDIT: I could not get the above instructions to work. I saw a tip of using NWI mode (next to the Add button) instead so I tried that. Still not showing on the hub. Saw another tip about rebooting the hub. That got it to show on the device list with a "Discover" button. I pressed the discover button and then woke up the device. This finally got it to pair with the hub correctly, and no security. I have one more to try this with, or if anyone else can confirm the steps as well I will add the instructions to the main post.

EDIT #2: I will need to make this into a separate guide. What ultimately seems to work the best is instead of rebooting the hub I saw another tip to run inclusion on the hub so it finds the device (after it is included from the stick). Also found out the stick can be paired with security. So here is what I did.

  1. USB Stick is paired with security as secondary controller (Select Learn Mode > NWI)
  2. Click shield icon in top right, pause security, hit apply
  3. Using top row of buttons, select +Add. I think Add and NWI [top row] do the same thing except Add the device needs to be in range of the USB stick, NWI is network wide and also does not stop after one device is paired.
  4. Put the device into inclusion mode (2-3 clicks for ZSE40)
  5. You should see some messages in the status bar which will indicating it is pairing, if you used NWI mode you will need to wait for it to be done and then press ABORT to take it out of pairing mode.
  6. You should now have a new node showing in the PC Controller.
  7. You can now Un-pause the security by reversing step 2
  8. Go to Hubitat Z-Wave details page, check if the device is showing there.
  9. If it is not showing there, then put the hub into ZWave inclusion like you are adding a new device.
  10. At that point for me, it found the device and did all the config, etc, just as if I had just paired it using Hubitat.
  11. Refresh the zWave details and you should see the device in there now with security None.
1 Like

Got it back re-included. After making changes in the driver, I see there are pending changes, but when I click the zwave button on the sensor to wake it up, nothing happens. I noticed that after all the messing around with it, the wakeup interval had been changed from 43200 (12 hours) to 600 (10 minutes). So I just waited for the wakeup interval to naturally happen. After it did, the logs showed all the reports the sensor sent back, but no changes synced to it. Still shows pending changes. Any ideas?

EDIT: Actually the zwave button doesn't seem to wake up any of my 3 ZSE40s. So I'll just give it some time and see what happens I guess.

@jtp10181 Getting this occasionally in my logs...

The error about "logsoff" is only possible if you had debug logging enabled on another driver (the stock one possibly) and then switched to this driver. The schedule job to turn off the logging fails because the method no longer exists once you switch to this driver.

1 Like

Gotcha... That may have certainly happened. My only real observation on this unit since I paired it a half hour ago is that the motion detection seems slow (Or is there some reset period between going to inactive then looking for more movement?) (BTW, thanx for working so hard on this driver)

I cannot reproduce this. I just paired one fresh with no security. I switched to my driver. Pressed save changes at the bottom to be sure debug logging got enabled. Then I just woke the device up (one click on the button). Once the hub saw the wakeup all the commands went flying and it synced up, and now shows me all the parameter options. This is with Firmware 32.02

Not that I am aware of. Check your param #5 the clear delay. This sets how long it takes for the motion inactive to be sent after the last motion is detected. So if this is very long, and there is periodic motion it will stay "active" and never switch to inactive. If you set this to very short you should get more cycling of active <> inactive.

After waiting a while, one sensor is completely synced, one says 1 pending change, and one says 3 pending changes (which hasn't changed since yesterday).

For the first two, I can see preferences now. The setting I want to change is for param 8; change it to notification reports online, right? Is there a way to see what the 1 pending change is? This is for the sensor I have that on the back says it's a V2, but has no firmware number printed on the back. The driver reports version 24.16. Zooz support just says it's an "earlier hardware version" and cannot be updated to a newer firmware. It's not a V1 though, so I don't really understand this.

The third one I don't know what to do with. It's wakeup interval is still set to 10 minutes and it's going to drain the battery pretty quickly. It has 3 pending changes and doesn't seem to sync when it wakes up. I really don't want to have to go through excluding it and re-including it again. That was a pain.

Not exactly sure what I did to trigger this, but I clicked the zwave button on the device saying 1 pending change and this showed up in the log for it.

EDIT: After playing around with the one that wouldn't sync, I got it to sync. I just don't know the exact series of events that let it do so.

Notification Reports Only - yes. This will make it send only one report every 7 seconds during motion instead of two.

This model might not support parameter 8, I am not sure when it got added. If you turn on debug logging and then wake the device, you should see it log which parameters it is still trying to sync up.

What hardware and firmware is this one? You could try switching to the stock driver, I think that one resets the wakeup to be 12 hours. I am going to add a command button to set the wakeup eventually and possibly default it to 12 or something but I have not messed with that yet.

If that keeps showing up, I would probably need to see a full trace log to figure it out, as I dont have any of the older firmware devices. It might be an incompatibility in command class versions from the older device vs what I coded the driver for. To enable the tracing you actually have to go into the driver and uncomment the line at the very bottom. Another thing on my todo list is to make the debug toggle in the parameters a menu instead with different options.

so far so good,
got the new 700 series got it to pair unsecure. switched to your driver.. paperclip on zwave forces a checkin.. open closing/removing battery did not.

changed a few parameters put it in the wine fridge and will let you know how it goes and how it goes.

firmware is 32.32.. it paired insecure direct with the hub? i thought you need a zwave stick to do that.. i dont see anything to indicate if it is s0 or not?

The 700 doesn't need a zwave stick to pair unsecured, just hit skip when presented is all

1 Like

This is something with the Zwave specs is what Hubitat staff has said, for some reason with S2 devices the controller is allowed to "skip" the secure pairing and pair with no security. But for S0 devices, per the spec the controller (the hub in this case) MUST pair with the S0 security. Hubitat is just following the spec in their implementation.

So its only the older ZSE40 (500 series) which has S0 security. For the ZSE40-700 you can actually pair with the S2 security if you want, or without. Mine is paired with S2 and works just fine (it does add a little overhead). Not much risk if someone sniffs the data from a motion sensor though.


Settings for reporting on humidity and light not working.

Your temperature threshold is set to 6, which is 0.6F, so every time the temp changes more then 0.6F it will report ALL 3 values. Maybe you meant to set that to 60 for 6.0 F?

didnt realize it reports all when one changes. i want the temp change at .6 or so.. maybe even .5 but why then did the illuminance get reported at 1:31?