Double send group address (Rollershutter)

OpenHAB works fine so far. Only problem is with the rollershutter item.
Using MDT JAL-0810.02, JUNG KRM 4093, Raspberry Pie 3, OpenHab 2.1.
When I push the rollershutter down button the group address will send twice. The shutter will move for a centimeter a stops again. Sometimes it works but more often is doesen’t. Same happen when I push the button on my visualization via Raspie. Need some help for configuration.
Thanks.

knx binding?
What is your knx.cfg like?

How did you setup your actuator? What is your item definition like?

Sorry forgot to tell.
Yes, knx binding.
knx.cfg

  • ignorelocalevents=true (Tried it with False some time ago, no effect)
    The rest looks good or are you looking for something particular?
    Actuator looks right. And it worked without Raspi fine. Anything parcticular?
    Control for the shutter is (short - long - short).

Item Definition:

Rollershutter Rollladen_Dachgeschoss	 "Dachgeschoss" {knx="0/0/1, 0/0/2, 0/0/6"}

Sitemap Definition:

Switch item=Rollladen_Dachgeschoss label="Dachgeschoss [%d %%]" mappings=[UP="▲",STOP="■",DOWN="▼"] icon="rollershutter"

Well…
knx.cfg: TUNNEL or ROUTER? bus address? openhab2 mode? There is no secret in there (even the private ip is not helpful to get into your LAN, but of course you can wipe it out)

Actuator: How are the flags set? Did you setup more than one GA per communication object?

At least it’s very clear that your installation worked fine without openHAB, but I can tell you, mine did without automation systems, but there were many configuration issues when I first met automation (gira home server burrowed for testing).

You don’t need the mappings for sure, as openHAB will draw a special rollershutter widget when using a rollershutter item with the Switch widget.

knx.cfg. I just added the config not the complete text.

#busaddr=
ignorelocalevents=true
type=TUNNEL
#port=
#serialPort=
#pause=
timeout=3000
#readRetries
#autoReconnectPeriod=30
#maxRefreshQueueEntries=
numberOfThreads=10
#scheduledExecutorServiceShutdownTimeoutString=
#useNAT=true

For my control (UP/DOWN) I only use one GA. (0/0/1) at the Jung switch.
At the actuator I use 3 GAs (0/0/1, 6/1/5, 6/1/10) 6/1/5 is for group GA as well as 6/1/10.

Jung switch flags: K & Ü
Actuator flags: K & S

I use @ my actuator the function (Single Object Control) This allows me to start the shutter and stop it at any postion by pushing the UP or DOWN Button. Without this function it works for OpenHAB but than I’m not able to stop the shutter from the Jung switch.

The mappings I can erase. Thanks for the hint.

When using openHAB, you have to configure per channel at least UP/DOWN and STEP/STOP. If you want to use absolute positioning, you need also position set and position state. Given:

  • Channel A from MDT JAL-0810.02
  • Plane 1 from JUNG 4093 KRM TS D
  • GA 1/1/1 to move UP/DOWN
  • GA 1/1/2 to STOP moving
  • GA 1/1/3 to move to position (given in %)
  • GA 1/1/4 to report position in %

you would configure your MDT JAL-0810.02 like this:

  • Object 23 (CW) is bound to GA 1/1/1
  • Object 24 or 25 (CW) is bound to GA 1/1/2
  • Object 30 (CW) is bound to GA 1/1/3
  • Object 32 (CRT) is bound to GA 1/1/4

and the JUNG 4093 KRM TS D - configured to use plane 1 as rollershutter:

  • Object 0 (CT) is bound to GA 1/1/2
  • Object 18 (CT) is bound to GA 1/1/1

For reference: Flags for Germany:

  • Communication -> Kommunikation
  • Read --------------> Lesen
  • Write --------------> Schreiben
  • Transmit ----------> Übertragen
  • Update ------------> Aktualisieren

This setup provides to control UP/DOWN/STOP from JUNG

For openHAB you have to configure an Item like this:

Rollershutter MyRS_1 "Rollershutter 1 [%d %%]" {knx="1/1/1,1/1/2,1/1/3+<1/1/4", autoupdate="false"}

So:
openHAB will read 1/1/4 at startup. Only MDT will answer, as this is the only actuator which will answer read requests.
When controlling the rollershutter from JUNG, openHAB will receive telegrams on 1/1/1 and 1/1/2. When the rollershutter is stopped, openHAB will receive it’s position from 1/1/4.
When controlling the rollershutter from openHAB, openHAB will send UP/DOWN through 1/1/1 and STOP through 1/1/2. When doing a MyRS_1.sendCommand(60) openHAB will send 60% to 1/1/3.
When the rollershutter is reaching 60%, it will stop and update it’s state, so openHAB will receive 60% from 1/1/4.

