Minoston S2 Remote Control Switch MR40Z


I’m brand new to the openHAB community, and I’m new to Z-Wave as well. I have openHAB 3.3.0 running on Windows 10 and Zulu 11 runtime environment.

I just received this Minoston switch, but it looks like it isn’t in the database yet. I created an account over at OpenSmartHouse and am waiting for the account approval process so I can get the XML file and submit it for consideration.

Decided to create this post so that (a) verify I’m not insane and just missing something or (b) creating this so that those who follow me with this device will be able to find a post about it, and know that it’s in process.

Looking forward to being a member of this community.


Welcome, Jeff! Thanks for being proactive about adding that device. I’ve never heard of Minoston, and it looks like they aren’t in the database. Based on this current discussion, there might need to be some work to add them.

There are other Minoston products in the database (MS11Z, MS13Z), so I’m hopeful that it won’t take that much. :slight_smile:

Ah, yes. NIE Technology is the manufacturer. Should be easy then.

1 Like

Advice appreciated (@rpwong or @chris especially). I tried to create an XML file by using an export of the XML for the MS13Z. There are a couple things I’m not sure what to do with. The Channel definitions section is one, and some of the device properties is another (I made some stuff up for manufacturerRef and dbReference). A lot of the data for the XML is found here: https://minoston.com/wp-content/uploads/2021/08/MR40Z-说明书.pdf

My first swag at the XML is attached.

Thanks for the advice! Hope to get this finalized and submitted soon.
MR40Z.xml (11.7 KB)


IIUC you aren’t following the standard path for addding devices to the Z-Wave database:

  1. Include the device in your Z-Wave network.
  2. Upload the Node XML file (openHABian: /var/lib/openhab/zwave/network_....xml - YMMV) to the Z-Wave database.
  3. Enrich the new device with additional information (association groups, parameters, …).

Detailed information:

If by (1) you mean to follow the process for my Z-Wave controller to recognize the MR40Z device, I have done that. It is completely unknown, hence the need to create the XML for it?

For (2) I’m on a Windows platform, so are you saying that I can put the XML in the …/userdata/zwave folder? Is there a specific naming convention I need to use for that?

For (3) I think I have that in my XML file. Although I admit to not knowing if I have the right information for channel definitions or a couple of device properties.

Thanks for bearing with me. New to all of this (but not to programming concepts).


As a battery device this may be true or not. Do you have 5 lines on the UI page? If not wake the device untill you do. At that point somewhere on your system will be a OH generated XML to use as @anon71759204 directs.
Five Lines of configured node

Also there is an MR40Z in the DB (0924:D001), so you might just have a different TYPE:ID. Those numbers are how the binding either ID’s the device (or not). You can’t just make them up. (The numbers in your XML match another device, so that is a problem as well.)

OK. I managed to get it excluded and re-included, but here’s what it shows when I add a Thing. I have woken it up several times, FWIW. If the MR40Z is in the database, is there something I need to do on the openHAB side?

From the openhab log, this might help. NODE6 is the new device:
2022-12-03 09:30:26.290 [WARN ] [mmon.WrappedScheduledExecutorService] - Scheduled runnable ended with an exception:
java.lang.NullPointerException: null
at org.openhab.binding.zwave.discovery.ZWaveDiscoveryService$1.run(ZWaveDiscoveryService.java:87) ~[?:?]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ~[?:?]
at java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[?:?]
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]
at java.lang.Thread.run(Thread.java:829) [?:?]
2022-12-03 09:30:31.482 [INFO ] [ve.internal.protocol.ZWaveController] - Starting ZWave controller
2022-12-03 09:30:31.484 [INFO ] [ve.internal.protocol.ZWaveController] - ZWave timeout is set to 5000ms. Soft reset is false.
2022-12-03 09:30:31.488 [WARN ] [nal.protocol.ZWaveTransactionManager] - NODE 3: Not initialized (ie node unknown), ignoring message.
2022-12-03 09:30:31.495 [WARN ] [nal.protocol.ZWaveTransactionManager] - NODE 3: Not initialized (ie node unknown), ignoring message.
2022-12-03 09:30:31.497 [WARN ] [nal.protocol.ZWaveTransactionManager] - NODE 3: Not initialized (ie node unknown), ignoring message.
2022-12-03 09:30:31.499 [WARN ] [nal.protocol.ZWaveTransactionManager] - NODE 3: Not initialized (ie node unknown), ignoring message.
2022-12-03 09:30:48.047 [INFO ] [ve.internal.protocol.ZWaveController] - Starting ZWave controller
2022-12-03 09:30:48.048 [INFO ] [ve.internal.protocol.ZWaveController] - ZWave timeout is set to 5000ms. Soft reset is false.
2022-12-03 09:31:54.829 [WARN ] [wave.discovery.ZWaveDiscoveryService] - NODE 6: Device discovery could not resolve to a thingType! 0312:0924:D001::1.0
2022-12-03 09:31:54.834 [INFO ] [g.discovery.internal.PersistentInbox] - Added new thing ‘zwave:device:7312d8bde4:node6’ to inbox.
2022-12-03 09:31:55.089 [INFO ] [ommandclass.ZWaveVersionCommandClass] - NODE 6: Command Class COMMAND_CLASS_BASIC has version 0!

