Unable to edit parameters on one thing Qubino Weather Station

Yes. You can’t edit parameters via any GUI if your device thing is defined by text file.

Edit: actually in this case it should give an “Error 409- conflict”, and not a 500 error … not sure what is happening in your case.

This was all created via paper UI. I am wondering if it could be something lingering from my original install of it that is not allowing me to update. What could I check? I have tried deleting all things as well as items related and included it again but nothing seems to work. It will allow me to delete the thing and items with no problem.

You could check the thing db org.eclipse.smarthome.core.thing.Thing.json in userdata/jsondb , it’s a plain text file that you can even edit.
Possibly something went wrong that corrupted part of that file.

I opened the file and found the weather station in there. I don’t see anything obvious but I will try removing the weather station tonight and see if there is anything straggling in there after I do that. I imagine I could do the same with the Items file.

I noticed this in my log as I deleted the Weather station from HABmin. Could this have anything to do with it?

==> openhab.log <==
2018-05-02 07:38:44.325 [ERROR] [e.internal.WriterInterceptorExecutor] - MessageBodyWriter not found for media type=text/plain, type=class java.util.Collections$EmptySet, genericType=class java.util.Collections$EmptySet.
2018-05-02 07:38:45.559 [ERROR] [e.internal.WriterInterceptorExecutor] - MessageBodyWriter not found for media type=text/plain, type=class java.util.Collections$UnmodifiableCollection, genericType=class java.util.Collections$UnmodifiableCollection.

Every time I click on a thing in HABmin I get this now. I’m not sure if that was happening before as I wasn’t really looking for it.

==> openhab.log <==
2018-05-02 07:40:35.309 [ERROR] [e.internal.WriterInterceptorExecutor] - MessageBodyWriter not found for media type=text/plain, type=class java.util.Collections$UnmodifiableCollection, genericType=class java.util.Collections$UnmodifiableCollection.

You are not alone:

I’ve not notced this - I’d be very surprised if it’s related to HABmin - presumably the same happens with PaperUI?

I can guess that something might have changed and it doesn’t now allow collections of data in configurations, but that’s a total guess. I’ll try and have a look at this in the next day.

Just tested it: no, nothing in the logs, not from showing things, not from editing things … :sunglasses:

Strange - then I guess HABmin is using a different REST endpoint to PaperUI which in itself is a bit surprising. Can you take a look in the browser debug console to see what the REST call is that’s causing the error?

I’m not familiar with the browsers debug console, but I tried:

Showing a node via HABmin gives me this in the console:

angular.js:12011 GET http://192.168.2.237:8080/rest/config-descriptions/channel:zwave:device:15ca6a108b9:node3:alarm_motion 404 (Not Found)
(anonymous) @ angular.js:12011
sendReq @ angular.js:11776
serverRequest @ angular.js:11571
processQueue @ angular.js:16383
(anonymous) @ angular.js:16399
$eval @ angular.js:17682
$digest @ angular.js:17495
$apply @ angular.js:17790
(anonymous) @ angular.js:25890
dispatch @ jquery.js:4435
elemData.handle @ jquery.js:4121
angular.js:12011 GET http://192.168.2.237:8080/rest/things/zwave:device:15ca6a108b9:node3/config/status 500 (Internal Server Error)
(anonymous) @ angular.js:12011
sendReq @ angular.js:11776
serverRequest @ angular.js:11571
processQueue @ angular.js:16383
(anonymous) @ angular.js:16399
$eval @ angular.js:17682
$digest @ angular.js:17495
$apply @ angular.js:17790
(anonymous) @ angular.js:25890
dispatch @ jquery.js:4435
elemData.handle @ jquery.js:4121
angular.js:12011 GET http://192.168.2.237:8080/rest/config-descriptions/channel:zwave:device:15ca6a108b9:node3:sensor_luminance 404 (Not Found)
(anonymous) @ angular.js:12011
sendReq @ angular.js:11776
serverRequest @ angular.js:11571
processQueue @ angular.js:16383
(anonymous) @ angular.js:16399
$eval @ angular.js:17682
$digest @ angular.js:17495
$apply @ angular.js:17790
(anonymous) @ angular.js:25890
dispatch @ jquery.js:4435
elemData.handle @ jquery.js:4121
angular.js:12011 GET http://192.168.2.237:8080/rest/config-descriptions/channel:zwave:device:15ca6a108b9:node3:battery-level 404 (Not Found)
(anonymous) @ angular.js:12011
sendReq @ angular.js:11776
serverRequest @ angular.js:11571
processQueue @ angular.js:16383
(anonymous) @ angular.js:16399
$eval @ angular.js:17682
$digest @ angular.js:17495
$apply @ angular.js:17790
(anonymous) @ angular.js:25890
dispatch @ jquery.js:4435
elemData.handle @ jquery.js:4121
angular.js:12011 GET http://192.168.2.237:8080/rest/config-descriptions/channel:zwave:device:15ca6a108b9:node3:alarm_tamper 404 (Not Found)
(anonymous) @ angular.js:12011
sendReq @ angular.js:11776
serverRequest @ angular.js:11571
processQueue @ angular.js:16383
(anonymous) @ angular.js:16399
$eval @ angular.js:17682
$digest @ angular.js:17495
$apply @ angular.js:17790
(anonymous) @ angular.js:25890
dispatch @ jquery.js:4435
elemData.handle @ jquery.js:4121
eventModel.js:21 message

