Command not being sent to the KNX Bus

I am trying to control dimmers using KNX Bindings.
The lights brighten when 09 is sent to the physical address and stop brightening when 08 is sent to the bus.
Instead of discovery method, I have specified everything in the files.
Below is a snippet of things file:


       Type dimmer-control        : dimmer1               "Dimmer for Left_Lights1"     [ ga="<0/0/3" ]
       Type dimmer-control        : dimmer2               "Dimmer for Left_Lights2"     [ ga="<0/0/4" ]
       Type dimmer-control        : dimmer3               "Dimmer for Left_Lights3"     [ ga="<0/0/5" ]
       Type dimmer-control        : dimmer4               "Dimmer for Centre_Lights"    [ ga="<0/0/6" ]
       Type dimmer-control        : dimmer5               "Dimmer for Other_Lights"     [ ga="<0/0/7" ]

       Type dimmer-control        : ld1      "Brighten_L1"  [ ga="<0/0/3" ]
       Type dimmer-control        : ld2      "Brighten_l2"  [ ga="<0/0/4" ]
       Type dimmer-control        : ld3      "Brighten_L3"  [ ga="<0/0/5" ]  
       Type dimmer-control        : ld4      "Brighten_O"   [ ga="<0/0/6" ]
       Type dimmer-control        : ld5      "Brighten_C"   [ ga="<0/0/7" ]

I have used two different items to make things simpler.

var dmVar7
var dmVar8
var dmVar9
var dmVar10
var dmVar11

rule "Dimming_LeftLights1"
when
     Item demoSwitch7 changed
then
if(demoSwitch7.state < dmVar7)
{
     fSwitch7.sendCommand(ON)
     Thread::sleep(1000)
     fSwitch7.sendCommand(OFF)
}
else if(demoSwitch7.state > dmVar7)
{
     fd7.sendCommand(09)
     fd7.sendCommand(09)
     fd7.sendCommand(09)
     fd7.sendCommand(08)
}
else if (demoSwitch7.state == 0)
{
     demoSwitch1.sendCommand(OFF)
}
dmVar7 = demoSwitch7.state
end

rule "Dimming_LeftLights2"
when
     Item demoSwitch8 changed
then
if(demoSwitch8.state < dmVar8)
{
     fSwitch8.sendCommand(ON)
     Thread::sleep(1000)
     fSwitch8.sendCommand(OFF)
}
else if(demoSwitch7.state > dmVar7)
{
     fd8.sendCommand(09)
     fd8.sendCommand(09)
     fd8.sendCommand(09)
     fd8.sendCommand(08)
}
else if (demoSwitch8.state == 0)
{
     demoSwitch2.sendCommand(OFF)
}
dmVar8 = demoSwitch8.state
end

rule "Dimming_LeftLights3"
when
     Item demoSwitch9 changed
then
if(demoSwitch9.state < dmVar9)
{
     fSwitch9.sendCommand(ON)
     Thread::sleep(1000)
     fSwitch9.sendCommand(OFF)
}
else if(demoSwitch9.state > dmVar9)
{
     fd9.sendCommand(09)
     fd9.sendCommand(09)
     fd9.sendCommand(09)
     fd9.sendCommand(08)
}
else if (demoSwitch9.state == 0)
{
     demoSwitch3.sendCommand(OFF)
}
dmVar9 = demoSwitch9.state
end

rule "Dimming_OtherLights"
when
     Item demoSwitch10 changed
then
if(demoSwitch10.state < dmVar10)
{
     fSwitch10.sendCommand(ON)
     Thread::sleep(1000)
     fSwitch10.sendCommand(OFF)
}
else if(demoSwitch10.state > dmVar10)
{
     fd10.sendCommand(09)
     fd10.sendCommand(09)
     fd10.sendCommand(09)
     fd10.sendCommand(08)
     
}
else if (demoSwitch10.state == 0)
{
     demoSwitch4.sendCommand(OFF)
}
dmVar10 = demoSwitch10.state
end

rule "Dimming_CentreLights"
when
     Item demoSwitch11 changed
then
if(demoSwitch11.state < dmVar11)
{
     fSwitch11.sendCommand(ON)
     Thread::sleep(1000)
     fSwitch11.sendCommand(OFF)
}
else if(demoSwitch11.state > dmVar11)
{
     fd11.sendCommand(09)
     fd11.sendCommand(09)
     fd11.sendCommand(09)
     fd11.sendCommand(08)
}
else if (demoSwitch11.state == 0)
{
     demoSwitch5.sendCommand(OFF)
}
dmVar11 = demoSwitch11.state
end

When I monitor the bus only 00 and 01 are written to it.

LPDU: BC 00 05 00 33 E1 00 80 14 :L_Data low from 0.0.5 to 0/0/51 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 00 
LPDU: BC 00 05 00 33 E1 00 81 15 :L_Data low from 0.0.5 to 0/0/51 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 01 
LPDU: BC 00 05 00 03 E1 00 81 25 :L_Data low from 0.0.5 to 0/0/3 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 01 
LPDU: BC 00 05 00 03 E1 00 80 24 :L_Data low from 0.0.5 to 0/0/3 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 00 
LPDU: BC 00 05 00 03 E1 00 81 25 :L_Data low from 0.0.5 to 0/0/3 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 01 
LPDU: BC 00 05 00 03 E1 00 80 24 :L_Data low from 0.0.5 to 0/0/3 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 00 
LPDU: BC 00 05 00 33 E1 00 80 14 :L_Data low from 0.0.5 to 0/0/51 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 00 
LPDU: BC 00 05 00 03 E1 00 81 25 :L_Data low from 0.0.5 to 0/0/3 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 01 
LPDU: BC 00 05 00 03 E1 00 80 24 :L_Data low from 0.0.5 to 0/0/3 hops: 06 T_DATA_XXX_REQ A_GroupValue_Write (small) 00 

I want 09 and 08 also to be sent to the bus.
How should I do it?

which dimming actuator model do you have?
have you tried the “standard” dimmer channel definition?

Type dimmer        : demoDimmer        "Dimmer"      [ switch="5/0/0+<5/0/1", position="5/0/2+<5/0/3", increaseDecrease="5/0/4" ]

I guess you don’t have access to ETS or the ETS project?

I am unable to use the standard dimmer channel because the dimmer has only 2 physical addresses. For example: Left Lights 1 have 0/0/51 address with 00 as ON command and 01 as OFF. Dimmers of the left lights 1 have 0/0/3 address. When 01 is sent to the bus the lights start dimming and 00 command stops the dimming. To brighten the lights, 09 command is sent to the bus bus and 08 command stops it.

Which type of dimmer do you use? I’m pretty sure that the dimmer will support more than ON/OFF and dimming UP/DOWN/STOP. :slight_smile:

openHAB does not support Start/Stop dimming and I doubt that it’s possible to emulate the control commands.

I am working with a really old system which has negligible documentation :cry: So I am not aware of the type of dimmer. All I know are the commands being sent to the dimmers.

Well, there should be a way to get this information. But you have to have ETS access to the system…

You don’t have physical access to the dimming actuator on the electrical panel? what is the model and manufacturer?
maybe you can find some documentation on what kind of GAs and functionalities it supports.
You may need ETS access to fully configure it…