Roller shutter channel not accepting group addresses if data type is set

Hey everyone!

I cannot find my syntax mistake and need a pair of fresh eyes to spot the mistake. The problem ist that the roller shutter does not work unless I do not state data types for the stop/start GA.

In the logs I get:

2024-05-10 22:05:47.994 [WARN ] [al.channel.GroupAddressConfiguration] - Failed parsing channel configuration '5.001:4/3/4+<5.001:4/4/4'.

2024-05-10 22:05:47.995 [WARN ] [al.channel.GroupAddressConfiguration] - Failed parsing channel configuration '1.008:4/0/4+<1.008:4/2/4'.

My channel config is as follows:

I double-checked with the ETS.
grafik
grafik

The GA for up/down is 4/0/4 and the data type is 1.008, for the up/down status it is 1.008 as well, for the start/stop it is 1.008 and for the absolute position and its status it is 5.001.

If I remove the data type it works:

So I re-added the data-type one by one.
1.008:4/0/4+<1.008:4/2/4 fails
1.008:4/0/4+<4/2/4 triggers no warning

Same for
5.001:4/3/4+<5.001:4/4/4 → warning
5.001:4/3/4+<4/4/4 no warning

Q1: So one must not set the data type for the status GA?

And further, if I set the data type for the start/stop GA, the roller shutter does not get any command sent to GA 4/0/4. If I skip the data type it works.

1.008:4/1/4 fails, but no warning in the logs.
4/1/4 works

failing:


working:

Q2: So one must not set a data type for the start/stop GA?

This is with a MDT roller shutter actor, in case that makes any difference.

runtimeInfo:
  version: 4.1.2
  buildString: Release Build
locale: de-DE
systemInfo:
  configFolder: /openhab/conf
  userdataFolder: /openhab/userdata
  logFolder: /openhab/userdata/logs
  javaVersion: 17.0.10
  javaVendor: Debian
  osName: Linux
  osVersion: 5.14.21-150500.55.59-default
  osArchitecture: amd64
  availableProcessors: 4
  freeMemory: 389170632
  totalMemory: 734003200
  uptime: 691599
  startLevel: 70
addons:
  - automation-jsscripting
  - binding-astro
  - binding-knx
  - binding-sonos
  - persistence-rrd4j
  - ui-basic
  - ui-habpanel
clientInfo:
  device:
    ios: false
    android: false
    androidChrome: false
    desktop: true
    iphone: false
    ipod: false
    ipad: false
    edge: false
    ie: false
    firefox: true
    macos: false
    windows: true
    cordova: false
    phonegap: false
    electron: false
    nwjs: false
    webView: false
    webview: false
    standalone: false
    os: windows
    pixelRatio: 1
    prefersColorScheme: dark
  isSecureContext: true
  locationbarVisible: true
  menubarVisible: true
  navigator:
    cookieEnabled: true
    deviceMemory: N/A
    hardwareConcurrency: 8
    language: de
    languages:
      - de
      - en-US
      - en
    onLine: true
    platform: Win32
  screen:
    width: 1920
    height: 1080
    colorDepth: 24
  support:
    touch: false
    pointerEvents: true
    observer: true
    passiveListener: true
    gestures: false
    intersectionObserver: true
  themeOptions:
    dark: dark
    filled: true
    pageTransitionAnimation: default
    bars: light
    homeNavbar: default
    homeBackground: default
    expandableCardAnimation: default
  userAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101
    Firefox/125.0
timestamp: 2024-05-11T06:48:10.969Z

Answer for Q1: Yes, you must not (i.e. it’s not allowed to do so) use different DPT within the same parameter. So regardless how many GAs are set to the same parameter, all of them must have the same DPT. Therefor it doesn’t make sense to set the DPT more than once per parameter.

Answer for Q2: in fact, you shouldn’t set any DPT if it’s the default one. :slight_smile:

1 Like

Thanks for the insights!

For the start/stop (stopmove) openhab uses a different DPT by default, if I read correctly:

grafik

The ETS states 1.008. So who is right and should I change the DPT in the ETS or expect openhab to be able to accept 1.008, if I set it?

Answer to myself: change the ETS. For the actual actions it does not make a difference since it is 0/1 anyway, just for the display on the group monitor, 10.010 is more precise.

1 Like

Correct.
In fact, SubDPT is only for display purpose and will not affect the “real” value which is transferred.

But: openHAB uses SubDPT information for units of measurement (UoM, QuantityType…) so for number channels even the SubDPT is crucial.