Showing the same node in PaperUI does not even show me the rest call :sunglasses:

Going directly to the REST Api via browser (GET /config-descriptions/{uri}) and feeding with one of the above errors gives me for channel:zwave:device:15ca6a108b9:node3:alarm_motion:

curl -X GET --header "Accept: application/json" "http://192.168.2.237:8080/rest/config-descriptions/channel%3Azwave%3Adevice%3A15ca6a108b9%3Anode3%3Aalarm_motion"

http://192.168.2.237:8080/rest/config-descriptions/channel%3Azwave%3Adevice%3A15ca6a108b9%3Anode3%3Aalarm_motion

{
  "error": {
    "message": "Configuration not found: channel:zwave:device:15ca6a108b9:node3:alarm_motion",
    "http-code": 404
  }
}

Sorry if this is not the right way to do it :kissing_heart:

Thanks @sihui - so do you mean that the error in the log (MessageBodyWriter not found…) happens when you request the channel configuration? Maybe this is an ESH bug.

I remember a long time ago I fixed a bug in ESH which was throwing an error when requesting configuration for a thing that had no configuration - clearly this is a normal case…

Strange thing is, the error in the openhab.log only appears when I request (=show a thing) it from HABmin, not when I call it directly through the REST Api or from PaperUI.
Does not make a lot of sense, I know …

What does this exactly mean? That node I was calling does have a valid configuration (parameters?), is online and works fine.
BTW, that error message in the log seems to have no impact at all on the functionality, everything is running fine :+1:

When you display the thing, the system requests the configuration of the thing. It doesn’t at that point know if the device has any configuration defined, and in the past, if there was no configuration available, then there was an error. However as I say, some things will not have any configuration, so this is perfectly normal (not so much for ZWave as there’s nearly always configuration at thing level, but other bindings this is probably common).

Thx for your patience and explanation.
I checked “showing things via HABmin” for other bindings (Astro, Xiaomi, Amazon Dash, Hue, Harmony, …), I always get that error message.
Still nothing in the logs doing the same via PaperUI … and still everything works as expected, so don’t worry too much :rofl:

1 Like

I’ll try and have a look when I get a chance - my guess is that it’s a bug, or mis-reported error in ESH, but I’ll see if I can replicate this over the next couple of days.

Thanks for the investigation @sihui

1 Like

I removed the thing in habmin which stated it had also removed the items. Turns out the items lagged behind so I went back and cleared them using paper UI. I have now removed the qubino weather station thing and all the associated items. Made sure nothing appears in PaperUI or Habmin. I looked in both the thing and items file as indicated in the jsondb folder and do not see anything there straggling behind. I then tried to add the thing back via paper UI and just one item to test. Again I still can’t edit. Any clue as to what else I can try?

I completely removed the thing from my z-wave network, checked the jsondb thing and item files and found nothing. I re-added the thing and I am still having the same issue. @chris could this be an issue with the latest z-wave binding? Before I moved on to the one with security I had this device functioning with no issue ( meaning I could edit it). The device is getting telemetry from it’s sensors. Also I noticed it’s not working with security not sure if that means anything…

When editing the jsondb entries, did you stop openhab2 service prior?
Editing jsondb means: stop openHAB, edit, start openHAB.

I think it’s unlikely - there have been no significant changes to the ZWave binding for a long time. Unless the database has been changed for this device, actual code changes are next to none for about 5 months.

The binding doesn’t work with security - you need to use the development binding if you want to use security.

@chris I am sorry that’s what I meant, I am using the development binding as I have locks that I needed to add as well. The build I have is from 4/28 as you made changes to the Qubino RGB device and that’s working better now. My locks are also working with the security. Ill update it to 4/30 version now. It was working well prior to the change to the development binding. I’m not 100% sure it’s that but I know it was working because that was actually the first device I tested OH on before switching from Vera.