I am running OH 4.2.0 on Docker and having difficulties reading a KNX Binary Counter (Weinzierl IO411) - especially with 32 bit integer DPT13 values
Here is my knx.thing:
Bridge knx:ip:bridge "KNX IP Router 751" [
type="TUNNEL",
ipAddress="192.168.1.123", // Replace with your KNX IP Interface address
portNumber=3671,
useNAT=true
] {
Thing device binary_input "Wasserverbrauch Zähler" @ "Technikraum" [
address="1.1.4"
] {
//Type number : zaehlerstand "Zählerstand" [ ga="<5/1/1", dpt="13.1200" ] //does not work
Type number : zaehlerstand "Zählerstand" [ ga="<5/1/1", dpt="14.056" ] // i get some values
Type number : momentverbrauch "Momentverbrauch" [ ga="<5/1/5", dpt="9.025" ]
}
}
and here my things file:
Group Technikraum "Technikraum" ["Location"]
Group KNX_IP_Gateway "KNX IP Router" (Technikraum) ["Equipment"]
//Number:Volume Wasserverbrauch "Wasserverbrauch [%.1f L]" (KNX_IP_Gateway) ["Measurement", "Water", "Tag1"] { channel="knx:device:bridge:binary_input:zaehlerstand" }
Number Wasserverbrauch "Wasserverbrauch [ l]" (KNX_IP_Gateway) ["Measurement", "Water", "Tag1"] { channel="knx:device:bridge:binary_input:zaehlerstand" }
Number:VolumetricFlowRate Momentverbrauch "Momentverbrauch [%.1f L/h]" (KNX_IP_Gateway) ["Measurement", "Water", "Tag2"] { channel="knx:device:bridge:binary_input:momentverbrauch" }
So far so good, now to the problem:
On the Weinzierl IO411 it is possible to set the Counter Datapoint Type.
When i do configure it with Datapoint Type “Float (32bit) - DPT14” i get some values in OH, despite not correct ones (Values should be something like 96,5 and not 1820.16)
ETS6 groupmonitor output:
# Zeit Dienst Flags Prio Quelladresse Quellname Zieladresse Zielname Gebäudefunktion Gebäudeteil Hop Count Typ DPT Info
8 01.08.2024 18:07:12,427 vom Bus Niedrig 1.1.4 KNX IO 411 (4Ii) 5/1/1 Impulszähler 6 GroupValue_Write 14.056 Leistung (W) 42 C1 00 00 | 96,5 W
9 01.08.2024 18:07:12,642 vom Bus Niedrig 1.1.4 KNX IO 411 (4Ii) 5/1/1 Impulszähler 6 GroupValue_Write 14.056 Leistung (W) 42 C3 00 00 | 97,5 W
10 01.08.2024 18:07:13,439 vom Bus Niedrig 1.1.4 KNX IO 411 (4Ii) 5/1/1 Impulszähler 6 GroupValue_Write 14.056 Leistung (W) 42 C5 00 00 | 98,5 W
openhab console (with log:set DEBUG org.openhab.binding.knx
and log:tail
):
18:07:15.618 [DEBUG] [x.internal.handler.DeviceThingHandler] - onGroupWrite Thing 'knx:device:bridge:binary_input' received a GroupValueWrite telegram from '1.1.4' for destination '5/1/1'
18:07:15.630 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Wasserverbrauch' changed from 1815.04 to 1820.16
18:07:17.095 [DEBUG] [x.internal.handler.DeviceThingHandler] - onGroupWrite Thing 'knx:device:bridge:binary_input' received a GroupValueWrite telegram from '1.1.4' for destination '5/1/1'
18:07:17.107 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Wasserverbrauch' changed from 1820.16 to 1825.28
18:07:17.499 [DEBUG] [x.internal.handler.DeviceThingHandler] - onGroupWrite Thing 'knx:device:bridge:binary_input' received a GroupValueWrite telegram from '1.1.4' for destination '5/1/1'
18:07:17.510 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Wasserverbrauch' changed from 1825.28 to 1830.4
When i configure the IO411 to use a DPT13 32bit integer as Counter Datapoint Type, the correct values are sent (ETS log), the OH Binding is receiving the Group Address, but is NOT updating the corresponding Item
ETS Group Monitor:
# Zeit Dienst Flags Prio Quelladresse Quellname Zieladresse Zielname Gebäudefunktion Gebäudeteil Hop Count Typ DPT Info
3 01.08.2024 18:15:55,244 vom Bus Niedrig 1.1.4 KNX IO 411 (4Ii) 5/1/1 Impulszähler 6 GroupValue_Write 13.1200 Delta Volumen Flüssigkeit (l) 00 00 00 67 | 103 l
4 01.08.2024 18:15:55,767 vom Bus Niedrig 1.1.4 KNX IO 411 (4Ii) 5/1/1 Impulszähler 6 GroupValue_Write 13.1200 Delta Volumen Flüssigkeit (l) 00 00 00 68 | 104 l
5 01.08.2024 18:15:56,011 vom Bus Niedrig 1.1.4 KNX IO 411 (4Ii) 5/1/1 Impulszähler 6 GroupValue_Write 13.1200 Delta Volumen Flüssigkeit (l) 00 00 00 69 | 105 l
Openhab Debug Log:
18:15:55.304 [DEBUG] [x.internal.handler.DeviceThingHandler] - onGroupWrite Thing 'knx:device:bridge:binary_input' received a GroupValueWrite telegram from '1.1.4' for destination '5/1/1'
18:15:55.827 [DEBUG] [x.internal.handler.DeviceThingHandler] - onGroupWrite Thing 'knx:device:bridge:binary_input' received a GroupValueWrite telegram from '1.1.4' for destination '5/1/1'
18:15:56.072 [DEBUG] [x.internal.handler.DeviceThingHandler] - onGroupWrite Thing 'knx:device:bridge:binary_input' received a GroupValueWrite telegram from '1.1.4' for destination '5/1/1'
So despite having problems to get the counter object values, the 16 bit float “rate of change / current consumption” object from the IO411 is working without problems with OH:
Type number : momentverbrauch "Momentverbrauch" [ ga="<5/1/5", dpt="9.025" ]
18:07:28.084 [DEBUG] [x.internal.handler.DeviceThingHandler] - onGroupWrite Thing 'knx:device:bridge:binary_input' received a GroupValueWrite telegram from '1.1.4' for destination '5/1/5'
18:07:28.106 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Momentverbrauch' changed from 1 l/min to 0 l/min
I have tried to enable/disable the “UoM” switch in the KNX Binding settings, but i did not make any difference.
Anybody knows what is going on here? I am pretty lost at the moment…
Kind Regards,
Stefan