Zooz 4-in-1 Sensor Ver 2.0 ZSE40

It would be great if this new version of this device could be made to be fully functional in OpenHAB. After a few months of testing many sensors this in one of my favorites when temperature and light is needed. All of the issues in the original post still exist today, and even with these annoying issues, it’s still good. It would be really great to be able to edit all fields in at least one interface, and be able to change the temperature to Ferenheight.

I was not aware it wasn’t working - the binding supports around 735 devices at the moment so it’s hard to keep track if people don’t raise issues!

The message I was responding to only mentioned the fact that the manufacturer was shown as unknown.

Ok - to look at those then -:

This is nothing to do with the device.

Please use the dev version as it now uses UOM so will solve this issue.

Items are not part of the binding. It sounds like you need to link items to the channel?

1 Like

if there is something i can do to help i would. It is not working properly. It loads up the device name, ID etc… but none of its bindings. Nothing to link it to or add. I downloaded the xml from the zwave device list and overwritten the node#.xml file in the zwave folder, and the device works. But when I restart the computer everything goes back. There must be either a bug or a change in the info that isn’t identifying it properly.

Also BTW, i upgraded to the snapshot version to make sure if the latest would fix, but its the same.

Here is an image after I overwrite the node2.xml file with the ZSE40 openhab2 device from the device list website. But its a rough temp fix as openhab reloads the broken binding after a reboot:

First is to understand what isn’t working as I don’t understand at the moment.

Why? These files are totally different format. Please don’t mess around with the XML files that OH writes - it will likely cause you problems and certainly doing this will definately cause errors. Each time you do this, the binding will have to download ALL the data from the device again. This will take time - it will not know what the device type is and likely the device won’t work properly until all this data is downloaded again! Since this is a battery device, this will take some time (hours!!!) unless you are manually waking the device up each time?

As above, the files are totally different format. There will be an exception caused by what you are doing, and the binding will rewrite the correct file.

I don’t know what you mean? What are you basing this statement on? From what I see in the image, it looks like it’s detected ok. I see all the channels displayed, but you haven’t linked any items to the channels (at least in the first image!). The third image also shows that the device is working as I can see all the data as well.

So, I don’t really see any problem with the binding based on what you have presented above. I suggest that you don’t mess with the XML files and make sure the device is fully initialised by waking it up.

well… the third image is after i overwritten the xml file with what is on the device list which you mentioned i shouldnt have done but thats the only way i get any information from this sensor.

That is before I’ve done anything to the xml file and the device is obtained on its own… it doesnt have anything to link it to. If I press the link button or the add button there is nothing availiable on the dropdown for my device.

Well… I’ll try to let the system/device communicate on its own for a day or two and see if im not being patient enough for it. Ive tried pressing the the zwave button in the sensor plenty of times to “wake it up”. Quite fresh to openhab as well.

When you mentioned on an earlier reply about changing the temperature setting

How do i go about enabling/using the dev version? Do you mean the snapshot version? Changing it to *F is also a setting i would like to change and I cant running on snapshot.

I can assure you that this is not helping :wink: . The file will NOT be read as it is a different format. All that this this does is to force a complete reinitialisation of the device.

Please make sure that it is really sending the wakeup notification - this is not the same as just sending sensor data. I don’t know this device, so can’t comment on how to do this, but it needs to actually send the notification or the binding can’t communicate TO the device.

Please see here -:

I dont know if it was a coincidence or not, but about 10 mins after I installed the dev version, both of my sensors loaded up properly and all the stats showed up.

I’m trying to add the “Ver. 2.0” version of the ZSE40 and I’m having similar issues. I’m new to OpenHAB and trying to follow the docs/tutorials but have no idea how to troubleshoot Zwave issues.

Here are the properties listed in the UI: There is no “manufacturer ID”, “device ID” or “type” listed anywhere in the UI that I can find. Is there a log file I need to check?

zwave_class_basic NOT_KNOWN
zwave_class_generic NOT_KNOWN
zwave_frequent false
zwave_neighbours 1
zwave_nodeid 5
zwave_version 0.0
zwave_listening false
zwave_routing false
zwave_beaming false
zwave_class_specific NOT_USED

I’m tried excluding and re-adding several times. Same result each time.

You need to wake up the device so that the binding can discover its services. Have a look at the device manual to see how to do this.

I’ve been doing that already. In the manual it says to use a paperclip to press the button “once” to wake up the device. I have been “waking it up” for well over an hour by pressing it once every few minutes. After doing that for some time I started going back to excluding it and re-adding it once again, and even doing several factory resets.

After excluding it and re-adding it several times, as well as doing several “factory resets” on the ZSE40, it finally added it:

zwave_class_basic ROUTING_SLAVE
zwave_class_generic SENSOR_NOTIFICATION
zwave_frequent false
zwave_neighbours 1
modelId ZSE40
zwave_version 17.9
zwave_listening false
zwave_plus_devicetype HOME_SECURITY_SENSOR
manufacturerId 027A
manufacturerRef 2021:2101
dbReference 491
zwave_deviceid 8449
zwave_nodeid 5
vendor Zooz
defaultAssociations 1
zwave_routing true
zwave_wakeup_time 2018-09-07T20:27:41Z
zwave_beaming true
zwave_class_specific NOTIFICATION_SENSOR
zwave_manufacturer 634
zwave_devicetype 8225

However: Now if I attempt to modify the name, location, or temperature scale I get a “ERROR: 500 - Internal Server Error” in PaperUI. In Habmin it says it saves correctly but if you close and re-open none of the Properties values get saved. See screenshot below:

Oh and I forgot to mention: In addition to not being able to set properties like name or location, the sensor values also don’t show up under the “Control” tab as expected:

