This page last changed on Jan 03, 2014 by hennemarc.

Hi all,

can somebody give me a hint how I can create a custom command for setting a temperature in a KNX command instead of using a slider.

Actually I have created a command with the KNX Command "TEMP" and type 9.001. By using a slider everything works fine. But how can I create my own command? For example I want to create a button which sets the temperature to 16 deg. I tried a KNX command "TEMP 16" but this does not work.

Further on does somebody has a rule example how to use a slider with decimal values instead of integer only?


buttonslider.png (image/png)

You can keep the slider. If you only define the Max and Min images as arrows, you end up with increase/decrease buttons. Click on the image to get a larger picture.

Posted by pz1 at Jan 03, 2014 18:18

Hi Pieter,

thanks for that, but this does not solve my problem. I want to send a value like "TEMP 16.5" to the KNX Bus but I have no clue how the syntax for this looks like.


Posted by hennemarc at Jan 03, 2014 20:21

Looking at the code, I see that what you're trying to do has not been implemented for the TEMP command.
This is some syntax I added in the past for DIM/SCALE (ORCJAVA-71) but it seems it did not make it when other commands were added.

Created ORCJAVA-419 to track this.

Posted by ebariaux at Jan 06, 2014 08:26

Eric, sorry for OffTopic, but you definately know the answer. Please help.
Want to convert time value from seconds to minutes by dividing 60.

rule "Button pressed"
no-loop // Button will be pressed all the time without this structure
  Event (source == "SensButtonsOnOff") // Check if Water button was pressed
  double dMinBoLeft = $VolData.getVolume() * 1.0; // Funny conversion from Integer to Double by * 0.1
  dMinBoLeft = dMinBoLeft / 60;
  Integer iTimeBoLeft = dMinBoLeft.intValue(); // <= Error here: look to bottom

Error is the following:

ERROR 2014-01-06 10:47:02,636 : Rule Compilation error Cannot invoke intValue() on the primitive type double

I don't see any kind of error in such string: Integer iTimeBoLeft = dMinBoLeft.intValue();

Posted by sattva at Jan 06, 2014 08:52

Don't assume I know the answer to all questions posted on the forums!

But yet, in this case I guess it's a Java issue, where you're trying to call a method on a primitive type (as indicated by compiler).


Integer iTimeBoLeft = (int)dMinBoLeft;
Posted by ebariaux at Jan 06, 2014 09:07

Thank you. It helped!

Don't assume I know the answer to all questions posted on the forums!
Sorry, I don't assume. Didn't want to make you mad.
Just decided if it is an error in one simple string then you may know for sure the problem.
Possibly it may help others.

Thank you again, Eric.

Posted by sattva at Jan 06, 2014 09:31

Glad it helped and no worries, not mad at all.
Just to point out that even if I know my way around OR quite a bit, there are plenty of knowledgeable users on the forums that can be of better help than me when it comes to certain topics like rules, Z-Wave, ...

Posted by ebariaux at Jan 06, 2014 09:35

Hello Eric,

coming back to the original question. Is this something which can be implemented in the next release?

BTW, any idea when the next official release will be published. Are there any "nightly builds" available?


Posted by hennemarc at Jan 06, 2014 09:43

I don't know when any of the core team members will have time to look at this, not in the coming weeks I would say. Maybe someone in the community can have a go at it before that.

There are no nightly builds, sometimes specific binaries are posted in forum threads that do implement a fix or new feature, otherwise you'll have to build from the sources.

Posted by ebariaux at Jan 08, 2014 10:45

Hello Eric,

and where do I find the sources?


Posted by hennemarc at Jan 19, 2014 17:30

It's in subversion. You can use this branch : Controller_2_0_2.

Look at the class and see how parsing is done for e.g. DIM

Posted by ebariaux at Jan 20, 2014 08:11
Document generated by Confluence on Jun 05, 2016 09:36