HABmin, zwave things, items, and dashboards

Ok, so I got the snapshot.

This may be my inexperience with OH and Zwave…but:

  • The new zwave binding says it’s installed: binding-zwave - 2.4.0.SNAPSHOT
    (Note: I just did openhabian-config, I did not uninstall/install the binding)

  • I should have figured out what I needed to backup and reinstall…I lost the MQTT setup I had :frowning:
    (But, i probably need the experience of re-doing it anyway.)

  • the NZW39’s now show up as dimmers. And automatically add a scene item (not sure how to use those yet…)

  • I added a slider to a habpanel dashboard. It controls the dimmer. And, when the button on the dimmer is pressed the slider only updates after re-running the dashboard. (Is the slider “knob” supposed to indicate on/off? It does change the graphic of the button when clicked…but, nothing happens (is this part of the no update when the NZW39 button is pushed?)

O… OK. You hadn’t updated to 2.4 yet. :slight_smile:

You must have Simple Mode turned on. If you use/plan to use .rules files, you should probably disable this. You’ll need to manually create the items, but you can chose the name. Although, I think you can leave it on and rename the auto created items too.

Set Configuration parameter 6 to the Z-Wave option, and then set Association Group 3 to the controller. This should send updates from the plug to OH when manually changed, if I got it all setup properly. :crossed_fingers:

Um…do you mean:

  1. that 2.4 is newer than 2.4.0

or

  1. that 2.4 is the latest from snapshot, and even though it shows that in Bindings, I need to un-install/install

I do plan to use rules.

I won’t get to try this until tomorrow…

I also looked at the MQTT stuff and the mqtt.cfg and sensors.items files are there and the binding is still installed, so, I think I just lost the habpanel I was using to try stuff.

Thanks for all the help! :+1:

1 Like

I’m just trying to understand openHABian… I’m guessing the openhabian-config does an upgrade of OH, which would also pull the latest bindings too since you got the updated Z-Wave binding.

Um…so, there are four parameter 6’s listed.

I attempted to change: “Send command on Z-wave action” to “Enable” and hit save an it just shows pending.

parameter 7 is: “Association Group 3 settings” with choices “Dim up/down” and “Keep in sync”
Same pending state.

Under association groups, it show Group 3 with choices “openHAB controller” and the two NZW39 nodes.
But if I change it to openHABcontroller, hit save click on another device and back Group 3 is still blank.

(not sure I grok association group yet, as well…)

There is a UI bug in Habmin. You can check PaperUI to verify the change went through, but it is best not to do any zwave configuration in PaperUI.

Yes, parameter 6 has 4 options that can be enabled/disabled. This is much more user friendly than one option. The zwave option is the right one. Does the item update now after manually adjusting the device?

Only if I refresh the web page (habpanel).

And, as I mentioned, no changes I make in things chow as changed.

Also (but different issue), the MQTT binding shows as installed, but doesn’t show up under bindings. So I can’t make a thing for it…

So, while attempting to change anything about one of these devices I get the following in the log:


2018-07-30 13:56:13.849 [ERROR] [st.core.internal.thing.ThingResource] - Exception during HTTP PUT request for update config at 'things/zwave:device:c5b6926a:node3/config'
        at org.eclipse.smarthome.core.thing.internal.ThingRegistryImpl.updateConfiguration(ThingRegistryImpl.java:92) [101:org.eclipse.smarthome.core.thing:0.10.0.201807241640]
        at org.eclipse.smarthome.io.rest.core.internal.thing.ThingResource.updateConfiguration(ThingResource.java:435) [111:org.eclipse.smarthome.io.rest.core:0.10.0.201807241640]
        at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81) [163:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144) [163:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161) [163:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160) [163:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99) [163:org.glassfish.jersey.core.jersey-server:2.22.2]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271) [162:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267) [162:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:315) [162:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:297) [162:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.internal.Errors.process(Errors.java:267) [162:org.glassfish.jersey.core.jersey-common:2.22.2]
        at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317) [162:org.glassfish.jersey.core.jersey-common:2.22.2]
        at com.eclipsesource.jaxrs.publisher.internal.ServletContainerBridge.service(ServletContainerBridge.java:76) [15:com.eclipsesource.jaxrs.publisher:5.3.1.201602281253]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) [175:org.ops4j.pax.web.pax-web-jetty:6.0.9]
        at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:284) [175:org.ops4j.pax.web.pax-web-jetty:6.0.9]
        at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) [175:org.ops4j.pax.web.pax-web-jetty:6.0.9]

