I’m using openhab2 with a zwave motion sensor (ZSE40 Zooz 4-in-one motion/temperature/humidity/luminance sensor). The sensor works well. However, I wanted to adapt its sensitivity. So I tried to set the “Motion Sensor Sensitivity” via the thing configuration page in the paper UI. After pressing the save button I get two tray notifications.
First message:
2016-11-05 22:46:57.184 [INFO ] [ome.io.rest.core.thing.ThingResource] - Received HTTP PUT request for update config at 'things/zwave:device:70d13c81:node5/config' for the unknown thing 'zwave:device:70d13c81:node5'.
The result of the procedure is that my configuration changes do not get saved, i.e. when I edit the configuration again I see the old values.
Is this a bug in the zwave binding or can I do something to fix this?
Were you able to solve this?
I’m having a simular error. When I’m trying to update a thing in OH2 (paperUI), I’m getting ‘Thing updated’, followed by ‘ERROR 404 - Not Found’.
If you are defining data in the text files, then you can’t use the UI to configure certain things and you will get this error - I suspect this is likely to be the cause here?
No - I mean items and things. If you use text files for configuration, then there are limitations…
OH currently doesn’t officially support device configuration - the current expectation is that other software should be used to configure devices. I know that’s not what people want, and I only found out that this was the official concept long after I’d implemented it, but it means the functions I use to configure devices are only meant to be used for configuring the runtime.
Officially, if you configure the runtime using text files, then you can’t use it to configure the UI…
In my case I wanted to update a device setting, namely the “Motion Sensor Sensitivity”. This setting is stored in the device itself, since it directly influences the motion detection. I don’t know whether openHAB2 tries to store the device settings also locally, but I assume that this should not conflict with my configuration files, since the whole thing definition of my motion sensor is not stored in a configuration file. Is it even possible to configure things via configuration files? I thought this works only for items, sitemaps and rules. Anyway, so far I could always configure things in the paper UI. This is the first paper UI configuration error I get.
No - both HABmin and PaperUI will do the same thing as they both send the same commands to OH.
I’m not sure that this is the problem - I’m just trying to outline that using text files might be an issue - I don’t know if that’s what people here are doing or not…
Yes, it does and this is the cause of the problem.
As above, this might not be the reason - it’s just one possible cause. As I don’t know your system, I’m just offering suggestions / limitations of the system…
I installed RC1 and I have this issue, but only in Paper UI (Habmin works fine)
To be clear:
I have no text config files.
If I use Paper UI to change properties on Zwave device, as described above I get the Thing Updated followed shortly by ERROR: 404 - Not Found, and the property does not save.
Habmin has no issue modifying the same property, which is then visible in both Paper and Habmin
@xylo did you end up opening a bug? @chris I assume this is a Paper UI bug? ie if Habmin has no issue, the binding and other backend stuff is working fine.
If you can isolate exactly what you changed it would be useful. I know habmin saves things in a slightly different way than paper ui (unless it’s changed) but if you can work out what change doesn’t work it would be good.
In Paper UI, if I edit any Thing and then apply I get the error.
Eg if I edit my LED bulb, and edit the Colour Change Speed.
Using WireShark, I can see it actually seems to send all parameters (as opposed to Habmin which only sends modified value)
Request URI: /rest/things/zwave:device:1ac5c271:node3/config
JavaScript Object Notation: application/json
Object
Member Key: group_org.openhab.binding.zwave.internal.protocol.ZWaveAssociationGroup@1f123a01
Array
Key: group_org.openhab.binding.zwave.internal.protocol.ZWaveAssociationGroup@1f123a01
Member Key: config_38_4_000000FF
Number value: 33
Key: config_38_4_000000FF
Member Key: config_32_1
Number value: 1
Key: config_32_1
Member Key: config_38_4_00FF0000
Number value: 101
Key: config_38_4_00FF0000
Member Key: config_252_1
Number value: 0
Key: config_252_1
Member Key: config_80_1
Number value: 2
Key: config_80_1
Member Key: powerlevel_level
Number value: 7
Key: powerlevel_level
Member Key: config_37_4_0000FF00
Number value: 15
Key: config_37_4_0000FF00
Member Key: group_1
Array
Key: group_1
Member Key: config_38_4_7F000000
Number value: 7
Key: config_38_4_7F000000
Member Key: group_2
Array
Key: group_2
Member Key: config_37_4_00FF0000
Number value: 10
Key: config_37_4_00FF0000
Member Key: config_37_4_7F000000
Number value: 0
Key: config_37_4_7F000000
Member Key: switchall_mode
String value: SWITCH_ALL_INCLUDE_ON_OFF
Key: switchall_mode
Member Key: config_36_1_wo
Number value: 0
Key: config_36_1_wo
Member Key: group_org.openhab.binding.zwave.internal.protocol.ZWaveAssociationGroup@af47994
Array
Key: group_org.openhab.binding.zwave.internal.protocol.ZWaveAssociationGroup@af47994
Member Key: powerlevel_timeout
Number value: 0
Key: powerlevel_timeout
Member Key: config_38_4_0000FF00
Number value: 67
Key: config_38_4_0000FF00
Member Key: config_34_1
Number value: 0
Key: config_34_1
Member Key: config_35_1
Number value: 1
Key: config_35_1
Member Key: config_37_4_000000FF
Number value: 0
Key: config_37_4_000000FF
The response is:
Status Code: 404
JavaScript Object Notation: application/json
Object
Member Key: error
Object
Member Key: message
String value: Thing zwave:device:1ac5c271:node3 does not exist!
Key: message
Member Key: http-code
Number value: 404
Key: http-code
Key: error
As Opposed to Habmin which sends the following:
Request URI: /rest/things/zwave:device:1ac5c271:node3/config
JavaScript Object Notation: application/json
Object
Member Key: config_37_4_0000FF00
Number value: 14
Key: config_37_4_0000FF00
Which gets the response:
Status Code: 200
JavaScript Object Notation: application/json
Object
Member Key: statusInfo
Object
Member Key: status
String value: ONLINE
Key: status
Member Key: statusDetail
String value: NONE
Key: statusDetail
Key: statusInfo
Member Key: label
String value: Light_LivingRoom
Key: label
Member Key: bridgeUID
String value: zwave:serial_zstick:1ac5c271
Key: bridgeUID
Member Key: configuration
Object
Member Key: group_org.openhab.binding.zwave.internal.protocol.ZWaveAssociationGroup@1f123a01
Array
Key: group_org.openhab.binding.zwave.internal.protocol.ZWaveAssociationGroup@1f123a01
Member Key: config_38_4_000000FF
Number value: 33
Key: config_38_4_000000FF
Member Key: config_32_1
Number value: 1
Key: config_32_1
Member Key: config_38_4_00FF0000
Number value: 101
Key: config_38_4_00FF0000
Member Key: config_252_1
Number value: 0
Key: config_252_1
Member Key: config_80_1
Number value: 2
Key: config_80_1
Member Key: powerlevel_level
Number value: 7
Key: powerlevel_level
Member Key: config_37_4_0000FF00
Number value: 14
Key: config_37_4_0000FF00
Member Key: group_1
Array
Key: group_1
Member Key: config_38_4_7F000000
Number value: 7
Key: config_38_4_7F000000
Member Key: group_2
Array
Key: group_2
Member Key: config_37_4_00FF0000
Number value: 10
Key: config_37_4_00FF0000
Member Key: config_37_4_7F000000
Number value: 0
Key: config_37_4_7F000000
Member Key: switchall_mode
String value: SWITCH_ALL_INCLUDE_ON_OFF
Key: switchall_mode
Member Key: config_36_1_wo
Number value: 0
Key: config_36_1_wo
Member Key: group_org.openhab.binding.zwave.internal.protocol.ZWaveAssociationGroup@af47994
Array
Key: group_org.openhab.binding.zwave.internal.protocol.ZWaveAssociationGroup@af47994
Member Key: powerlevel_timeout
Number value: 0
Key: powerlevel_timeout
Member Key: config_38_4_0000FF00
Number value: 67
Key: config_38_4_0000FF00
Member Key: config_34_1
Number value: 0
Key: config_34_1
Member Key: config_35_1
Number value: 1
Key: config_35_1
Member Key: config_37_4_000000FF
Number value: 0
Key: config_37_4_000000FF
Key: configuration
Member Key: properties
Object
Member Key: zwave_class_basic
String value: ROUTING_SLAVE
Key: zwave_class_basic
Member Key: zwave_class_generic
String value: MULTILEVEL_SWITCH
Key: zwave_class_generic
Member Key: zwave_frequent
String value: false
Key: zwave_frequent
Member Key: zwave_neighbours
String value: 1,2
Key: zwave_neighbours
Member Key: zwave_version
String value: 1.4
Key: zwave_version
Member Key: zwave_listening
String value: true
Key: zwave_listening
Member Key: zwave_plus_devicetype
String value: LIGHT_DIMMER_SWITCH
Key: zwave_plus_devicetype
Member Key: zwave_deviceid
String value: 98
Key: zwave_deviceid
Member Key: zwave_nodeid
String value: 3
Key: zwave_nodeid
Member Key: zwave_routing
String value: true
Key: zwave_routing
Member Key: zwave_beaming
String value: true
Key: zwave_beaming
Member Key: zwave_class_specific
String value: POWER_SWITCH_MULTILEVEL
Key: zwave_class_specific
Member Key: zwave_manufacturer
String value: 134
Key: zwave_manufacturer
Member Key: zwave_devicetype
String value: 515
Key: zwave_devicetype
Key: properties
Member Key: UID
String value: zwave:device:1ac5c271:node3
Key: UID
Member Key: thingTypeUID
String value: zwave:aeon_zw098_00_000
Key: thingTypeUID
Member Key: channels
Array
Key: channels
Member Key: location
String value: Living Room
Key: location
There’s two possibilities - one is that PaperUI is doing something wrong - the other is I’m aware of a bug in the zwave binding that incorrectly saves associations. This is fixed in some versions, but I’m not sure if it’s fixed in the master branch, and even if it is, these parameters remain in the configuration. Can I suggest if you are game @peter to look in the json database (in the userdata/jsondb folder), look in the things file (I forget the exact name and delete the entry that has this “group_org.openhab.binding.zwave.internal.protocol.ZWaveAssociationGroup@1f123a01”. If you want to provide the jsondb file I can be a bit clearer. We can see if removing this solves the issue.
I’m having the same problem, and I’m also using Z-Wave. If I attempt to update device properties through the PaperUI, I also get the 404 error. I have had the same problem with both the release candidate and the final release. I discovered the problem before I had any textual configurations and was just playing around with the Inbox / Discovery features. Manually editing the JSON files in /userdata/jsondb, as well as using HABMIN also works for me so I suspect this is a bug with the PaperUI.
Also same issue with DSB09 Home Energy Meter…404 error when editing device properties via Paper UI. Suspicious DEBUG entries here…
09:28:08.253 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Configuration update received
09:28:08.333 [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 11: Configuration update group_org.openhab.binding.zwave.internal.protocol.ZWaveAssociationGroup@103b4c0 to []
09:28:08.336 [INFO ] [ome.io.rest.core.thing.ThingResource] - Received HTTP PUT request for update config at 'things/zwave:device:6bc1c726:node11/config' for the unknown thing 'zwave:device:6bc1c726:node11'.