KNX binding, RollerShutter State=NULL

Hi all,
I have a problem with the state of my KNX RollerShutter binding.

items:

Rollershutter Shutter_GF_Kitchen "Shutter Kitchen" (GF_Living, Shutters) { knx="<2/0/1, 2/1/1, 2/2/1"}

In my test.rules I have this:

logInfo("test.rules", "Shutter_GF_Living_3 State: " + Shutter_GF_Living_3.state)
logInfo("test.rules", "Shutter_GF_Kitchen State: " + Shutter_GF_Kitchen.state)

And as a result I get this in my Log Viewer:

2018-03-17 16:13:21.563 [ome.event.ItemCommandEvent] - Item 'Shutter_GF_Living_3' received command UP
2018-03-17 16:13:21.691 [ome.event.ItemCommandEvent] - Item 'Shutter_GF_Kitchen' received command DOWN
...
2018-03-17 16:13:39.412 [INFO ] [se.smarthome.model.script.test.rules] - Shutter_GF_Living_3 State: NULL
2018-03-17 16:13:39.417 [INFO ] [se.smarthome.model.script.test.rules] - Shutter_GF_Kitchen State: NULL

So, first the Rollershutter gets the right state from knx bus and later I get only NULL? What could be the reason?

The Item received a command, but not necessarily a state. You should have 4 GA for a roller shutter:

  1. 2/0/1 UP/DOWN
  2. 2/1/1 STEP UP/DOWN (is Stop here)
  3. 2/2/1 Set absolute Position
  4. 2/3/1 Get absolute Position
    The Item is defined as follows:
Rollershutter Shutter_GF_Kitchen "Shutter Kitchen" (GF_Living, Shutters) { knx="2/0/1, 2/1/1, 2/2/1+<2/3/1"}

The actuator should send it’s position at least when stopped. This communication object should have the R-flag set, so openHAB can send a read request on startup.

If the shutter actuator does not send the position, you can set autoupdate to true:

Rollershutter Shutter_GF_Kitchen "Shutter Kitchen" (GF_Living, Shutters) { knx="2/0/1, 2/1/1, 2/2/1",autoupdate="true"}

openHAB will then postUpdate a 100 after receiving a DOWN command respectively a 0 after receiving an UP command.

Thank you for your reply. I have one problem found, there was an error in knx.cfg. Now the initial reading of the KNX items is working.

My actuator has the GAs Position (UP/DOWN), Stop (ON/OFF) and Position (0…255). Position can be read and written, but is not changed, if the Position is set UP or DOWN. I only want to get the Position for my rule. If I set the Position to UP or DOWN, I get the state with 0 resp. 100.

Now keeps one problem: I have also a central GA connected on Position and if the Position was changed by this central GA, the Position state keeps unchanged.

But surely you can change this behavior. Almost every knx actuator which provides absolute position is able to use different GA for set position and get position. This separation is crucial for correct function, the actuator has to send its actual position (0% - 100%) after every stop, and if this is sent through the same GA, one couldn’t use central functions for this control (one actuator would control the other).

Which actuator do you use?

1 Like

I’m using Jalousieaktor REG-K/6×(1×230), 648629 from Merten.

That’s a really old hardware… I had to load an archive product db from 2002 to get a glimpse on the features…

As there is no option to split set and get position, I would guess that you either have to set the R and T flag (but be sure that the first GA bound to the position object is exclusive) or there is no chance to get position at all.
If you set the R flag already, maybe you have to set frequently Read requests for this device to get the information (but this would also generate bus traffic…)