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

Sterowanie roletą


Guest rafal_ll

Question

Guest rafal_ll

Witam

Mama problem ze sterowaniem rolety. Roleta ma się zawsze zatrzymywać w określonym miejscu

W tym celu chcę wykorzystać BINARY SENSOR wejście IN1 z podłączonym kontaktronem. Podczas opuszczania rolety załącza się kontaktron i roleta powinna stanąć, ale nie mogę zmusić rolety do zatrzymania się.

Wejście jest uzbrojone

Nie wiem czy coś źle robię czy jest błąd systemu i powinienem zgłosić na Fibaro Bug Tracker

Proszę o opinie

Please login or register to see this attachment.

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0

A dlaczego nie urzyjesz Roller Shutter 'a z ustawieniem na % otwarcia

Link to comment
Share on other sites

  • 0
Guest rafal_ll
  • Inquirer
  • A dlaczego nie urzyjesz Roller Shutter 'a z ustawieniem na % otwarcia

    Jeżeli położenie rolety jest przestawiane kilka razy dziennie to niestety nie da się precyzyjnie ustawić położenia. Idea zatrzymywania w ściśle określonym położeniu jest taka żeby roleta zamknęła się nie do końca pozostawiając „dziurki”, co procentowo mi nie wychodzi

    Link to comment
    Share on other sites

    • 0

    Ale Roller Sutter ma funkcję zatrzymania w rozszczelnieniu. Wiem że nie jest to precyzyjne ale nie wiem czy jest możliwe zatrzymanie rolety z większą dokładnością. Pamiętaj że zawsze jest czas reakcji i przetwarzania przez system. A może wystarczy ustawić na 99%. Z doświadczenia wiem że zatrzymanie przez funkcje blokowe nie działa. Napisałem kod w LUA.

    xxx - id UBS

    YYY - id sterownika rolety

    if

    ( (tonumber(fibaro:getValue(xxx, "value")) == 0 and tonumber(fibaro:getValue(xxx, "armed")) == 0) )

    then

    fibaro:call(YYY, "stop");

    end

    Link to comment
    Share on other sites

    • 0
    Guest rafal_ll
  • Inquirer
  • Zrobiłem jak radziłeś, ale nie działa

    Please login or register to see this attachment.

    Link to comment
    Share on other sites

    • 0

    Sorry

    nie zauważyłem że u mnie jest czujnik rozbrojony. spróbuj:

    armed ==1

    Link to comment
    Share on other sites

    • 0
    Guest rafal_ll
  • Inquirer
  • Wielkie dzięki za zaangażowanie, ale nie działa zgłosiłem na Bug Tracker zobaczymy czy będzie jakiś oddźwięk...

    Link to comment
    Share on other sites

    • 0

    rafal_II - Nie wiem czy już masz rozwiązany problem ale spróbuj jeszcze raz poniższego kodu:

    xxx - id UBS

    YYY - id sterownika rolety

    if

    ( (tonumber(fibaro:getValue(xxx, "value")) == 1 and tonumber(fibaro:getValue(xxx, "armed")) == 1) )

    then

    fibaro:call(YYY, "stop");

    end

    nie chce pisać że miałem zły dzień dopóki nie okaże się że działa ale…

    Link to comment
    Share on other sites

    • 0

    MietekK, dorzuć trigery (zawartość kwadratowych nawiasów) bo bez tego nie będzie działać (nigdy się nie wykona scena)

    rafal_ll masz ten sam błąd w scenie (brak trigerów)

    Link to comment
    Share on other sites

    • 0
    Guest rafal_ll
  • Inquirer
  • Teraz zrobiłem tak i działa

    --[[

    %% autostart

    %% properties

    13 value

    13 armed

    %% globals

    --]]

    local startSource = fibaro:getSourceTrigger();

    if (

    ( (tonumber(fibaro:getValue(13, "value")) > 0

    And

    tonumber(fibaro:getValue(13, "armed")) > 0) )

    or

    startSource["type"] == "other"

    )

    then

    fibaro:call(5, "stop");

    end

    Link to comment
    Share on other sites

    • 0

    rafal_II

    z ciekawości, czy parametry "armed" i "value" UBS 'a przybierają inne wartości niż 0 lub 1

    Link to comment
    Share on other sites

    • 0

    "armed" 0 i 1 tylko

    ale "value" może mieć inne wartości stąd sugeruje

    tonumber(fibaro:getValue(13, "value")) > 0

    lub

    tonumber(fibaro:getValue(13, "value")) == 0

    Link to comment
    Share on other sites

    • 0

    Jeżeli dobrze rozumiem to rozwiązanie tego problemu jest proste:

    1. Proszę stworzyć scenę z kontaktronem, która wyzwoli tę scenę w LUA:

    fibaro:call(20,'close');

    fibaro:debug('otwarcie');

    fibaro:sleep(500);

    fibaro:call(20,'stop');

    fibaro:debug('zatrzymanie');

    lub

    fibaro:call(20,'open');

    fibaro:debug('otwarcie');

    fibaro:sleep(500);

    fibaro:call(20,'stop');

    fibaro:debug('zatrzymanie');

    w linijce: fibaro:sleep(500); wpisujemy czas jak długo roleta ma się otwierać/zamykać

    Tę scenę wykorzystuję do sterowania kątem otwarcia/zakmnięcia żaluzji i działa bardzo precyzyjnie.

    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...