Menu

Using Linknx objects (with gad) in ETS and KnxWeb2

Help
Bart Demol
2013-09-24
2013-10-23
  • Bart Demol

    Bart Demol - 2013-09-24

    I have a setup with 7 room controllers
    Each controller has its own 'thermostat' function where it controls its own room temp.
    Now I wanted to create a general function much like the old thermostats that, each day at 6am, the heating starts working.
    I created a time object for this purpose like specified in the wiki here. If i read the value via knxweb2 objects tab it appears to work:
    cur_date 2013-9-24 Current Date 1/1/201 11.001: date (EIS4)
    cur_time 12:14:58 Current Time 1/1/200 10.001: time (EIS3)

    I randomly copied that from somewhere and I already encountered the first issue in ETS4.
    I cannot seem to enter a middle adress. All my lights for example are in the 1 main and 1/3 (office light) translates to 1/0/3 in linknx.
    In ETS I can only define 1/200 and 1/201, not 1/1/200 and 1/1/201.
    When monitoring my bus i noticed that each minute (the time update interval), two values are set on the bus, namely 1/456 and 1/457.

    Provided that i solve this, or redefine the objects to 1/0/200 and 1/0/201. How do I now read these objects in ets/room controller and knxweb2.
    For the room controller, it has an inputvalue called:
    130 D.Input Time 3Byte
    Do I now just create a group address in ETS at 1/1/201 and link this to this Input and it should work?

    Secondly, I wanted to display the 'time on bus' in my knxweb2 page and created 2 subpage text parameters for the time and date objects and bound the text properties to those sub page parameters but they both give null.

    Am I missing something with this?
    Ultimately I would like to have my roomcontrollers switch to day mode at 6am based on the linknx timer but I'm currently not sure if I'll ever get it to work

     
  • Bart Demol

    Bart Demol - 2013-09-25

    Jesus, I was typing an entire response but for some reason sf.net code blocks mess up xml.
    Anyways
    I fixed most of it
    I created 3 values in the 3 main and created corresponsing group addresses in ETS4. I still don't know how to use the middle values other than 0 but at least this works
    * Getting it to work in KnxWeb2
    I was not aware that, in order to have feedback objects vlaues displayed you need to use $ parameters in the text parameter of the text widget (and in some cases a regex for the proper part of the value in the pattern part)

    • getting it updated on the bus
      I used a rule like this http://pastie.org/8353775
      It updates the time each minute. Beacuse I use a feedback object, my subpage updates nicely
      Just one complaint. it does not prepad with 0 so you get
      19:9 instead of 19:09

    • displaying it on my roomcontroller
      I have these puppies: Jung Compact Room Controller (adding name for other poor bastards that don't speak german and have 50% of the info in ETS4 in german). http://downloads.jung.de/public/en/pdf/productdocumentation/en_4093krtsd_td.pdf

    now, to display the time on these, you need to do a few things in ets.
    1. edit the parameters and go to display. Choose your amount of display informate. I chose 2 for current temp and time
    2. Edit your submenus (display 1, 2, ...) for the paramter you want
    3. go to the group objects and search for a time input. Mine was 130.
    4. Link this yo your cur_time group adress 3/0/200 in my case
    5. download to device and voila, your time updates

    • Make the roomcontroller switch over to wanted mode
      For this you can a byte operation. Knx rules specifye that there has to exist something like a "Force object operating mode" value. Here are those values
      00 -> frost/heat protection
      01 -> comfort
      02 -> standby
      03 -> night
      04 -> frost/heat protection

    I created an object for this
    switch_over_byte 3 Switch Over Byte 3/0/202 6.xxx: 8bit signed integer (EIS14)
    I'm not sure about the type but it was the closes I cound find and it worked
    create a corresponding group adress in ETS4.
    Go to your controller again in ETS and look for a group object that is name in the style of "operating mode forced object"
    Remeber that using this will override everything (including open windows)
    Link this to your object
    When setting this via linknx/knxweb2/ets, it switched over to the right mode
    Now i created a rule for this but it didn't work
    http://pastie.org/8353798
    Can anyone tell my why?

    i hope this was helpful for someone someday because while all these things are really neat, the learning curve on this is pretty steep

     
  • Bart Demol

    Bart Demol - 2013-09-25

    I just executed the event via knxweb2 and it set the value
    Why didn't it execute this morning at 6:15?
    Do I need to specify that hour object somewhere?

     
  • Vaclav Provaznik

    Please check the log file, if the rule was executed. I would guess it was executed, but the value was not sent. This happens if 1) the value is the same as it was before and 2) the objects is not set as stateles (which means it sends every "set" not just state change. In such case you need to change it in KnxWeb2 design page or in linknx.xml definition (the object should have something like flag="crwtus".
    My best guess is that you set it to 1 manually before and thus it was not sent again when the rule was executed.

    Secondly I believe you need to change settings of your ETS - it allows for "simle" addressing (just two levels adress) and "full" (with middle adress) and "free". I don't know if this can be done in existing project, but when you are creating one, it asks for this.

     
  • Bart Demol

    Bart Demol - 2013-09-25

    I have this in my linknx.xml but i see no logfile there
    logging output="/var/log/linknx.log" maxfilesize="20000" maxfileindex="100" format="%d{%Y%m%d %H:%M:%S,%l} %5p %c %x: %m%n" level="INFO"

     

    Last edit: Bart Demol 2013-09-25
  • Vaclav Provaznik

    Under which user are you starting linknx? Can he write into /var/log? If you create the log file and chown it to the linknx user, does something appear up there? Perhaps you can try to start it by "linknx --daemon=/var/log/linknx.log --config=/etc/linknx.xml --write=/etc/linknx.xml" (provisionally as root)?

    Nevertheless - if you set the object to 0 and the action executes - does it sets it to 1?

     
  • Bart Demol

    Bart Demol - 2013-10-23

    The problem was indeed that the value wasn't forced.
    I'm now running linknx under a knx specific user that has admin rights and the scripts execute as they should
    thanks

     

    Last edit: Bart Demol 2013-10-23

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.