Skip to content

output

Opis

Bloczek output służy do przekazywania wartości z logiki do wskazanej właściwości wybranego urządzenia. Można go użyć między innymi do sterowania wyjściem przekaźnikowym, jasnością, pozycją rolety albo inną właściwością urządzenia, która przyjmuje wartości z flow.

Bloczek ma jedno zwykłe wejście i dwa wyjścia. Nie wymaga stosowania wejść oznaczanych za pomocą bloczka tag.

Poza wysyłaniem wartości do urządzenia bloczek udostępnia także:

  • aktualną wartość odczytaną dla wskazanej właściwości urządzenia
  • informację, czy urządzenie jest aktualnie podłączone

Parametry konfiguracyjne

Nazwa parametru Wartość
Identyfikator urządzenia (device_id) Parametr obowiązkowy. Określa urządzenie, do którego mają być wysyłane wartości.
Nazwa właściwości urządzenia (device_property_name) Parametr obowiązkowy. Określa właściwość urządzenia sterowaną przez bloczek, na przykład wyjście, jasność albo inną obsługiwaną wartość.
Filtruj zduplikowane wartości (filter_duplicated_values) Parametr obowiązkowy typu logicznego true albo false. Gdy ustawione jest true, bloczek nie wysyła do urządzenia wartości identycznej z ostatnią znaną wartością tej właściwości. Gdy ustawione jest false, taka sama wartość może zostać wysłana ponownie.
Pamiętaj ostatnią wartość (remember_last_value) Parametr obowiązkowy typu logicznego true albo false. Gdy ustawione jest true, ostatnia wartość odebrana w czasie, gdy urządzenie jest odłączone albo projekt nie zakończył jeszcze stabilizacji, zostaje zapamiętana i może zostać wysłana później. Gdy ustawione jest false, takie wartości są ignorowane.

Obsługa wejścia

Bloczek przyjmuje zwykłe zdarzenia wejściowe doprowadzone do jego jedynego wejścia. Nie wymaga żadnych połączeń tag.

Bloczek nie zmienia typu odebranej wartości. Przekazuje dalej do urządzenia dokładnie tę wartość, którą otrzymał na wejściu. Zgodność typu i zakresu wartości z wybraną właściwością urządzenia należy zapewnić w konfiguracji projektu.

Szczegółowe zasady działania:

  • jeśli projekt nie zakończył jeszcze stabilizacji albo urządzenie jest odłączone, bloczek nie wysyła od razu wartości do urządzenia
  • w takiej sytuacji, przy remember_last_value = true, zapamiętywana jest tylko ostatnia odebrana wartość
  • w takiej sytuacji, przy remember_last_value = false, odebrana wartość jest ignorowana
  • gdy urządzenie znów będzie podłączone, a projekt będzie już ustabilizowany, zapamiętana wartość zostanie wysłana do urządzenia tylko raz
  • jeśli na wejście dotrze wartość identyczna z ostatnią znaną wartością właściwości urządzenia i filter_duplicated_values = true, bloczek nie wysyła jej ponownie
  • jeśli na wejście dotrze taka sama wartość i filter_duplicated_values = false, bloczek ponawia wysłanie tej wartości do urządzenia

Przypadki ignorowane:

  • wartości odebrane przy odłączonym urządzeniu albo przed stabilizacją projektu, jeśli remember_last_value = false
  • wartości identyczne z ostatnią znaną wartością urządzenia, jeśli filter_duplicated_values = true

Wyjścia bloczka

Bloczek posiada dwa wyjścia:

Numer i nazwa wyjścia Opis wyjścia
1: Wartość zwracana przez urządzenie Na tym wyjściu pojawia się aktualna wartość zwracana przez wskazaną właściwość urządzenia. Gdy urządzenie zwraca niestandardowy opis swojej wartości, bloczek pokazuje go także w opisie pod bloczkiem.
2: Status podłączenia Na tym wyjściu pojawia się wartość logiczna true, gdy urządzenie jest podłączone, oraz false, gdy urządzenie jest odłączone.

Opis widoczny pod bloczkiem odzwierciedla bieżący stan:

  • detached, gdy urządzenie jest odłączone
  • tekstową reprezentację aktualnej wartości urządzenia, gdy jest ona dostępna
  • unknown, gdy urządzenie jest podłączone, ale bieżącej wartości nie da się przedstawić tekstowo

Jeżeli kilka bloczków output odnosi się do tego samego urządzenia, opis może mieć prefiks liczbowy, na przykład 3(2): detached. Taki prefiks informuje, ile bloczków output jest powiązanych z tym samym urządzeniem oraz ile z nich dotyczy dokładnie tej samej właściwości.

Błędy zwracane przez bloczek

Bloczek może zwracać następujące błędy:

Kod błędu Opis błędu
Missing device_id configuration. Nie podano identyfikatora urządzenia albo parametr ma niepoprawną wartość.
Missing device_property_name configuration. Nie podano nazwy właściwości urządzenia albo parametr ma niepoprawną wartość.
Missing filter_duplicated_values configuration. Nie podano parametru filter_duplicated_values albo nie udało się odczytać go jako wartości logicznej.
Missing remember_last_value configuration. Nie podano parametru remember_last_value albo nie udało się odczytać go jako wartości logicznej.
Init failed. Bloczek nie zainicjalizował się poprawnie i nie może pracować.

Stan detached oznacza brak aktualnego połączenia z urządzeniem, a nie błąd konfiguracji bloczka.

Przykłady działania

  • Jeśli remember_last_value = true, urządzenie jest odłączone i na wejście kolejno trafią wartości 10, 20, 30, to po ponownym podłączeniu urządzenia zostanie wysłana tylko ostatnia wartość 30.
  • Jeśli remember_last_value = false i urządzenie jest odłączone, to wartość podana na wejście zostanie zignorowana.
  • Jeśli właściwość urządzenia ma już wartość true, a na wejście ponownie trafi true przy filter_duplicated_values = true, bloczek nie wyśle tej wartości ponownie.
  • Jeśli właściwość urządzenia ma już wartość true, a na wejście ponownie trafi true przy filter_duplicated_values = false, bloczek ponowi wysłanie tej samej wartości.
  • Gdy urządzenie zostanie odłączone, na wyjściu 2 pojawi się false, a opis pod bloczkiem zmieni się na detached.