And from the events log:

2022-12-03 09:31:54.835 [INFO ] [openhab.event.InboxAddedEvent ] - Discovery Result with UID ‘zwave:device:7312d8bde4:node6’ has been added.
2022-12-03 09:32:35.909 [INFO ] [openhab.event.InboxRemovedEvent ] - Discovery Result with UID ‘zwave:device:7312d8bde4:node6’ has been removed.
2022-12-03 09:32:35.922 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘zwave:device:7312d8bde4:node6’ changed from UNINITIALIZED to INITIALIZING
2022-12-03 09:32:35.997 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘zwave:device:7312d8bde4:node6’ changed from INITIALIZING to OFFLINE (BRIDGE_OFFLINE): Controller is offline
2022-12-03 09:32:36.002 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘zwave:device:7312d8bde4:node6’ changed from OFFLINE (BRIDGE_OFFLINE): Controller is offline to ONLINE
2022-12-03 09:35:12.798 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘zwave:device:7312d8bde4:node3’ changed from OFFLINE (COMMUNICATION_ERROR): Node is not communicating with controller to ONLINE
2022-12-03 09:35:12.807 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item ‘WallPlug17129_ElectricmeterkWh’ changed from 0.51 to -21474835.94
2022-12-03 09:35:17.723 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item ‘WallPlug17129_Electricmeterwatts’ changed from 21.64 to 21.65
2022-12-03 09:35:22.583 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item ‘WallPlug17129_Electricmetervolts’ changed from 122.7 to 122.64
2022-12-03 09:35:43.907 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘zwave:device:7312d8bde4:node3’ changed from ONLINE to OFFLINE (COMMUNICATION_ERROR): Node is not communicating with controller
2022-12-03 09:40:12.822 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘zwave:device:7312d8bde4:node3’ changed from OFFLINE (COMMUNICATION_ERROR): Node is not communicating with controller to ONLINE
2022-12-03 09:40:17.632 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item ‘WallPlug17129_Electricmeterwatts’ changed from 21.65 to 21.73
2022-12-03 09:40:22.489 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item ‘WallPlug17129_Electricmetervolts’ changed from 122.64 to 122.99
2022-12-03 09:40:22.567 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘zwave:device:7312d8bde4:node2’ changed from OFFLINE: Node not found in Z-Wave network to REMOVING
2022-12-03 09:40:22.580 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘zwave:device:7312d8bde4:node2’ changed from REMOVING to REMOVED
2022-12-03 09:40:22.589 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘zwave:device:7312d8bde4:node2’ changed from REMOVED to UNINITIALIZED
2022-12-03 09:40:22.647 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing ‘zwave:device:7312d8bde4:node2’ changed from UNINITIALIZED to UNINITIALIZED (HANDLER_MISSING_ERROR)

@apella12 yes, I do see these lines in the UI:

Ok that is good.

Also try to put logs in the </> they are easier to read. I can see some issues, but they are unrelated to Node6.

What is the problem is that the device was added in September and OH3.3 is from June. Your numbers match so it will be recognized (nothing to add to the DB). Look at the bottom of this post for two ways to update your binding and device. Choose the one you feel comfortable with.

@apella12 thank you for the pointer. Looks like the bundle:update was what I needed!

On to the next piece of business of linking the buttons on the MR40Z to controlling other devices.

Thank you also @anon71759204 and @rpwong.

1 Like