Unable to save thing Z-Wave config

I got myself two z-wave fabrio RGBW controllers and I am trying to setup the device but everytime I hit save on the thing config I get

[ERROR] [rg.apache.cxf.jaxrs.utils.JAXRSUtils] - No message body writer has been found for class java.util.Collections$UnmodifiableMap, ContentType: */*

Just wanted to see if this was a bug as I am sure I haven’t done anything wrong. Looking at other posts it seems it is because a default value isn’t going through.

I am using openhabian build 3.1.0 release build on a PI using an aeotec USB Z-wave dongle.

Have added the Thing in ui or with .Thing File?

If with .thing file you can’t change configuration. You than have to include per ui first, than change configuration and than you can exclude and include per file again.

You should definitely not exclude and reinclude again. This will reset the device and you will loose any configuration you just made.

Just use the UI to create the thing, then when you are finished configuring, delete the thing from the UI and add it to the things file.

I added the device through the UI via a z-wave scan. So the thing was added via the ui not through file creation. I will increase the log output to see what setting it is having an issue with.

A Long Time ago, i did it just like you say. I couldn’t exacatly remember. You are right. Delete and re add per file, no exclusion.

But seams not to bei the problem i tought…

Sorry for the delay in coming back.

2021-08-25 10:56:17.526 [DEBUG] [onfig.core.ConfigDescriptionRegistry] - No config description found for 'thing:zwave:device:512:node22', using alias 'thing-type:zwave:fibaro_fgrgbw442_00_000' instead

2021-08-25 10:56:17.546 [DEBUG] [st.core.internal.thing.ThingResource] - Config description validation exception occurred for thingUID zwave:device:512:node22 - Messages: {config_154_4=The value must not be less than 0.}

2021-08-25 10:56:17.551 [ERROR] [rg.apache.cxf.jaxrs.utils.JAXRSUtils] - No message body writer has been found for class java.util.Collections$UnmodifiableMap, ContentType: */*

The value in the webui is 127.

This parameter defines value sent to devices in association groups.

The parameters consist of 4 bytes, each byte reserved for separate channel, from least significant (IN1) to most significant (IN4).

Applicable for Basic Set and Switch Multilevel Set commands.

Parameter size: 4B

Default value: 4294967295 (0xFF FF FF FF – 255 for all channels)

Available values:

For every byte: 0-99, 255

So I am beyond my understanding of how this works now to provide that error versus how this error is coming up.

Device code:

UID: zwave:device:512:node22
label: kitchenRGBW-2
thingTypeUID: zwave:fibaro_fgrgbw442_00_000
  group_9: []
  group_8: []
  config_154_4_00FF0000: 255
  group_5: []
  group_4: []
  group_7: []
  group_6: []
    - controller
  config_30_4_000000FF: 0
  group_3: []
  config_32_4_00FF0000: 255
  group_2: []
  config_152_2: 3
  config_150_1: 0
  config_33_4_0000FF00: 0
  config_155_4_7F000000: 0
  config_33_4_000000FF: 0
  config_154_4: -1
  config_156_4: 1667457891
  config_64_2: 0
  config_20_1: 2
  config_31_4_000000FF: 0
  config_41_1: 15
  config_156_4_00FF0000: 99
  config_62_2: 3600
  config_22_1: 2
  config_43_1: 15
  config_34_4_00FF0000: 255
  config_34_4_7F000000: 4
  config_32_4_000000FF: 0
  config_1_1: 0
  config_155_4_00FF0000: 0
  config_30_4_0000FF00: 0
  config_31_4_0000FF00: 0
  config_33_4_7F000000: 2
  config_66_2: 3600
  config_154_4_7F000000: 127
  config_32_4_0000FF00: 0
  config_154_4_000000FF: 255
  config_154_4_0000FF00: 255
  config_30_4_00FF0000: 0
  config_32_4_7F000000: 1
  config_151_2: 3
  config_33_4_00FF0000: 255
  config_157_1: 0
  config_155_4: 0
  config_42_1: 15
  config_31_4_00FF0000: 255
  config_31_4_7F000000: 5
  config_34_4_0000FF00: 0
  config_35_2_0000FFFF: 600
  config_65_2: 10
  config_156_4_000000FF: 99
  config_156_4_7F000000: 99
  config_21_1: 2
  config_63_2: 5
  config_40_1: 15
  config_156_4_0000FF00: 99
  config_34_4_000000FF: 0
  group_10: []
  config_30_4_7F000000: 0
  config_155_4_000000FF: 0
  config_155_4_0000FF00: 0
  config_23_1: 2
  node_id: 22
bridgeUID: zwave:serial_zstick:512
location: Kitchen

The GUI is creating:
config_154_4: -1
Removing this solves the issue but I am not sure how it is getting there.

1 Like

Same problem occured here, thanks for the solution!
openHAB: 3.2.0.M2
osName: Mac OS X
osVersion: 10.15.7
osArchitecture: x86_64
browser: Safari 15.0
zwave binding: 3.2.0.M2
thing: FGRGBW-442 FIBARO RGBW Controller 2

I tried out the following thing before found your solution :sweat_smile:

  • When “Show advanced” is not checked:
    • no error displayed on MainUI
    • error in browser console:
      scr 2021-10-08 browser err
    • error in openhab.log:
      [ERROR] [rg.apache.cxf.jaxrs.utils.JAXRSUtils] - No message body writer has been found for class java.util.Collections$UnmodifiableMap, ContentType: */*
    • removing line config_154_4: -1 in Code pane really solves the Save changes issue
    • But try to set value of 154 IN4 to 255 on Thing pane causes this, which seems to be bug:
      [DEBUG] [ding.zwave.handler.ZWaveThingHandler] - NODE 16: Update CONFIGURATION 154/4 to -1
    • According to the device documentation all four bytes’ default value is 255 (0xFF)
      scr 2021-10-08 fgrgbw442 doc

  • With “Show advanced” checked:
    • error popup on UI:
      scr 2021-10-08 oh popup
    • error text on UI under advanced parameter 154 (wich contains all 4 bytes)
    • no error in browser console
    • no error in openhab.log
    • when deleting value from advanced parameter 154:
      [ERROR] [st.core.internal.thing.ThingResource] - Exception during HTTP PUT request for update config at 'things/zwave:device:controller:node16/config'
      java.lang.NullPointerException: null
    • you can put value 4294967295 (0xFFFFFFFF) into advanced parameter 154, this will update 154 IN4 to 255 also, but after coming back/refresh the value will be -1 and 154 IN4 127 again, so this is not a solution

Glad it helped you. I am not sure where the -1 is coming from but overall simple fix.

I have seen another thread with other devices showing ish the same errors. I turned on the API and zwave debug to find out what line caused the issue.