Please set a bus address in knx.cfg suitable to your knx installation. Use a free bus address from your line (not x.y.0)

Udo you made my day!!!
I already had all your required configurations implemented.
I do not know exactly what causes or solved the problem but here is the result what I have changed.
MDT --> Maybe flags adjusted to your suggestion. (No idea because played around)
JUNG --> Object 0 works with 1/1/2 and 1/1/1 (Both tested), Object 18 empty or 1/1/1.
openHAB item as your example.
knx.cfg --> bus address changed to 3.0.1
After that almost everything works. The control via openHAB and Jung works fine.
One thing does not work.
Here is my DG example.

Rollershutter Rollladen_Dachgeschoss							"Dachgeschoss [%d %%]" 										(gDG_Zentral_Rollladen)					{knx="0/0/1, 0/0/2, 0/0/3+<0/0/6", autoupdate="false"}
Number Rollladen_DG_Setpoint 									"Dachgeschoss" 							<blinds>			 										{knx="5.010:0/0/3"}
Number Rollladen_DG_Status										"Dachgeschoss Status [%d %%]"			<blinds>			 										{knx="5.001:0/0/6"}
Switch Rollladen_DG_Status_Auf									"Fährt Auf"								<blinds>			 										{knx="<0/0/9"}
Switch Rollladen_DG_Status_Ab									"Fährt Ab"								<blinds>			 										{knx="<0/0/10"}
Switch item=Rollladen_Dachgeschoss mappings=[UP="▲",STOP="■",DOWN="▼"]
Selection item=Rollladen_DG_Setpoint mappings=[0=Oben, 63="25%", 127="50%", 190= "75%", 255=Unten]
Text item=Rollladen_DG_Status_Auf visibility=[Rollladen_DG_Status_Auf==ON]
Text item=Rollladen_DG_Status_Ab visibility=[Rollladen_DG_Status_Ab==ON]
Text item=Rollladen_DG_Status

I have the current position included in (Rollershutter Rollladen_Dachgeschoss) & (Number Rollladen_DG_Status). The Number Rollladen_DG_Status shows me the current position but not the Rollershutter Rollladen_Dachgeschoss.

I copy and paste the same code to another shutter. I only changed the KNX adresses. And everything is working fine. I do not have any clue. I checked everything. KNX settings are the same. This is the last open point on the shutter items.

Please don’t use the same GA twice. Please delete Rollladen_DG_Setpoint and Rollladen_DG_Status, this information is stored and steered through Rollladen_Dachgeschoss.

Switch item=Rollladen_Dachgeschoss
Selection item=Rollladen_Dachgeschoss mappings=[0="Oben", 25="25%", 50="50%", 75="75%", 100="Unten"]

will do the job.

It works. Thank you.
Last question.
How can I create groups of shutter?
I have 2 shutter at my dinning table and would like to run them separately and as a group?
I have already combined them together in the ETS. But I would like to know how I can do it via the openHAB.
Thanks in advance.

Easy enough :slight_smile:
knx.items

Group:Rollershutter gDiningTable "Rollershutters dining Table"
Rollershutter rDiningTable1 "Rollershutter dining Table 1 [%d%]" (gDiningTable) {knx="1/1/1,1/1/2,1/1/3+<1/1/4",autoupdate="false"}
Rollershutter rDiningTable2 "Rollershutter dining Table 2 [%d%]" (gDiningTable) {knx="1/1/11,1/1/12,1/1/13+<1/1/14",autoupdate="false"}

your.sitemap

Switch item=gDiningTable
Switch item=rDiningTable1
Switch item=rDiningTable2

should work out of the box.

Perfect.

I’m still finishing my visualization (almost done). I have just some feedback (ON/OFF) problems. Should put the questions here or open a new topic?

I’m confused. It worked fine after I’m played around. Now it is not working anymore. I changed everything back. I don’t know what is going on.Maybe I do something wrong.

Group:Rollershutter gRollladenEssen 				"Gruppe Essen"

// Essen 1
Rollershutter Rollladen_Essen1									"Essen 1 [%d %%]" 											(gRollladenEssen)	{knx="0/2/21, 0/2/22, 0/2/23+<0/2/26", autoupdate="false"}
Number Rollladen_Essen1_Setpoint 								"Essen 1" 								<blinds>				 										{knx="5.010:0/2/23"}
Switch Rollladen_Essen1_Status_Auf								"Fährt Auf"								<blinds>			 											{knx="<0/2/29"}
Switch Rollladen_Essen1_Status_Ab								"Fährt Ab"								<blinds>			 											{knx="<0/2/30"}

