KNX Value not sent to OpenHAB

Hi

hope you can help, I am a little bit at a loss here.
So - I configured a Velux rollershutter to work with my OH2 installation. Which works fine. Now, I’m trying to program a (physical) KNX switch to control the rollershutter - and that’s where I’m stuck.

Here’s what I’ve done and tried:

  • in the knx things there is the corresponding thing definition:
    Type rollershutter : GZ_OG_JD "GZ_OG_JD" [ upDown = "2/2/20", stopMove = "2/2/21", position = "<2/2/22" ]
    In my items file, there is a corresponding item to this:
    Rollershutter GZ_OG_JD "Jalousie Gäste" (Shutter_OG) { channel="knx:device:bridge:generic:GZ_OG_JD" }

  • I’ve also mapped the group addresses (2/2/20 ff) to the physical switch in KNX/ETS

Here is what happens:

  • when I control the rollershutter with the OH app, the shutter works as expected
  • when I try to control the shutter via the physical switch, nothing happens.

Some forensics:

  • When I press the physical button, the knx bus talks to the group address (I can see that in the diagnosis of ETS) - however, there is no event created in OpenHAB
  • Same thing when I press the button in the OH app - group address is triggered - additionally, an event is triggered in OpenHAB

I would’ve said that generally, knx will not send button presses to OH - however, I have another physical switch (which controls a light) where everything is working as expected.

Anyone have any idea?

Thx
Patrick

Did you mean to use a rollershutter-control type channel?

That sort of did it - thanks.
However, while I do receive a value from knx now, it reads:

GZ_OG_JD changed from 0 to 100

when I press the physical switch. I have a rule which says:

rule "Jalousie zu"
when
Item GZ_OG_JD changed from 0 to 100
then
sendCommand(GZ_OG_UP, DOWN)
end

And a rule for up, too, of course.
However, this translates to a button switch either fully opens the shutter or fully close it - how can I configure the switch to properly control the shutter?
I’ve tried linking one item to two channels (knx and velux), but that doesn’t do anything…

Have a look in your events.log
Your xxx-control channel should be producing commands for your openHAB Item in response to poking buttons on the real device.
You’ll find the commands of interest, not the Item state.

I have started to use the knx binding 2.0 after switching to OH3. Unfortunately the readings do not work for me and I do not understand the reason.
I show this with the example of a push button interface which counts the pulses of a S0 interface and sends the value every 100 pulses:

But the diagram in Openhab looks like this.


Interestingly I don’t see any changes in the logging coming from the knx binding, but shelly and others are logged normally.

Things File

Thing device SA_STROMMESSUNG "Energiezahler WP KNX"[ address="1.0.65" ] 

{
Type number: Energieverbrauch_WP_KNX_Zaehler “Energieverbrauch WP KNX” [ ga=“3/0/5” ]
Type number: Leistung_WP_KNX_Zaehler “Summenstrom WP KNX” [ ga=“3/0/6” ]
Type number: Testgruppe “Testgruppe” [ ga=“<3/0/1” ]

Item File

Switch Licht_Buero “Licht Büro” (All) [ “Lighting” ] {channel=“knx:device:bridge:SA5_7:Licht_Buero”}
Switch Kueche_Wandlampen “Küche Wandlampen” (All) [ “Lighting” ] {channel=“knx:device:bridge:SA5_7:Kueche_Wandlampen”}
Switch Licht_WC_EG “Licht WC EG” (All) [ “Lighting” ] {channel=“knx:device:bridge:SA5_7:Licht_WC_EG”}
Switch Schuko_Ladegeraet_Windfang “Licht WC EG” (All) [ “Switchable” ] {channel=“knx:device:bridge:SA5_7:Schuko_Ladegeraet_Windfang”}
Number Energieverbrauch_WP_KNX_Zaehler “Energieverbrauch WP KNX [%.1f kWh]” (All) {channel=“knx:device:bridge:SA_STROMMESSUNG:Energieverbrauch_WP_KNX_Zaehler”}
Number Summenstrom_WP_KNX_Zaehler “Energieverbrauch WP KNX [%.1f kW]” (All) {channel=“knx:device:bridge:SA_STROMMESSUNG:Leistung_WP_KNX_Zaehler”}
Number Energieverbrauch_WP_S0_roh "Energieverbrauch WP S0 roh " (All) {channel=“knx:device:bridge:TASTERINTERFACE_WP:Energieverbrauch_WP_S0_roh”}
Number Energieverbrauch_WP_S0 "Energieverbrauch WP S0 " (All) {channel=“knx:device:bridge:TASTERINTERFACE_WP:Energieverbrauch_WP_S0”}
Number Testgruppe "Testgruppe [%.1f kW] " (All) {channel=“knx:device:bridge:SA_STROMMESSUNG:Testgruppe”}

I have the same situation for other measurements from knx.

BG

Hi Daniel,
you are using DPT Type 13.001 but in OH you are using type number which is as per default DPT 9.001. Your are trying to write a 4 byte value into a 2 byte variable. You have to specify the type as written in the knx binding documentation.

Type number: Energieverbrauch_WP_S0_roh [ ga=“13.001:3/0/7” ]

Check out the link, explaining all types which are supported by the knx binding.

https://github.com/openhab/openhab-addons/blob/58df611298e751f1c56241593371a236fd897aab/addons/binding/org.openhab.binding.knx/src/main/java/org/openhab/binding/knx/internal/dpt/KNXCoreTypeMapper.java#L280

Hi Stefan

Thanks for your reply.
After your suggestet changes, the values seem to look in the right direction, but hey are still strange.

My s0 counter seems to flicker around in openhab, but doesn´t so when I look at the bus directly. I have no clue where the lower value is coming from.
Furthermore, since my change, the push button is shown as unintialized, but it seems to get the values somehow.

The values looked pretty good before OH3 and on KNX1 binding.

Feedback is really appreciated

BR

The Thing „Tasterinface“ is just a container, important is you have configured the group addresses correct. In the end you can also put every Group address in one KNX thing. The binding is listing to the group addresses and there is no compelling context to the device addresses in on your KNX network.
In OH 2.5 it was helpful to restart OH after the implementation of Changes within KNX group addresses, but in OH 3 I didn’t make this experience.

May be you can share the config of the WP-S0-roh value, although the ets one it seems you have continuing mismatch of types. Starting from zero looks like an overflow in the bytes.