Knx dimmer item assigned dpt 9.007 not sending data to knx-bus any more on oh403

Hi all,
i have a knx thing with a channel for setting the humidity value for a controller. This was working fine with older versions of openhab. Now with 4.0.3 i got out that the value of the dimmer item can be changed in openhab, but is not send to knx any more. I can listen by ETS on the bus but there are no messages if change happens in openhab.

channels:
  - id: FeuchteSollwert
    channelTypeUID: knx:dimmer
    label: FeuchteSollwert
    description: ""
    configuration:
      increaseDecrease: 9.007:<3/0/4
      position: 9.007:<3/0/4

Do i have to change something or is there a problem in knx binding?

The manual tells " Data type for DPT 9.007 (Humidity) has changed from PercentType to QuantityType." but i cannot get out if i have to change something.

Could someone help me with this?

You can’t use 9.007 for increaseDecrease, this is completely wrong
A dimmer Channel is only for dimming (and it can only handle values between 0 % and 100 %). Please use a number channel with DPT 9.007 instead.
Tipp: it’s perfectly fine to use a slider Widget to control such a number channel.

Hi Udo,
thank you. Im one step further. It writes now values to the bus. I got out that i have to set 0.7 to make that ETS shows 70% on bus.

But if im using slider widget then it seems not possible to use it

value: oh-slider-card
config:
  min: 0
  max: 1
  releaseOnly: false
  scale: true
  step: 0.1
  label: true
  title: Sollwert Luftfeuchtigkeit

if im sliding to a new value it tells
2023-11-05 11:49:33.236 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KNXHVAC_FeuchteSollwert' changed from 0.7 to 0.5
in log and im seeing this on knx bus. But the slider jumps up then to 1 and stays there (without further logentries). If im setting another value by sliding then the same.
Do you have an idea why it does happen?

Show your item config

HI @stamate_viorel
her it is:

{
  "link": "https://xxxxxxxxxxxxxx/rest/items/KNXHVAC_FeuchteSollwert",
  "state": "0.7",
  "stateDescription": {
    "minimum": 0,
    "maximum": 1,
    "step": 0.01,
    "pattern": "%.0f",
    "readOnly": false,
    "options": []
  },
  "unitSymbol": "one",
  "metadata": {
    "widget": {
      "value": "oh-slider-card",
      "config": {
        "min": 0,
        "max": 1,
        "releaseOnly": false,
        "scale": true,
        "step": 0.1,
        "label": true,
        "title": "Sollwert Luftfeuchtigkeit"
      }
    },
    "semantics": {
      "value": "Point_Setpoint",
      "config": {
        "relatesTo": "Property_Humidity",
        "isPointOf": "Lueftungsanlage"
      }
    },
    "stateDescription": {
      "value": " ",
      "config": {
        "step": "0.01",
        "min": "0",
        "max": "1"
      }
    }
  },
  "editable": true,
  "type": "Number:Dimensionless",
  "name": "KNXHVAC_FeuchteSollwert",
  "label": "FeuchteSollwert",
  "category": "humidity",
  "tags": [
    "Humidity",
    "Setpoint",
    "Point"
  ],
  "groupNames": [
    "gFeuchtigkeit",
    "Lueftungsanlage"
  ]
}

That should be just percentage without decimal

i’ve changed this, then all actualized with ctrl-F5, but problem stays the same:

"pattern": "%%"

But you max it’s 1 change that aswell to 100

then the slider shows all values to 100 and is changeable, but it tries to deliver values bigger than 1 to knx which does noch work (devices cannot accept them) and so its getting back to 0.3 which was last value before:

2023-11-05 14:43:32.977 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KNXHVAC_FeuchteSollwert' changed from 0.3 to 100
2023-11-05 14:43:33.064 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KNXHVAC_FeuchteSollwert' changed from 100 to 0.3

Show your Knox channel configuration.

Hi, my knx channel config now after change which udo suggested:

  - id: FeuchteSollWert
    channelTypeUID: knx:number
    label: FeuchteSollWert
    description: ""
    configuration:
      ga: 9.007:<3/0/4

The < means it’s only reading that group adress.also check if the device has the write flag enabled in the group adress inside ets.

no, thats not correct. im using < very often for items to read and write them. Manual tells:

The optional < sign tells whether the group address of the datapoint accepts read requests on the KNX bus (it does, if the sign is there). 
All group addresses marked with < are read by openHAB during startup

it means only that this is read during startup process of openhab and the item is also readable (not only writable)

The item is writable, because if im not using slider i can write values between 0 and 1 to device which are shown on debug of ets as correct percentage value.

