Zooz 4-in-1 Sensor Ver 2.0 ZSE40

I just recently purchased a new Zooz 4-in-1 ZSE40, but when it arrived it seems to be a new version, with Version 2.0 in the name. It now uses a CR123 battery instead of the 2 AAAs. I don’t think the Z-Wave binding is picking up this new device correctly. It adds and identifies but several things don’t work correctly.

  • I can’t save changes to the name or location of the thing in either the Paper UI on HABMIN.
  • I can’t change the temperature mode to Ferenheight, it is stuck on Celsius
  • In the Paper UI none of the items show up, just the default thing name.
  • Other settings might not be saving, but the only one I needed to change was the 5. Trigger Interval and that one worked.

Do the Z-wave bindings need to be updated for this new device. I am new to OpenHAB so I may be unfamiliar with the process of adding new devices.

openHAB 2.3.0 Build #1252

I like this sensor as it is very sensitive so it work wells for a motion sensor for an office where I will be there for long periods of time but not moving a lot. IT would be great to have it fully working.


Check the database if device type and device id are the same:

Also compare the configuration parameters from the database to those in your manual. If they are different a new device may need to be created.

I don’t know if I am looking in the correct place but here are the differences that I noticed.

Manufacturer ID is “027A” in the database and “027a “Unknown Manufacturer”” in HABmin.

Firmware version is 17.9 in HABmin , database says all.

Z-Wave Plus Node Type is “UNKNOWN_TYPE” in HABmin

The printed manual that I received is not the same as the “V2” manual posted in the database.

Allowable Range for parameter 2 needs to have a value range of 1 - 50 according to the manual, t is 0 - 50 in the database.

Allowable range for parameter 4 should be 5 - 50 according to the manual, the database has 1 - 50 in the database.

Parameter 5 for the motion sensor rigger interval seems to be new in this version, the value range is 15 - 60 The database goes to 255

The Command Classes seem to be very different. To save some typing I will just list the commands in the manual.

When I try to save the name or location in HABmin I get this error in the logs.
2018-04-12 18:51:26.993 [ERROR] [e.internal.WriterInterceptorExecutor] - MessageBodyWriter not found for media type=text/plain, type=class java.util.Collections$UnmodifiableCollection, genericType=class java.util.Collections$UnmodifiableCollection.

Also in HABmin and PaperUI there are 2 channels that have the exact same address.
Switch - Motion - zwave:device:f788bb8f:node5:sensor_binary
Switch - Binary Sensor - zwave:device:f788bb8f:node5:sensor_binary

Bump… any fix for this?I have the exact same issue.

From what i gather from looking into this is the manufacturer ID. On the device list website it has a capital “A” on “027A” but the device itself is loading as a lower case “027a”. Linux is very exact on its casings and im sure that is atleast part of the problem if not whole.

Is there a way I can modify the database locally, submit changes, or create another listing for the Ver.2?

I don’t think there’s any issue here - the only problem here is that HABmin doesn’t know this manufacturer - this is just a display issue. The Binding does know, and the binding has detected the device, and is showing the correct name, and all the configuration etc.

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).