// Essen 2
Rollershutter Rollladen_Essen2									"Essen 2 [%d %%]" 											(gRollladenEssen)	{knx="0/2/41, 0/2/42, 0/2/43+<0/2/46", autoupdate="false"}
Number Rollladen_Essen2_Setpoint 								"Essen 2" 								<blinds>				 										{knx="5.010:0/2/43"}
Switch Rollladen_Essen2_Status_Auf								"Fährt Auf"								<blinds>			 											{knx="<0/2/49"}
Switch Rollladen_Essen2_Status_Ab								"Fährt Ab"								<blinds>			 											{knx="<0/2/50"}
// Rollladen 1
			Frame label="Rollladen 1"
			{
				Switch item=Rollladen_Essen1 mappings=[UP="▲",STOP="■",DOWN="▼"]
				Selection item=Rollladen_Essen1_Setpoint mappings=[0=Oben, 63="25%", 127="50%", 190= "75%", 255=Unten]
				Text item=Rollladen_Essen1_Status_Auf visibility=[Rollladen_Essen1_Status_Auf==ON]
				Text item=Rollladen_Essen1_Status_Ab visibility=[Rollladen_Essen1_Status_Ab==ON]
			}
			
			// Rollladen 2
			Frame label="Rollladen 2"
			{
				Switch item=Rollladen_Essen2 mappings=[UP="▲",STOP="■",DOWN="▼"]
				Selection item=Rollladen_Essen2_Setpoint mappings=[0=Oben, 63="25%", 127="50%", 190= "75%", 255=Unten]
				Text item=Rollladen_Essen2_Status_Auf visibility=[Rollladen_Essen2_Status_Auf==ON]
				Text item=Rollladen_Essen2_Status_Ab visibility=[Rollladen_Essen2_Status_Ab==ON]
			}
			// Gruppe Essen
			Frame label="Gruppe Essen"
			{
				Switch item=gRollladenEssen
			}

I don’t have a clue.

Please: Never!!! use the same GA in different items. Really!
Don’t do that:

Rollershutter Rollladen_Essen1 "Essen 1 [%d %%]" (gRollladenEssen)	{knx="0/2/21, 0/2/22, 0/2/23+<0/2/26", autoupdate="false"}
Number Rollladen_Essen1_Setpoint "Essen 1" <blinds> {knx="5.010:0/2/23"}
Switch Rollladen_Essen1_Status_Auf "Fährt Auf"	<blinds> {knx="<0/2/29"}
Switch Rollladen_Essen1_Status_Ab "Fährt Ab" <blinds> {knx="<0/2/30"}

You are reusing 0/2/23, this is BAD! You must not do this, and you don’t have to either, as you can perfectly send the selection to the rollershutter, you don’t need a number item for this.

This will completely suffice your needs:

Rollershutter Rollladen_Essen1 "Essen 1 [%d %%]" (gRollladenEssen)	{knx="0/2/21, 0/2/22, 0/2/23+<0/2/26", autoupdate="false"}
Switch Rollladen_Essen1_Status_Auf "Fährt Auf"	<blinds> {knx="<0/2/29"}
Switch Rollladen_Essen1_Status_Ab "Fährt Ab" <blinds> {knx="<0/2/30"}

You can control your blinds with different widgets:

Switch item=Rollladen_Essen1 
Selection item=Rollladen_Essen1 mappings=[0="Offen",25="25%",50="50%",75="75%",100="Zu"]
Switch item=Rollladen_Essen1 mappings=[0="Offen",25="25%",50="50%",75="75%",100="Zu"]

Alll these widgets can coexist, please try it out, don’t reuse GA.

Thanks again. I think these are most of my problems or abnormal events. When the shutters are done I need to double check my other files for these failures.
Anyway one last think. It works but I see in the second line “selection” the percentage as well as in teh line “switch”. I only would like to have one line with the name of the shutter and the percentage.

Then just apply another label in sitemap:

Selection item=Rollladen_Essen1 label="without value" mappings=[0="Offen",25="25%",50="50%",75="75%",100="Zu"]

This was my first suggestion. I can control the shutter from two different sites.
One can be controlled via the floor (attic). This looks good without any number or letter. Perfect.
The control is via the shutter menu with all shutters. This menu shows me only the percentage. I use the same code.
Strange.

Any idea?

I have no idea.

You could try to reverse the definition (setup a label without value in .items) and define an alternative label in the sitemap with value.

I had the same idea. OK I will try this. Thanks.

@Udo_Hartmann
This is an “old” post, but I guess you would know if both UP/DOWN and STOP moving GA´s would always be switching type 1-bit (seen from ETS) or could it also be 1 Byte? Furthermore, would it be possible to configure a Rollershutter item with just 3 GA´s : UP/DOWN (1-bit), POSITION (1-byte) and POSITION FEEDBACK (1-byte) ?