Jump to content

Welcome to Smart Home Forum by FIBARO

Dear Guest,

 

as you can notice parts of Smart Home Forum by FIBARO is not available for you. You have to register in order to view all content and post in our community. Don't worry! Registration is a simple free process that requires minimal information for you to sign up. Become a part of of Smart Home Forum by FIBARO by creating an account.

 

As a member you can:

  •     Start new topics and reply to others
  •     Follow topics and users to get email updates
  •     Get your own profile page and make new friends
  •     Send personal messages
  •     ... and learn a lot about our system!

 

Regards,

Smart Home Forum by FIBARO Team


  • 0

Vertical blinds (lamel) position


Vinisz

Question

Hi All,

 

I have a "thing" with all my venetian blinds.

When the position is , for example "62" and I tell them to go to "62" , they go to 45

When I again tell them to go to "62" they go to 18..... but never to 62 exact.

 

This is only the case with the blinds "lamel/vertical blind" position, not with the open/close position of the blinds itself...

 

Someone have an idea what might be wrong here ?

 

Link to comment
Share on other sites

14 answers to this question

Recommended Posts

  • 0

hi @Vinisz,

The rollershutter can't exactly roatate to a specific value.

 

In my setup I only set them to full close, or fully open like this:

Please login or register to see this code.

The rotation of the lamelas is done by running the motor of the blinds for a specified time.

Parameter 12 of the Rollershutter module defines how long the motor is running to rotate the lamelas:
In my case they need approximately 0.9 seconds to turn from fully open to fully closed.

Please login or register to see this attachment.

 

So, with the above setting of 0.9 seconds for a half rotation the motor would be activated for 0.45 seconds (by setting value2 to 50)

This means it's depending on how accurate you have set this parameter.

 

BR - kro

 

