[RELEASE] Zooz Motion Sensor ZSE18

This is a DTH for the Zooz Motion Sensor ZSE18.




Got the handler installed last night! I attempted to use it cloud based but the lag was too much from the WAF (use it for turning on the basement lights). So I followed your steps, did the setup and converted back to a local motion detector. Haven’t been able to test it since but fingers crossed!

Does anyone else have this? I’m running into issues where unless I literally walk up to the device, it won’t detect motion. It’s as if it’s throw distance is 2 feet and supper narrow. I have the sensitivity at the highest at this point with no luck (battery powered).

Any thoughts?

I don’t have this problem with the two I just got. One is down a long narrow hallway and will trip even if I walk past the end opposite of the sensor.

Sorry, no help from me.

Did you wake the device up after changing the sensitivity setting?

1 Like

Are you still using that other generic DTH or did you switch it back to the one meant for this device?

1 Like

@krlaframboise Any plans to add wake up interval changing to the settings? The manual says it can be changed, but I don’t see it listed in the manual under “Customize your sensor” parameters". :thinking:

Changing the wake up interval won’t work if the device is included as a powered device so I thought including that setting might be confusing.

SmartThings defaults the wake up interval of all z-wave devices to 4 hours and waking it up less often then that won’t have a noticeable effect on the battery life.

Why do you want to be able to change it?

Does using this DTH temporarily to apply custom settings and switching back to a local handler actually retain settings?

As long as you don’t exclude the device and the other DTH doesn’t explicitly change the configuration parameters, then it will retain the setting changes made with this DTH. The generic built-in DTHs shouldn’t change any of the settings, but if you use a DTH meant for another device then it might.

Just make sure you wake the device up a couple of times after saving the settings screen to make sure they all get sent to the device, before switching to the other DTH.

I plan on releasing a new version later this week that has a “sync status” tile which will show if there are pending changes that haven’t been sent to the device. I’ll probably also add the wake up interval setting that @Automated_House requested.


The device health check is set for 8 hours, so the default 12 hour wake-up causes the device to go offline unless there is motion.

Are you assuming this is going to happen with this device or have you actually seen it happen?

This DTH sets the wake up interval to 4 hours and it sets the SmartThings Health Check threshold to 8 hours and 5 minutes so it shouldn’t mark the device offline unless it really is offline.

That being said, if you joined it as a powered device it no longer supports the wake up interval so changing it won’t do anything, but if it goes 8 hours and 5 minutes without any events SmartThings will execute the ping command.

The handler’s ping command will request a report from the device and create an event when it receives the report which will prevent SmartThings from marking it offline. At least that’s how it’s supposed to work, but SmartThings doesn’t always send the ping command or it sends it and doesn’t wait long enough causing it to sometimes get marked offline anyways.

1 Like

Mine has gone offline several times now if there isn’t any motion events. It actually doesn’t seem to be waking up and checking in even after 12 hours.

Looking at your code, it seems the command to set the wakeup interval is pulling in variable “seconds”

private wakeUpIntervalSetCmd(seconds) {	
return secureCmd(zwave.wakeUpV2.wakeUpIntervalSet(seconds:seconds, nodeid:zwaveHubNodeId))


But you are setting variable “wakeUpIntervalSecs” during the configure command

// ST sets default wake up interval to 4 hours so make it report offline if it goes 8 hours 5 minutes without checking in.
	def wakeUpIntervalSecs = (4 * 60 * 60)		
	cmds << wakeUpIntervalSetCmd(wakeUpIntervalSecs)

Sorry if i’m not interpreting this right.

The variable name passed in doesn’t matter.

It’s possible the device never received the command so tap refresh twice, watch live logging and wake it up. You should see a log entry that starts with something like “wakeupinterval =”

Did you join it as a battery device or powered?

battery powered. I’ll pull up live logging when i get home. Work blocks it :-1:

The manual wake up never generated logs. Also realized I never got any acceleration events. So I reset and re-paired with live logging running. Now getting all events and manual wake up working. Looks like I’m squared away!

1 Like

I gave up on the local handler since I figured it could have caused an issue. I reset the device to factory and started over with this DTH and am still seeing the same problem? Unless I’m doing something wrong, I’m not sure why my field is so narrow? I’ll try to capture a video of it so you all can see the narrow zone.

The 4 hour wake up is now working, but I got some random acceleration alerts overnight. :man_shrugging: not really concerned since this is mounted on a wall, so won’t be using it for acceleration anyway.

The motion sensor is really sensitive, but requires 8 seconds of constant vibration so could it be an AC or some other appliance turning on near it?

It is mounted on a big panel mirror, so i suppose it’s theoretically possible it’s picking up some kind of harmonic resonance or something else weird.