[DRIVER] Zooz Sensors Advanced (ZSE40 / ZSE44)

Zooz Sensors Drivers with the goal of exposing all advanced features and settings.

If you are using this driver PLEASE like :heart: this post so I can get an idea of how many people are using it. It will motivate me to make more/better contributions as well.

Current Driver Version: 1.0.2

Supported Models:

  • ZSE40 Multi-Sensor (v2 500) - Min Firmware 32.02 (known to work)
  • ZSE40 Multi-Sensor (v2 700) - Original Firmware 32.32
  • ZSE44 Temp/Humidity Sensor - All Firmware

Works for ZSE40 (original 500 chip) and ZSE40-700 series. I am interested in getting it working for older models but would need some log tracing from users!

NOTE: The ZSE40 v2 with 500 chip has a final firmware update to 32.12 that can be requested from Zooz. This sends alerts to the hub at the start and end of active motion only. The repeated alerts every 8 seconds was removed. This will greatly cut down on excessive z-wave traffic.

Features and Tips


  • All configuration variables available with designated defaults per Zooz
  • Pressing configure will queue up a full reconfigure next wake up.
  • Pressing Refresh will queue up a full refresh next wake up.
  • Normally at Wake Up it will just request the battery level to avoid excessive commands.
  • If you change settings and save it will queue them up to be set at the next wake up. So you can force it to wake up right away or just leave it and let it do it on its own.

For the original ZSE40 (500 series) FW < 32.12 I would HIGHLY recommend changing Parameter 8 to "Notification Reports Only". For the ZSE40-700 I am myself leaving it at the default to make sure no motion reports get missed.

Reporting Issues

Reporting Issues
Please use GitHub to report any issues so each one can have its own conversation and tracking. Please provide as much info as you can including model, firmware and the "configVals" data string. Issues · jtp10181/Hubitat · GitHub

Must PRESS CONFIGURE BUTTON and check all your parameters after any driver changes.

You can find all the drivers on the Hubitat Package Manager (HPM)
HPM Install Guide: HOW TO: Install Hubitat Package Manager (or any other User App)
HPM Docs: https://hubitatpackagemanager.hubitatcommunity.com/

Or manually install from my GitHub Repository:

Donations: Never required, always appreciated! ---->>>> PayPal.Me <<<<----


I'm on firmware 24.16 for my v2 500 series sensor. Is therea newer version?

Check with Zooz I am not sure which version can be updated to what. The newest for the original ZSE40 is 32.18

I actually just realized that out of my 3 ZSE40s, one is on 24.16, one is 32.20, and the 3rd one isn't showing a version number at all. No biggie, I thought. I switched to the zwave firmware updater driver, thinking I could initiate a get version report, and then go wake up the sensor with the zwave button. But I can't get the get version report to queue up. After clicking the button, literally nothing happens (confirmed with debug logging turned on). So I'm not sure what version my 3rd one is.

So this makes me wonder, what has changed between firmware versions on this sensor? I don't even see a changelog for it on Zooz's website. @agnes.zooz

@jtp10181 why does this driver require a minimum firmware of 32.02?

32.02 is the listed minimum because I don’t know what was added or changed anywhere before that, so it might actually work fine with older versions. If anyone wants to test and we find issues I can adjust the driver to work on them.

1 Like

Are you going to add the driver to HPM?

Yes, I plan to. Had to get it out quick and then I left for a business trip. I am back for the weekend but heading out again on Monday.


before i get any .. can anyone comment on relative batter life.. old version even when you could avoid chattiness was terrible. a month or two at best

Its basically the same device, just upgraded chip to 700 series and updated the command classes and firmware. I think the 700 chip is supposed to get better battery life and the fact that it does not send constant motion notifications while motion is active should prolong the battery as well.

Since it is a brand new device, wont have a real life answer for you for a few months. Mine is being long term tested as we speak.

There are 3 versions of this sensor now. The V1 ran off of I think a CR2032 battery. The V2 (of which I have 3) runs on a CR123a battery. I've had them for at least a year at this point and have not had to replace the battery yet.

Technically, there is not a V3. They took the V2 sensor and put a 700 series chipset in it and updated the firmware.

1 Like

I thought it ran of 2 AAA batteries…?

Maybe it did. I never had the V1. But I vaguely remember reading someone that it was a coin battery.

1 Like

Anyone know if the ZSE40s on Amazon are the 500 or 700 series? Doesn't say...

I normally order from smartest house, but need one sooner than they deliver.

EDIT: Nvm, I ordered from smartest house instead.

1 Like

Did the problems with the older v2 series ever flush out? I have a couple of these that I took down when the issues were coming up a year ago.

EDIT: Just booted it up again, factory defaulted it, Excluded, included. here is where it's at:

  • FirmwareVersion: 32.2
  • zwWakeupInterval: 43200
  • deviceId: 8449
  • S2: 128
  • manufacturer: 634

Thats probably actually 32.02 which is the original the v2 came with. You can try my driver and setting parameter 8 to off. I am not sure if that firmware has it implemented yet so you might just get a pending changes where it cannot set it. 32.18 for sure has that parameter if you get the newest and update it.

Also pairing with a USB stick and bypassing the S0 pairing will cut down on the zwave chatter some (there is a guide on here somewhere for it). I am running a V2 32.18 on S0 security in my office that gets motion non-stop during the day and it has not been causing any obviously detrimental to the mesh. Also Zooz keeps telling me they are working to see if they can get rid of all the extra chatter totally with another firmware update to the 500 series model (I remind them about it every once and a while).


To change the parameter, switch it in the driver code? Don’t see anything within the device Itself to set.


State Variables

  • resyncAll : true
  • wakeUpInterval : 43200
  • configVal2 : 10
  • configVal3 : 10
  • configVal4 : 10
  • configVal5 : 15
  • configVal6 : 3
  • configVal7 : 4
  • pendingRefresh : true
  • lastCheckInDate : 11/07/2021 06:09:59 PM
  • reportedHumidity : 45
  • lastCheckInTime : 1636330199733
  • reportedTemp : 73.67

Did you install and switch to my custom driver from the main post? It should give the option to change the parameter. The stock driver does not show it.

Correct. Under type-> user listing for the device, selected ‘Zooz ZSE40 4-in1 multi sensor’

Edit: I’ll try again tomorrow to make sure I grabbed all of the raw file.

Oh, also you need to wake the device up manually so the driver can grab a version report. Then refresh the page and it should have the deviceModel in the state variables.
If that doesn't work you could try doing configure, press configure first then wake up the device. Configure might reset some of your parameters to the defaults.

1 Like

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.

Download the Hubitat app