Jak za pomocą sceny Lua kontrolować sterownie dowolnego urządzenia np. wyjść sterujących Q1, Q2 (odpowiedzialnych za rozwijanie/zwijanie markizy przeciwsłonecznej)
przykład z użyciem uniwersalnego urządzenia Smart Implant
Scena jako element pośredni do kontroli sterowania wyjściami Q1, Q2 np. markizy lub grzałki etc.
- Zamiast w aplikacji na smartfon lub przez przycisk (np. na ścianie) wysterować wyjścia Q1, Q2 można wywołać dedykowaną scenę hub.scene("execute", .....)
- Scena, zanim zezwoli na pracę urządzenia podłączonego do wyjścia Q1, Q2 sprawdza wiele warunków np. czy rozwinięcie markizy będzie bezpieczne dla domowników i otoczenia.
- Sprawdzane są warunki pogodowe: api.get("/weather")
- Zamiana tekstu (string) na liczbę: tonumber()
- Odczytanie aktualnej daty os.date("%c")
- Stworzenie pomocniczej zmiennej logicznej - flagi
- Parsowanie aktualnej daty za pomocą metody: os.date("*t")
- Budowanie wielu bloków logicznych w kodzie Lua: IF-THEN-ELSE-END
- Wysterowanie wyjścia Q - uruchomieni podłączonego urządzenia metodą: hub.call(....)
Omówienie złożonego warunku triggerowania sceny Lua
- Pokażę scenę, która zostaje załączona (wykonywana) za każdym razem gdy jest spełniony chociaż jeden z warunków takich jak:
- pada deszcz
- nadchodzi burza
- temperatura jest poniżej 10C
- wiatr wieje z prędkością większą od 20 km/h
- jest po 21 godzinie
- Gdy którykolwiek z powyższych warunków jest spełniony nastąpi automatyczne zwinięcie markizy przeciwsłonecznej.
W trakcie tego kursu DIY wideo nauczysz się tworzyć proste i zaawansowane sceny Lua w systemie Smart Home FIBARO.
Kurs ten jest najlepszym krokiem w kierunku rozpoczęcia przygody z programowanie Lua dla FIBARO.
Kurs ten pozwoli ci płynnie przejść do programowania urządzeń wirtualanych - Quick App FIBARO.
Poznasz narzędzia i techniki niezbędne do efektywnego programowania oraz budowania scen obsługujących różne urządzenia i serwisy.
Wszystkie przedstawione zagadnienia w filmach są praktycznymi sytuacjami, jakie spotkasz w domu. Pokazuję jak do zagadnień takich jak wykrywanie ruchu w domu, załączanie światła, odcinanie wody po zalaniu itp. można podejść na wiele sposobów:
- budując scenę blokową i przekształcając ją na scenę Lua, a następnie edytując wygenerowaną scenę Lua, lub
- pisząc scenę Lua do zera.
W filmach pokaże ci także jak po uruchomieniu sceny Lua (trigger sceny wyzwolony) oprogramować najbardziej typowe zachowania sceny (kod po prawej stronie edytora sceny). Nauczę Cię jak:
- wysyłać rozkazy do urządzeń (załączyć światło, otworzyć zawory, a nawet wywołać metodę Quick App etc): hub.call(...)
- odczytać stan innych urządzeń: hub.getValue(...)
- odczytać pogodę przez wewnętrzne API centrali: api.get("/weather")
- dowiedzieć się jakie zdarzenie triggerowało scenę: soruceTrigger
- parsować zwrócone dane: jsonEncode(...)
- zdefiniować zmienne lokalne: local ...
- tworzyć warunkowe bloki: IF-THEN-ELSE-END
- znaleźć przyczynę niemożliwości zapisania sceny Lua
- pozbyć się błędu typu: "Unexpected symbol near ..."
Kolejną rzeczą, która na pewno przyda Ci się w domu to optymalizacja pod kątem ilości scen blokowych i Lua. Rozwiązanie, którego poszukują użytkownicy central light (HC3L) i Yubii gdzie ilość scen w systemie (dotyczy łącznie wszystkich scen blokowych i Lua) jest ograniczona do 20!!!. Dla tych osób pokazuję, w jaki sposób napisać scenę Lua, która pozwoli na obsłużenie kilku scen blokowych i Lua przez jedną scenę Lua. To zwolni miejsce na jeszcze dodatkowe sceny w centrali.