Any suggestions on how to get this working?

Ok, I finally managed to figure out how to access the logs. Running OpenHAB on a Synology with the “tmpfs” option makes it so you cannot access the log files via the network share. You have to SSH into the Synology and access the files from there.

Whenever I exclude and re-add the ZSE40 I get this error in the logs:

2018-09-09 18:43:09.017 [ERROR] [ore.common.registry.AbstractProvider] - Could not inform the listener 'org.eclipse.smarthome.core.thing.link.ThingLinkManager$3@3bfb6938' about the 'UPDATED' event!: Cannot add element, because an element with same UID (zwave_device_58343371_node11_sensor_binary -> zwave:device:58343371:node11:sensor_binary) already exists.
java.lang.IllegalArgumentException: Cannot add element, because an element with same UID (zwave_device_58343371_node11_sensor_binary -> zwave:device:58343371:node11:sensor_binary) already exists.
	at org.eclipse.smarthome.core.common.registry.AbstractManagedProvider.add(AbstractManagedProvider.java:56) [101:org.eclipse.smarthome.core:0.10.0.oh230]
	at org.eclipse.smarthome.core.common.registry.AbstractRegistry.add(AbstractRegistry.java:222) [101:org.eclipse.smarthome.core:0.10.0.oh230]
	at org.eclipse.smarthome.core.thing.link.ThingLinkManager$3.createLinkIfNotAdvanced(ThingLinkManager.java:257) [108:org.eclipse.smarthome.core.thing:0.10.0.oh230]
	at org.eclipse.smarthome.core.thing.link.ThingLinkManager$3.updated(ThingLinkManager.java:282) [108:org.eclipse.smarthome.core.thing:0.10.0.oh230]
	at org.eclipse.smarthome.core.thing.link.ThingLinkManager$3.updated(ThingLinkManager.java:1) [108:org.eclipse.smarthome.core.thing:0.10.0.oh230]
	at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListeners(AbstractProvider.java:62) [101:org.eclipse.smarthome.core:0.10.0.oh230]
	at org.eclipse.smarthome.core.common.registry.AbstractProvider.notifyListenersAboutUpdatedElement(AbstractProvider.java:86) [101:org.eclipse.smarthome.core:0.10.0.oh230]
	at org.eclipse.smarthome.core.common.registry.AbstractManagedProvider.update(AbstractManagedProvider.java:116) [101:org.eclipse.smarthome.core:0.10.0.oh230]
	at org.eclipse.smarthome.core.common.registry.AbstractRegistry.update(AbstractRegistry.java:232) [101:org.eclipse.smarthome.core:0.10.0.oh230]
	at org.eclipse.smarthome.core.thing.internal.ThingManager$2.run(ThingManager.java:344) [108:org.eclipse.smarthome.core.thing:0.10.0.oh230]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
	at java.lang.Thread.run(Thread.java:748) [?:?]

I’m assuming this is because the ZSE40 has two binary sensors on it, so the OpenHAB UI is trying to generate two sensor items with the same name?

I don’t see two binary sensor channels on this device, so I don’t think that’s correct?

The device itself doesn’t have two channels, but two show up in both Paper UI and Habmin, both with identical address / item names:


If I click the radio button to “enable” either channel it tries to enable both because they are assigned the same name.

If you look at the earlier posts in this thread other users were reporting the same symptoms:

So I’m not sure if the Zwave binding is mis-reading the device or the UI is mistakenly generating two channels when there should only be one, but either way I think there may be a bug here somewhere.

Maybe you need to update the definition as what you are showing here is not what is in the database so I suspect this was updated a while ago. Just delete the thing, and add it back and it should pick up the latest database (I’m assuming you are on 2.4 snapshot).

As I mentioned before, I have deleted, removed, and excluded and re-added this device so many times now I’ve lost count. Every time I re-add it: it either shows up as an “Unknown” device with no channels or the few times it shows up correctly it shows up with two identically named channels (As others have also experienced above).

I am not… I followed the instructions at the main openHab page for setting up on Synology NAS: https://www.openhab.org/docs/installation/synology.html#installation

Which links to this GitHub repo: https://github.com/openhab/openhab-syno-spk/releases

And there the newest version listed is: which is what I downloaded and installed onto my Synology NAS. I don’t see a 2.4 listed anywhere for Synology. Is that something I should upgrade to? Or should I ditch using the NAS and throw this onto one of the Raspberry Pis I have laying around?


If you are not using the latest snapshot, then this is most likely the issue. Please consider using 2.4 snapshot if you want this to work.

Like I asked in my last post: Does that exist for Synology or do I need to ditch the NAS and move to Raspberry Pi? I don’t see a 2.4 build listed for Synology anywhere that I can find…

I’m afraid I’m not familiar with every installation package - sorry.

I know it’s an old post but I wanted to add some comments.
I’m new to openHab and the binding process.

I have bought the same sensor and it works as expected.

  • Press the sensor “connect” button and start Z-Wave scan: the ZSE-40 Motion Sensor was found instantly.
  • Be patient. The manual clearly indicates that once the sensor has joined the Z-WAVE network, it can take a while before the channels are configured.
  • I press, at an interval of 15 seconds, the same join button for about 3-4 minutes. The sensor booklet says 2 minutes.
  • Eventually the sensor “Things Type and Property” were refreshed with the correct information.
  • A bit later (10-20 s), the sensor channels appeared. (i.e. temperature, R.H., luminance, motion, and battery)

I created items from the channel’s sensor and they all work correctly.
The temperature sensor seems to be off by +1.5 °C / 2.7 °F.

Hardware : Pi 2, openHabian 3.1.0, NORTEK USB Z-Wave/Zigbee