W tym przewodniku pokazano, jak rozszerzyć Fibaro Możliwości panelu zraszaczy Home Center 2 umożliwiają zdalne dostosowywanie okresu podlewania i automatyczne opóźnianie następnego cyklu podlewania, jeśli Fibaro prognozy pogody wskazują na deszcz.
W poprzednim przykładzie APNT-77 - Sterowanie zraszaczami wprowadziliśmy Fibaro Panel zraszaczy dostępny w Fibaro Centrum Domowe 2 (HC2) Z-Wave Kontroler.
Rozszerzenie sterowania panelem zraszaczy
Panel Zraszacze umożliwia ręczne dodanie „Opóźnienia deszczu” i zwiększenie/zmniejszenie czasu cyklu wodnego z poziomu panelu Zraszacze (patrz APNT-77 (więcej szczegółów), nie można jednak tego zrobić z poziomu obecnej aplikacji na smartfonie i nie można ich bezpośrednio zmieniać ze standardowej sceny Home Center.
Tworząc urządzenie wirtualne i pisząc odrobinę kodu LUA, możesz kontrolować te funkcje i używać standardowej sceny, aby dostosowywać je do pogody.
Ten przewodnik pokaże Ci, jak:
- Utwórz urządzenie wirtualne w Fibaro Centrum domowe
- Zaprogramuj przyciski, aby sterować funkcjami „Opóźnienia deszczu” i „Regulacji wody” panelu zraszacza
- Utwórz scenę, która automatycznie opóźni cykl zraszaczy w przypadku deszczu lub burzy
Notatka:Można tego używać tylko w Fibaro Home Center 2 (HC2), ponieważ wymaga kodowania LUA — nie można go używać w Fibaro Home Center Lite (HCL)
Wirtualne urządzenie zraszające
Urządzenie wirtualne to dokładnie to, co sugeruje jego nazwa – urządzenie, które nie jest urządzeniem fizycznym, lecz utworzonym w Home Center w celu sterowania innymi urządzeniami. Ten przykład pokazuje urządzenie wirtualne, które może zmieniać wartości „Opóźnienia deszczu” (0, 24 godz., 48 godz.) i „Regulacji wody” (0, 10%, 20%) w panelu zraszaczy.
Rysunek 1:Urządzenie wirtualne do sterowania „Opóźnieniem deszczu” i „Regulacją wody”
Utwórz urządzenie wirtualne
- W Centrum Domowym przejdź do Urządzenia > Dodaj Usuń Urządzenia
- W sekcji Urządzenie wirtualne kliknij „Dodać'
- Podaj urządzeniu Nazwa
- Wybierz Pokój z listy rozwijanej
- Adres IP - Wprowadź adres IP Home Center
- Port TCP - Wchodzić 80 (to jest port używany przez Home Center)
- Kliknij „Ratowaćikonę na pasku bocznym po prawej stronie
Rysunek 2:Tworzenie wirtualnego urządzenia dla panelu zraszaczy
Utwórz przyciski
Urządzenie wirtualne potrzebuje dwóch rzędów po trzy przyciski – pierwszy rząd kontroluje „Opóźnienie deszczu”, a drugi kontroluje wartość „Dostosuj wodę”.
- Przejdź do urządzenia wirtualnegoZaawansowanyzakładka
- Przewiń w dół do sekcji „Wybierz zestaw przycisków”
- Wybierz 'Trzy przyciski na linię- to da nam trzy przyciski
- Kliknij „Dodaj zestaw' przycisk
- Dodaj drugi rząd trzech przycisków (do kontroli regulacji wody)
- Kliknij „Ratowaćikonę na pasku bocznym po prawej stronie
Rysunek 3:Tworzenie przycisku w urządzeniu wirtualnym
Dodaj kod LUA
Każdy przycisk będzie kontrolowany przez prosty skrypt LUA, który pobiera wartość „Opóźnienie deszczu” lub „Dostosuj wodę” z panelu zraszaczy, zmienia tę wartość, a następnie aktualizuje panel.
- Przewiń w dół do pierwszego przycisku i nazwij go - '0 godz.w tym przypadku (z powodu zerowego opóźnienia)
- Wybierać 'LUA(na dole edytora)
- Wklej kod LUA (poniżej) i wprowadź zmiany w swoim systemie (Adres IP HC2, nazwa użytkownika I hasło)
- Kliknij niebieski 'Ratowaćikonę na pasku bocznym po prawej stronie
- Jeśli chcesz, przetestuj przycisk w oknie „Debugowanie” i sprawdź, czy opóźnienie deszczu zostało zmienione w panelu Zraszacze
Kod LUA
-- Ustaw uwierzytelnianie
HC2 = Net.FHttp("192.168.1.162",80)
HC2:setBasicAuthentication("administrator", "administrator")
fibaro:debug('Wyzwolono przycisk LUA: ')
-- pobierz tabelę danych z panelu zraszaczy
odpowiedź, status, kod błędu = HC2:GET("/api/panels/drenchers")
jsonTable = json.decode(odpowiedź)
fibaro:debug('Wartość opóźnienia deszczu: ' ..jsonTable.rainDelay);
-- zmień dane w LUA na 0 godzin opóźnienia
jsonTable.rainDelay = 0
fibaro:debug('Nowa wartość opóźnienia deszczu: ' ..jsonTable.rainDelay);
-- wyślij zaktualizowaną tabelę do panelu
json = json.encode(tabela json);
HC2:PUT("/api/panels/drenchers", json)
fibaro:log("gotowy")
fibaro:debug('LUA przycisku ukończone: ')
Wyjaśnienie LUA
Kod LUA podzielony jest na sekcje za pomocą wierszy komentarzy (które można usunąć). Zawiera również kilka wierszy debugowania, które ułatwiają testowanie kodu w debugerze urządzenia wirtualnego.
- W pierwszej sekcji podano adres IP Twojego HC2 – musisz dodać poprawny adres IP
- Wpisz swój poprawny nazwa użytkownika I hasło w drugim wierszu (administrator &wzmacniacz; administrator (w tym przykładzie)
- Druga sekcja pobiera tabelę danych panelu zraszaczy z HC2
- Tenopóźnienie deszczu'wartość jest zmieniana w trzeciej sekcji - na Zero w tym przypadku
- Ostatnia sekcja odsyła tabelę danych z powrotem do panelu Zraszacz z nową wartością dla 'opóźnienie deszczu'
Linie debugowania:Niebieskie linie (zaczynające się od „fibaro:debug) to wiersze debugowania, które wyświetlają wartości w oknie debugowania – można ich użyć do potwierdzenia, że kod działa poprawnie. Można je usunąć po uruchomieniu przycisku.
Rysunek 4:Kod LUA w przycisku urządzenia wirtualnego
Skonfiguruj pozostałe przyciski
Teraz należy skonfigurować dwa pozostałe przyciski „Opóźnienie deszczu” i trzy przyciski „Dostosuj wodę”, powtarzając powyższy proces.
- 24 godziny - zmień linię rainDelay na jsonTable.rainDelay = 24
- 48 godzin - zmień linię rainDelay na jsonTable.rainDelay = 48
- 0% (Dostosuj wodę) - zmień linię rainDelay na jsonTable.adjustWater = 0
- 10% - zmień linię rainDelay na jsonTable.adjustWater = 10
- 20% - zmień linię rainDelay na jsonTable.adjustWater = 20
- Kliknij niebieski 'Ratowaćikonę na pasku bocznym po prawej stronie
Ostateczne urządzenie wirtualne pokazano na rysunku 5. Ma ono ikonę zraszacza zamiast standardowej ikony urządzenia wirtualnego – patrz APNT-72 - Zmiana Fibaro Ikony Centrum Domowego. Teraz możesz wprowadzać zmiany w wartościach panelu zraszaczy bez konieczności jego otwierania, a co równie ważne, możesz teraz zmieniać te wartości automatycznie z poziomu Fibaro Scena.
Rysunek 5: Wirtualne urządzenie zraszające z zaktualizowaną ikoną
Automatyczna scena pogodowa
Teraz możemy używać Wirtualnego Urządzenia Zraszacza jako części sceny, aby opóźnić cykl zraszacza o 24 godziny, jeśli padał deszcz.
Home Center ma wbudowaną prognozę pogody, która jest regularnie pobierana z serwisu Yahoo Weather. Wykorzystujemy ją, aby sprawdzić, czy padał deszcz.
Rysunek 6:Scena opóźnienia zraszaczy w zależności od pogody
- Stwórz scenę - spójrz na APNT-61 - Tworzenie scen w Fibaro Centrum domowe
- Wybierać 'Pogoda > Warunki atmosferyczne z menu rozwijanego wyzwalacza
- Dodaj stan pogody dla Deszcz AND i drugi warunek dla Burza
- Dodaj wiersz urządzenia wirtualnego z wybranym przyciskiem „Opóźnienie 24h” – Przycisk 12 w tym przykładzie
- Przykładowa scena obejmuje również powiadomienie push, które ostrzega, że HC opóźnił kolejny cykl zraszania – zobacz APNT-76 – Powiadomienia Home Center
Ostatnie słowo na temat LUA
Ten poradnik przedstawia jeden ze sposobów na stworzenie zautomatyzowanej sceny opóźniającej cykl wodny. Alternatywnie, możesz użyć pojedynczej sceny LUA, aby pobrać wartości i zmienić je w zależności od warunków pogodowych, lub możesz utworzyć osobną scenę LUA, aby sterować nimi w zależności od pogody – zastępując standardową scenę „blokową”, której użyliśmy w tym przykładzie. Masz wiele opcji doprecyzowania sterowania w Home Center.Odniesienie
Niniejsza notatka aplikacyjna opiera się na testach przeprowadzonych przez Vesternet a także wiele przydatnych postów na forum od użytkowników Fibaro Forum.
Informacje powiązane
- APNT-77: Sterowanie zraszaczami za pomocą Fibaro Centrum domowe
- APNT-76: Korzystanie z powiadomień w Fibaro Centrum domowe
- APNT-72: Zmiana Fibaro Ikony Centrum Domowego
- APNT-61: Tworzenie sceny w Fibaro Centrum domowe