Link to comment
Share on other sites

  • 0
  • Inquirer
  • Full open in my case is 50, not 0 or 99.

    But I think you pointed me in the right direction, the venetian mode turn time must be it....

    I'll experiment with it.

     

    Only thing I don't get is you say they cannot go to an exact position buth working with "value2" gives me position data...

    Link to comment
    Share on other sites

    • 0

    Well at least for my understanding this can not be done precisely.

     

    My blinds have only a motor for up and down. Yours will be the same.

    So without Fibaro modules involved you would set the rotation using the up/down switches on your wall.

    • To rotate your lamellas you push the button to start the rotation.
    • Motor starts going up or down
    • you push again to stop the rotation at the desired angel of lamellas.
    • Motor stops going up or down

    This means, in reallity you don't set the rotation directly, you just let the motor go up or down for a short time.

    It's the same for the Fibaro Rollershutter. It's just a best guess approach if you set it to 50 and it realy does a half rotation.

     

    My recommendation is. Set your lamellas to fully closed using the wall switch. Try to measure the time it takes them to rotate to fully open.

    Then insert this in Parameter 12. Now you should be able to roate them from fully open to fully closed by pressing these buttons.

     

    Please login or register to see this image.

    /monthly_2018_03/2018-03-16_11-44-33.png.4a9d23872cf0a00a73f533323dc470b3.png" />

     

    Are these three working correct for your setup?

     

    Which of these 3 states is fully open, fully close and full see through for you?

    2018-03-16_11-46-40.png.3652609bcbbd4396dae22e4d9c04ba8e.png

    Edited by kroeatschge
    Link to comment
    Share on other sites

    • 0

    Hi


    Let me please continue this interesting topic. I use scenes to position my lamellas (at 5- 10- 20- 30- 40- 50 %) and it works pretty good if you do one trick before setting them up to these values  - you have to close or open them fully just a step before. Controlling lamellas with a wall-switch is a demn hard especially if you have a quick motors (light blinders). I have like 7 blinders and no physical wall-switches intalled, so the only way to control them is via app or scenes/association from another modules.

     

    Now, the main point. Have anyone tried to make a LUA script with a timer, so that it counts the time of push button on a wall switch is held and then sends a value let's say of 10 to a blinder, then if it;s held one second more it again sends value of 10 to blinder, and continiue a loop as long as push button is held until its released to reset a timer and stop a blinders completely. This way we would be able to position lamellas more precisely with a button. Bellow is an example schema rattle of quickly. We would need two such buttons.

     

    If (S1 switch is held), Then

       start couting timer T1

                if (T1=1 sec) then,

                     Check Lamellas value AND increase it by 10 and reset T1
                  else stop blinders
                  end if

      else
           Send Stop Lamells
    end if

     

    Probably a good idea would be to close them completely on initial start of pressing S1 button and open during pressing S2 to maintain recurrence.

     

     

    Edited by AnonymousJohn
    Link to comment
    Share on other sites

    • 0

    hi @mosskit,

    i once tried something simular. I used a Fibaro keyfob and wanted to assign 2 buttons for rotation only.

    So my idea was to read value2 first, and either add or decrease the value by 10 with each button press.

    Unfortunately it never worked.

     

    If i remember correctly the value2 couldn't be read.

    (or adding 10 to the value didn't result in the correct value).

     

    I think it's simply not working due to the fact that it's just a guess of how long the motor should run.

    Obviously fully open and fully close can be achieved by running it slightly longer than it needs for a full tilt.

     

    BR - kro

     

    Link to comment
    Share on other sites

    • 0

    Hi

     

    I did smth like that:
     

    --[[
    %% properties
    %% events
    31 CentralSceneEvent
    %% globals
    --]]
    -- use first slave for "CentralSceneEvent" ID in a HEADER
    -- (not master, not switch itself.)

    local trigger = fibaro:getSourceTrigger()

     

    if (trigger.type == "other") then
        fibaro:debug("Scene started by clicking 'start' button")
    else
        local pressSource = fibaro:getSourceTrigger().event.data
            fibaro:debug("CentralSceneEvent received from physicall key: "..pressSource.keyId..", and key attribute: "..pressSource.keyAttribute)

        local LamelasAngle4_Init = fibaro:getValue(122, "value2")

    --create local variable that checks  value2 of blinder which is initial lamellas position
        if  pressSource.keyId == 2 and pressSource.keyAttribute == "HeldDown" then
            fibaro:debug("CentralSceneEvent received from physicall key: 2, and key atribute: HeldDown")
             fibaro:debug(LamelasAngle4_Init)
            fibaro:call(122, "setValue2", 0)
            fibaro:sleep(700) -- time to fully close lamellas
            fibaro:call(122, "setValue2", LamelasAngle4_Init - 5)
            local LamelasAngle4_after = fibaro:getValue(122, "value2")
            fibaro:debug(LamelasAngle4_after)

        elseif (pressSource.keyId == 1 and pressSource.keyAttribute == "HeldDown") then
            fibaro:debug("CentralSceneEvent received from physicall key: 1, and key atribute: HeldDown")
             fibaro:debug(LamelasAngle4_Init)
            fibaro:call(122, "setValue2", 0)
            fibaro:sleep(700) --time to fully close lamellas
            fibaro:call(122, "setValue2", LamelasAngle4_Init + 5)
            local LamelasAngle4_after2 = fibaro:getValue(122, "value2")
            fibaro:debug(LamelasAngle4_after2)
        else
            --fibaro:debug("Key Atribute: "..pressSource.keyAttribute)
    end
    end

     

    Not very efficient way with that two sleep timers but it kind of works this way that during a "helddown" of S1 it always go to 0 and then increase the previous value of lamelas by 5 or decrease the value by 5 when its S2 pressed.  Obviously the event is triggered just once so you have to release the S1/S2 and hold it back again to keep it rotating. Next step is to implement a timmer so that it will be a timer - as a triger, which continuously (every second) check status of S1/S2 not just once - not sure if its possible. This has been my first code in LUA so far.

    Edited by AnonymousJohn
    Link to comment
    Share on other sites

    • 0
    On 7/3/2018 at 4:51 PM, kroeatschge said:

    If i remember correctly the value2 couldn't be read.

    (or adding 10 to the value didn't result in the correct value).

     

    I think it's simply not working due to the fact that it's just a guess of how long the motor should run.

    Obviously fully open and fully close can be achieved by running it slightly longer than it needs for a full tilt.

     

    The fibaro module does not account for acceleration and deceleration times of the motor, I have a similar problem when fine-tuning my blinds, in the end, I send them completely close and then go to the desired position (repeatability is very accurate from closed position, incremental between positions not so good)

     

     

    Link to comment
    Share on other sites

    • 0

    @sirKitKat


    Would you please share your code for the above?

    I was trying to log in to my old account but Fibaro force us to use FIBARO ID. Not sure what happened with this forum but seems to be dead with old freaks...

     

    Link to comment
    Share on other sites

    • 0
    6 minutes ago, AnonymousJohn said:

    Not sure what happened with this forum but seems to be dead with old freaks...


    huh, are we dead?

    Link to comment
    Share on other sites

    • 0
    On 11/26/2020 at 8:44 PM, AnonymousJohn said:

    @sirKitKat


    Would you please share your code for the above?

     

     


     

    Please login or register to see this code.

     

    Link to comment
    Share on other sites

    • 0

     

    W dniu 26.11.2020 o 21:41, SmartHomeEddy napisał:

    Early adapter, there was no migration tool from HC2 to HC3, so manually. Why do you ask?

     

    Cauze I am on HC2 4.150 with 150+ devs. 

    Is it possible to move devs one by one from HC2 to HC3 with LUAs operated in HC2 and references to devs under HC3, until fully commissioned new scripts are operable in HC3?

     

    Edited by AnonymousJohn
    Link to comment
    Share on other sites

    • 0

    @AnonymousJohn I have seen a solution to control devices on a HC2 from a HC3. 
     

    I think the amount of work depends on the type of devices you have an how the are all “connected” to each other. For example, if you have 150+ lights, I wouldn’t worry. But if you have all kinds of exotic devices, then you are in for a rough ride. 
     

    Maybe first make a plan how to replace your scripts and VD’s, so you don’t get any surprises of unsupported devices, VD’s or scripts and Quickapps you have to make yourself.  
     

     

     

    Edited by SmartHomeEddy
    Link to comment
    Share on other sites

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.

    Guest
    Answer this question...

    ×   Pasted as rich text.   Paste as plain text instead

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.

    ×
    ×
    • Create New...