Ok no problem. Leave it if you wish. So right now the problem is that in the logs knx is sending always 0.3 back as state to openhab. So open the ets monitor and see what is send to knx when 100 is send.

  • im writing 100 to item and openhab is converting/sending
  • ETS is getting 9999,36% (4FA1) from knx-bus (seeing in debug mode what openhab sent)
  • knx-humidity-controller is sending 70% (16 D6) to knx-bus back because 70% is maximum on this device
  • openhab predicted to become 100 (because value greaer than 1) (seeing in event log)

So problem fixed ? Maybe change the max to 70 if the knx device accepts max that.

Edit hmm so the item still accept max value of 1. Also the binding is sending 10000. Do a restart of openhab just to be sure.

Which kind of Item do you use?
If Number, make sure it’s Number:Dimensionless and don’t forget to set metadata unit to %

Text definition - as openHAB does not have a code view for Items (yet):

Number:Dimensionless KNXHVAC_FeuchteSollwert "Sollwert Luftfeuchtigkeit" {channel="knx:device:bridge:myThing:channel", unit="%", stateDescription=""[pattern="%d %%"]}

But it should also work with a Dimmer Item, directly linked to the number channel, as Dimmer Items use PercentType without additional configuration.

Hi Udo,

i did not defined my items by textfiles. thats not completely correct that items does not have a code-view. i exported the item you have read obove as code via api-explorer because i were asked for. and yes, my item has Number:Dimensionless and set metadata unit to %

and dimmer item i had at begin of this thread had problems with sending out the value to knx… im not sure if i should go back…

what i know this time: this way i have not would send to knx if values would be 0 … 1 for 0 to 100%. But i dont know how to get the slider widget work between 0 and 1 because this seems not to work as it would between 0 to 100.

No, there is no code view.
Of course you can read via REST API, but that’s no code view, and the json Object is not complete.

Also,

  "unitSymbol": "one",

unit is NOT set to %.

One of my Number:Dimensionless Items:

{
  "link": "http://192.168.178.55:8080/rest/items/RauchCh01Bat",
  "state": "100 %",
  "stateDescription": {
    "step": 1,
    "pattern": "%s %",
    "readOnly": true,
    "options": []
  },
  "unitSymbol": "%",
  "metadata": {
    "unit": {
      "value": "%"
    },
    "semantics": {
      "value": "Point_Control",
      "config": {
        "relatesTo": "Property_Level",
        "isPointOf": "gSmokeADGFlur"
      }
    }
  },
  "editable": false,
  "type": "Number:Dimensionless",
  "name": "RauchCh01Bat",
  "label": "A dg flur bat",
  "category": "battery",
  "tags": [
    "Level"
  ],
  "groupNames": [
    "gSmokeADGFlur",
    "gBatLevel"
  ]
}

the export, the idea, the change:

Now here again the code. I tried it with dimmer item type not and also both 0…1 and 0…100 and % pattern, but not with positive result

{
  "link": "https://xxxxxxxxxxxxxxxxxxxx/rest/items/KNXHVAC_FeuchteSollwert",
  "state": "100",
  "stateDescription": {
    "minimum": 0,
    "maximum": 1,
    "step": 0.01,
    "pattern": "%%",
    "readOnly": false,
    "options": []
  },
  "metadata": {
    "widget": {
      "value": " ",
      "config": {
        "min": 0,
        "max": 100,
        "releaseOnly": false,
        "scale": true,
        "step": 1,
        "label": true,
        "title": "Sollwert Luftfeuchtigkeit"
      }
    },
    "semantics": {
      "value": "Point_Setpoint",
      "config": {
        "relatesTo": "Property_Humidity",
        "isPointOf": "Lueftungsanlage"
      }
    },
    "stateDescription": {
      "value": " ",
      "config": {
        "pattern": "%%",
        "step": "0.01",
        "min": "0",
        "max": "1"
      }
    }
  },
  "editable": true,
  "type": "Dimmer",
  "name": "KNXHVAC_FeuchteSollwert",
  "label": "FeuchteSollwert",
  "category": "humidity",
  "tags": [
    "Humidity",
    "Setpoint",
    "Point"
  ],
  "groupNames": [
    "gFeuchtigkeit",
    "Lueftungsanlage"
  ]
}

Edit 10 mins later: now i have changed item and widget again that it would have the correct values there, but then it is not sending any more the values to bus:

2023-11-05 18:13:13.613 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'KNXHVAC_FeuchteSollwert' changed from 0.8 to 0.9