The MQTT binding is 1.x, so you do not create Things for it. Only 2.x bindings will show up under Configuration> Bindings.

In PaperUI too? Probably related to the errors. @chris might have an idea. Until then, select the device and delete it. Then start zwave discovery and it will be rediscovered. If that doesn’t correct it, try reinitializing it (Habmin> Configuration> Things> > select the device> at the top right, click Tools> select Show advanced settings> select Reinitialize the device).

If that doesn’t work, find the device’s Thing in the /jsondb/org.eclipse.smarthome.core.thing.Thing.json (it is a text file), and post the configuration section. It should look something like this…

  "configuration": {
    "properties": {
      "config_10_1": 100,
      "config_102_4_00000100": 0,
      "group_1": [
        "node_1"
      ],
      "config_102_4_00002000": 0,
      "config_101_4_00000008": 0,
      "config_101_4_00000800": 0,
      "config_101_4_00000004": 1,
      "config_101_4_00000400": 0,
      "config_112_4": 3600,
      "config_101_4_00000001": 0,
      "config_101_4_00000002": 0,
      "config_101_4_00000200": 0,
      "config_103_4_00002000": 0,
      "config_103_4_00000100": 0,
      "config_255_4_wo": 0,
      "config_102_4_00001000": 0,
      "config_1_2": 120,
      "config_7_2": 10000,
      "config_101_4_00001000": 0,
      "config_9_1": 100,
      "config_5_2": 10000,
      "config_102_4_00000008": 1,
      "config_102_4_00000800": 0,
      "config_103_4_00001000": 0,
      "config_11_1": 100,
      "config_102_4_00000004": 0,
      "config_102_4_00000400": 0,
      "config_102_4_00000002": 0,
      "config_102_4_00000200": 0,
      "config_102_4_00000001": 0,
      "config_110_4_wo": 0,
      "config_113_4": 86400,
      "config_101_4_00000100": 0,
      "config_111_4": 30,
      "config_101_4_00002000": 0,
      "config_103_4_00000001": 1,
      "config_103_4_00000002": 0,
      "config_103_4_00000200": 0,
      "config_103_4_00000004": 0,
      "config_103_4_00000400": 0,
      "config_3_1_00000008": 0,
      "config_103_4_00000008": 0,
      "config_103_4_00000800": 0,
      "config_3_1_00000004": 1,
      "config_3_1_00000002": 1,
      "config_3_1_00000001": 1,
      "config_100_4_wo": 0,
      "config_6_2": 10000,
      "config_8_1": 100,
      "config_4_2": 10,
      "node_id": 232
    }

I noticed that if I look at the same device in habmin and paper they show different configurations.

For instance, parameter 4 Invert Switch is set to enable in paper, disable in habmin.

Also in the file you mentioned all the zwave devices have the same hex code c5b6926a. Based on other entries in the file I’m guessing that is the uid for the zstick?

 "zwave:device:c5b6926a:node3": {
    "class": "org.eclipse.smarthome.core.thing.internal.ThingImpl",
    "value": {
      "label": "Z-Wave Node 3: NZW39 Dimming Plug",
      "bridgeUID": {
        "segments": [
          "zwave",
          "serial_zstick",
          "c5b6926a"
        ]
      },
      "channels": [
        {
          "acceptedItemType": "Dimmer",
          "kind": "STATE",
          "uid": {
            "segments": [
              "zwave",
              "device",
              "c5b6926a",
              "node3",
              "switch_dimmer"
            ]
          },
          "channelTypeUID": {
            "segments": [
              "zwave",
              "switch_dimmer"
            ]
          },
          "label": "Dimmer",
          "description": "The brightness channel allows to control the brightness of a light. It is also possible to switch the light on and off.",
          "configuration": {
            "properties": {
              "config_restoreLastValue": true
            }
          },
          "properties": {
            "binding:Command:OnOffType": "SWITCH_MULTILEVEL,BASIC",
            "binding:*:PercentType": "SWITCH_MULTILEVEL,BASIC"
          },
          "defaultTags": []
        },
        {
          "acceptedItemType": "Number",
          "kind": "STATE",
          "uid": {
            "segments": [
              "zwave",
              "device",
              "c5b6926a",
              "node3",
              "scene_number"
            ]
          },
          "channelTypeUID": {
            "segments": [
              "zwave",
              "scene_number"
            ]
          },
          "label": "Scene Number",
          "description": "Triggers when a scene button is pressed",
          "configuration": {
            "properties": {}
          },
          "properties": {
            "binding:*:DecimalType": "CENTRAL_SCENE"
          },
          "defaultTags": []
        }
      ],
      "configuration": {
        "properties": {
          "group_1": [
            "node_1_0"
          ],
          "group_2": [],
          "config_6_1_00000008": 0,
          "config_1_1": 1,
          "switchall_mode": 255,
          "config_2_1": 1,
          "action_reinit": false,
          "config_6_1_00000004": 0,
          "config_7_1": 0,
          "config_6_1_00000001": 1,
          "config_8_1": 0,
          "config_6_1_00000002": 0,
          "config_9_1": 0,
          "config_3_1": 1,
          "config_4_1": 1,
          "config_5_2": 0
        }
      },
      "properties": {
        "zwave_class_basic": "ROUTING_SLAVE",
        "zwave_class_generic": "MULTILEVEL_SWITCH",
        "zwave_frequent": "false",
        "zwave_neighbours": "",
        "modelId": "NZW39",
        "zwave_version": "1.1",
        "zwave_listening": "true",
        "zwave_plus_devicetype": "LIGHT_DIMMER_SWITCH",
        "manufacturerId": "015D",
        "manufacturerRef": "2700:2700",
        "dbReference": "770",
        "zwave_deviceid": "9984",
        "zwave_nodeid": "3",
        "vendor": "Willis Electric Co., Ltd.",
        "defaultAssociations": "1",
        "zwave_routing": "true",
        "zwave_beaming": "true",
        "zwave_class_specific": "POWER_SWITCH_MULTILEVEL",
        "zwave_manufacturer": "349",
        "zwave_devicetype": "9984"
      },
      "uid": {
        "segments": [
          "zwave",
          "device",
          "c5b6926a",
          "node3"
        ]
      },
      "thingTypeUID": {
        "segments": [
          "zwave",
          "willis_nzw39_00_000"
        ]
      }
    }
  },
 

I remember getting the same or similar error before, and I think it was that the config parameters were strings… or had decimals. You’ll need @chris for this one. I take it deleting the Thing and reinitializing did not correct the error?

Nope it won’t let me remove it. Same server error as trying to change parameters.

Interesting. Did you try using PaperUI too?

Yes both had in and paper. Habmin just shows it as being changed then reverts if you move to another device and back. Paper pops up an error message, barely long enough to catch.

1 Like

Unfortunately I don’t know what the error is - it’s not coming from the binding - it’s somewhere in ESH. Of course that’s not to say that something the binding has set in the configuration hasn’t caused it,although the normalisation is meant to solve that. In any case, I’ve no idea from these messages what the issue is - sorry.

How does one tell when snapshot changes have moved to stable?

i.e. It looks like stable was built a few hours ago. If I get that now is the NZW39 change available or is that still only in snapshot? (to clarify, referring to openhabian in this question)

The stable and beta releases are announced in the forum under the Announcements category. Ths is a good category to set to Watching (top right corner). Snapshots of openHAB-Distribution and opeHAB2-Bundles are usually built nightly. The zwave binding also has a development branch, that Chris distributes builds from about weekly in this thread (link in the first post). If you’re willing and able, you can build any of these yourself too.

The NZW39 changes to the device database should be in the snapshot build of the zwave binding (included in the OH snapshot build) and the dev binding. Since you are currently running an OH snapshot, you can uninstall the zwave binding and reinstall to get the latest version of the zwave binding. Or you could update to the latest OH snapshot.

So, I burned another SD card with openhabian, istalled it, waited an hour, went into it added the zwave binding, then added the NZW39’s. (Note: this was the image I used for my first experiment, I didn’t download a new image.)

This of course did not have the new definitions for the NZW39, so I could not attempt to change parameters.

I removed the devices, and the binding. I then used openhabian-config to switch to the snapshot. Added the binding and the things. Attempted to change parameters, the log showed a conformation that the change was made.

But, when I went back to device to check the properties, there were no properties.

Sounds like progress! :+1:

Not quite sure what you mean. Associations in Habmin? Screenshot?

This is what the properties looked like before I switched to the snapshot and what they look like after I changed a property:

After I switched to the snapshot there were things like enable/disable invert switch, 4 entries for parameter 6, etc.