Menu

Automatic Blind control with LinKNX (tricky).

netsrac69
2011-03-08
2012-12-14
  • netsrac69

    netsrac69 - 2011-03-08

    Hey Guys,

    I need some more help from you:

    I'm using Busch-Jaeger Waveline Window switches that send the position of the Windows on the Bus. When I open a Windows it should open the Blinds and lock them. As soon as I close the Window, the blinds should go back in the old position (could be full open or full close).

    One of the challenges
    The window controls delivers a value from 0 to 255 depending on the position:

    255 means window open
    76 means window flip open

    If you flip open the window you'll move the handel over the open position, so there will be the position 255 send on the bus once. For handling the real open condition, I would need a "delay condition":

    If position = 255 for at least 2 seconds, then condition will become true.

    For the blinds itself, I need to define a variable in LinKNX which stores the old value. Once the condition becomes true, I can simply send to a group address the the actor that will open and lock the blinds (this is supported).

    If the condition becomes false again, I need to unlock the blinds (writing 0 to the "open and lock" address) and then either do nothing or shut the blinds if they where closed before.

    Would be great if someone can help me with this logic. I'm pretty sure that there are people out having a similar logic.

    Thanks, Netsrac

     
  • JensH

    JensH - 2011-03-08

    Hey Netsrac,
    you could use the following script with the latest(!) version of linknx (in CVS)

    <rule id="Window_opened">
    <condition type="time-counter" threshold="3" reset-delay="0">
    <condition type="object" id="Waveline_position" value="255" trigger="true" />
    </condition>
    <actionlist >
    <action type="set-value" id="window_open" value="on" />
    </actionlist>
    <actionlist type="on-false">
    <action type="set-value" id="window_open" value="off" />
    </actionlist>
    </rule>

    This will set window_open to  "on" after 3 seconds of Waveline_position=255 and "reset" it immediately after it becomes <> 255
    Not tested, but should work…Hope that helps, best Regards, jens

     
  • netsrac69

    netsrac69 - 2011-03-09

    Jens,

    thanks…this is amazing…and it works. I already experimented with this time-counter, but I never thought about the idea to set the reset-delay to "0".

    To continue in my project:

    Is there any way to add a read command in the "window_open" = "on" rule that will read the current position of the blinds and store it in a variable for going back to the old position once "window_open" becomes "off".

    Or do I simply need to capture all changes to the blinds in advance?

    Thanks, Netsrac

     

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.