Z-Wave Essentails – książka o automatyce domowej opartej na technologii Z-Wave

Czytam właśnie książkę „Z-Wave Essentials” Dr. Christian Paetz aby lepiej zrozumieć i prawidłowo programować i tworzyć rozwiązania oparte o sterowanie domem za pomocą technologii bezprzewodowej Z-Wave.

Książkę tą polecam wszystkim, którzy chcą dobrze zrozumieć zasady pracy sieci Z-Wave, jej budowy (w tym warstwę transmisyjną, routing, bezpieczeństwo etc). Wiedza ta jest niezbędna, gdyż znając możliwości i sposób pracy sieci Z-Wave zrozumiesz działanie funkcji dostępnych w urządzeniach takich jak Motion Controller, Smart Implant czy Dimmer 2 firmy FIBARO.

Pozycja ta nie jest dla osób zaczynających przygodę z systemem inteligentnego domu, którzy chcą jak najszybciej cieszyć się prostym sterowaniem domem. Uważam, że wiedza zawarta w książce wywołałaby efekt odwrotny i zniechęciła nowicjuszy. Ale dla osób, które lubią tak jak ja pisać nieograniczone sterowanie przy użyciu kodu w języku LUA, budować nowe urządzenia wirtualne (widgety), integrować urządzenia jest to pozycja obowiązkowa.

Napisz proszę co najcenniejszego wyniosłeś/aś po przeczytaniu „Z-Wave Essenetials” ?

O Autorze książki




Murator – Smart home na własną rękę. Jak sterować lampkami choinkowymi zewnętrznymi

Zapomniałem się pochwalić, że jeszcze przed świętami Bożego Narodzenia Murator opublikował mój artykuł o tym, jak inteligentnie sterować oświetleniem ozdobnym w czasie świąt za pomocą inteligentnego domu FIBARO.

Najważniejsze aspekty to:

  • załączenie oświetlenia podczas zapadania zmroku tak, aby lampki czy to wewnątrz na choince czy ozdobne na elewacji nie paliły się cały dzień
  • wyłączenie późno w nocy
  • możliwość załączenia i wyłączenia w zmiennym czasie, aby było wrażenie, że wykonuje to osoba będąca w domu (symulacja obecności domowników podczas wyjazdów świątecznych)

Link do artykułu w gazecie Murator: https://muratordom.pl/instalacje/inteligentny-dom/jak-sterowac-lampkami-choinkowymi-zewnetrznymi-smart-home-na-wlasna-reke-aa-3n4L-wEqb-Bzg9.html


Link do pełnego technicznego artykułu na blogu: https://ztechnikazapanbrat.pl/sterowanie-lampkami-choinkowymi/




Sterowanie lampkami choinkowymi – FIBARO Wall Plug

Kupiłem zewnętrzne lampki świąteczne i chciałbym je zapalać gdy robi się ciemno, a gasić późno w nocy. Lampki z modułem czasowym nie były opłacalne, a w dodatku komplet lampek, który mi się spodobał nie posiadał programatora czasowego. Postanowiłem samemu napisać sterowanie lampkami choinkowymi i w tym artykule pokażę jak to zrobić z użyciem systemu inteligentnego domu FIBARO.

W jednym z poprzednich artykułów pisałem o tym jakie lampki choinkowe należy wybrać, żeby były bezpieczne pod względem izolacji, montażu oraz pochodzenia (w odniesieniu do norm europejskich – znak CE), patrz link poniżej.

Oczekiwania

Oczekiwania nie są w moim przypadku zbyt wygórowane.

Mówiąc o sterowaniu lampkami choinkowymi chciałbym aby lampki same (w ”automacie”) się zapaliły kiedy robi się wcześnie ciemno, a następnie aby się same wyłączyły około północy lub nad ranem.

Dodatkowo chciałbym, aby załączenie i wyłączenie oświetlenia nie było każdego dnia o dokładnie tej samej porze. W okresie świątecznym dochodzi do wielu włamań i kradzieży podczas nieobecności domowników. Jeśli godzina załączenia i wyłączenia oświetlenie przed domem będzie za każdym razem nieznacznie inna, będzie to sprawiało wrażenie, że załączanie i wyłączanie oświetlenia jest wykonywane przez nas samych będących w domu, co w pewnym stopniu może zniechęcić potencjalnych włamywaczy.

Film pokazuje całe zagadnienie w praktyce

Chciałbym także aby sterowanie lampkami choinkowymi umożliwiało załączenie i wyłączenie oświetlenia ręcznie niezależnie od programu automatycznego.

To są wymagania jakie sobie postawiłem przed sterownikiem zewnętrznych lampek świątecznych. Oczywiście muszę tutaj dodać, że nic nie stoi na przeszkodzie aby w ten sam sposób sterować innym urządzeniem jak np. pompą, zraszaczem, grzałką itp.

Rozwiązania na rynku

Lampki dostępne na rynku mają bardzo często regulator umożliwiający wybór różnych programów pracy. Programy te dotyczą trybu oświetlenia np. stały lub zmienny kolor lub skala jasności itp. Zdecydowana większość regulatorów do sterowania lampkami choinkowymi nie ma możliwości ustawienia godziny załączenia i wyłączenia, a tylko niektóre posiadają timer, który wyłączy lampki po określonym czasie pracy.

Dlatego postanowiłem wykorzystać do tego mój system inteligentnego domu i w tym celu utworzyłem widget – konsolę wraz ze sceną sterująca pracą konsoli i dowolnych lampek.

Rozwiązanie zrealizowane przez system FIBARO

Mając na uwadze przedstawione powyżej oczekiwania stworzyłem gotowe rozwiązanie sterowania lampkami choinkowymi, którym się z chęcią podzielę.

Urządzeniem załączającym i wyłączającym lampki ozdobne jest u mnie Wall Plug, ale może to być również Single Switch 2, Double Switch 2, Smart Implant, a nawet Dimmer 2 pracujący w trybie on/off (zał/wył). Poniżej zdjęcie mojego Wall Plug podłączonego do zewnętrznych lampek świątecznych.

Wall plug i podłączony do niego sznur świątecznych lampek LED
Wall plug i podłączony do niego sznur świątecznych lampek LED

Podkreślę jeszcze raz, że przedstawione tutaj rozwiązanie nie musi być ograniczone do sterowania wyłącznie lampkami świątecznymi. Z powodzeniem możesz mój widget i scenę wykorzystać do załączania i wyłączania innych urządzeń.

Konsola

Poniżej przedstawiam konsolę, którą stworzyłem wg przedstawionych powyżej założeń.

Ikony konsoli i Wall Plug
Ikony konsoli i Wall Plug

Widget umożliwiający na zaawansowane inteligentne oświetlenie domu w okresie świąt i poza nimi.

Powyższa konsola (virtual device) pozwala na następujące ustawienia:

  • pierwszy wiersz informuje o trybie pracy regulatora: Auto, Zał i Wył
  • trzy przyciski trybu pracy pozwalają na wybranie trybu pracy: auto, ręczne wymuszenie załączenia lub wyłączenia. Przyciśnięcie przycisku „Zał” lub „Wył” powoduje wyłączenie trybu „Auto” i natychmiastowe załączenie lub wyłączenie podłączonych lampek. Przejście do trybu pracy automatycznej następuje po naciśnięciu przycisku „Auto”. Od tego momentu to czy lampki będą dalej się palić czy zgasną zadecydują wybrane poniżej ustawienia.
  • kolejne sekcje regulatora dotyczą ustawień dla trybu automatycznego.
  • pierwsza sekcja pozwala na ustawienie godziny załączenia. Godzinę załączenia można podać w dwojaki sposób: poprzez naciśnięcie przycisku „Zachód” i automatyczne wprowadzenie dokładnej godziny zajścia słońca w danej lokalizacji urządzenia lub za pomocą suwaka. Ustawienie czasu załączenia za pomocą suwaka nadpisuje godzinę wyznaczoną przez zachód słońca.
  • druga sekcja pozwala na wyznaczynienie godziny wyłączenia, którego dokonuje się przez użycie suwaka.
  • Uwaga: Jeśli godzina wyłączenia będzie przed godziną godziną załączenia np. Zał: 16:30, a Wył 3:00 to nastawa wyłączenia odnosi się do następnej doby czyli będzie to 3 rano następnego dnia.
  • ostatnia sekcja pozwala na włączenie trybu „bezpieczeństwa„. Pozwala ona na dodanie lub odjęcie losowo wygenerowanych paru minut (1 do 15) każdego dnia do wyznaczonych w poprzednich krokach godzin załączenia i wyłączenia. Tryb ten pozwala na symulowanie załączenia i wyłączenia realizowane przez domownika, tak że każdego dnia światło będzie się załączać i wyłączać o nieco innej porze i służy wspomnianym wcześniej bezpieczeństwu naszego domu.

Implementacja

Opracowałem dedykowany widget (który w systemie FIBARO nazywa się Virtual Device) oraz scenę zapisana w języku LUA, które pozwalają na łatwą obsługę. Po skopiowaniu udostępnionego widgetu wraz z kodem LUA należy tylko ustawić dwa adresy aby Twój system mógł sprawnie pracować.

Musisz ustalić adres ID urządzenia, które będzie załączać i wyłączać twoje np. zewnętrze lampki świąteczne oraz adres ID urządzenia wirtualnego (Virtual Device) dodanego w Twoim systemie. Sposoby ustalenia tych adresów podawałem w jednym z poprzednich artykułów (rozdział: ”Kod widgetu”).

-- THIS IS ONLY SETTING YOU HAVE TO DO FOR THIS SCENE !!!
-------------------------------------------------------------------------
virtualDeviceID = 391  -- the ID of your VirualDevice to control the light
outputDeviceID = 140  -- the ID of your controlled device
-------------------------------------------------------------------------

Po prawidłowym ustawieniu adresu ID urządzeń (patrz kod powyżej) jak i podmianie adresu ID w kodzie Urządzenia Wirtualnego (patrz zdjęcie poniżej) konsola powinna działać prawidłowo i umożliwiać swobodne sterowanie lampkami choinkowymi lub zewnętrznymi. Możesz to przetestować wybierając tryb „Zał” i „Wył” i obserwując czy nastąpi zapalenie i zgaszenie podłączonych lampek.

Zrzut ustawień dla widget - inteligentne oświetlenie domu.

Uwaga: Aby nie obciążać zbytnio pracy jednostki centralnej, odświeżanie widget i wykonywanie poleceń jest realizowane co kilka sekund. Oznacza, to że będziesz musiał chwilkę zaczekać zanim światła się zapalą po naciśnięciu przycisku „Zał”.

Napisz proszę czy stworzone przeze mnie rozwiązanie spełnia twoje wymagania ?

Czy pozwala ono na automatyczne oświetlanie elewacji domu w okresie świątecznym…

Łukasz




Murator – Smart home na własną rękę. Powiadomienie, które informuje, że dziecko wróciło ze szkoły.

Gazeta Murator opublikowała mój artykuł z bloga https://ztechnikazapanbrat.pl/notyfikacja-dziecko-wrocilo-ze-szkoly/ na swojej internetowej stronie.

Artykuł opracowany przez Murator jest pod adresem:

https://muratordom.pl/instalacje/inteligentny-dom/powiadomienie-ktore-informuje-ze-dziecko-wrocilo-ze-szkoly-smart-home-na-wlasna-reke-aa-8bJs-Awdh-hpB4.html

Strona Murator

Miłej lektury




Notyfikacja – powiadomienie o powrocie dziecka ze szkoły

Czy jako matka lub ojciec nie chciałabyś/chciałbyś wiedzieć kiedy Twoje dziecko wróciło do domu ze szkoły?

Zapewne tak !

W takim razie pomocny w tej sytuacji okaże się system inteligentnego domu, który wyśle do ciebie notyfikację – powiadomi Cię o tym zdarzeniu. Dzięki odebranej notyfikacji na smartfonie będziesz wiedział/a kiedy zadzwonić i upewnić się, czy wszystko u dziecka w porządku i czy jest bezpieczne.

Niby taka prosta funkcja, ale jak bardzo przydatna w życiu 🙂



Dziś pokażę Ci jak to zrobić w systemie FIBARO. Otrzymasz wymaganą konfigurację urządzeń oraz kod wysyłający notyfikację na Twój smartfon wraz z widgetem pokazującym kiedy były np. otwierane drzwi wejściowe którymi dziecko i inni domownicy wchodzą do domu.

Detekcja otwarcia drzwi

Są różne sposoby wykrycia otwarcia drzwi. Najbardziej zaawansowanym sposobem byłoby użycie elektronicznej zasuwki takiej jak Danalock,  którą opisywałem w jednym z poprzednich artykułów.  Jeśli nie masz takiego rozwiązania, nie przejmuj się, są inne tańsze na to sposoby.

Youtube film o moim rozwiązaniu

Danalock (Gerda) zamek Z-Wave do drzwi

Do detekcji można wykorzystać czujnik ruchu lub kontrakton. FIBARO oferuje dwa urządzenia tego typu:

  • czujnik ruchuMotion Sensor – to rozbudowane bateryjne urządzenie rejestrujące temperaturę, detekcję ruchu, natężenie światła oraz drgania (może być również detektorem wstrząsów sejsmicznych dla rejonów aktywnych sejsmicznie). Jeśli zdecydujesz się na to rozwiązanie, wykorzystasz jedną z dostępnych jego funkcji – detekcję ruchu. Pozostałe funkcje urządzenia będziesz mógł wykorzystać do innych celów np. do pomiaru temperatury czy natężenia światła.

FIBARO – Motion Sensor

  • kontaktronDoor/Window Sensor 2 – czyli bateryjny czujnik magnetyczny. Polecam instalację właśnie tego urządzenia, gdyż jest ono dedykowane do wykrycia otwarcia między innymi drzwi. 

FIBARO – Door/Window Sensor 2

Oba wymienione rozwiązania są urządzeniami bateryjnymi co oznacza, że ich montaż jest wyjątkowo prosty i nie wymaga doprowadzenia przewodów zasilających. Możesz je wykorzystać w celu monitoringu i ochrony domu przed włamaniem, ale tym razem opiszę ich zastosowanie tylko wykrycia i notyfikacji powracającego dziecka ze szkoły.

Filtrowanie niepotrzebnych zdarzeń

Aby Twój smartfon odebrał notyfikację i powiadomił Cię o faktycznym powrocie dziecka do domu, a nie o „każdym” otwarciu drzwi np. w godzinach rannych gdy kolejne osoby opuszczają dom, należy zastosować filtrację, aby właściwie rozpoznać interesujące zdarzenie.

W tym celu przyjąłem założenie, że system będzie informował – wysyłał notyfikacje tylko w dni powszednie w godzinach 9-18. Te ustawienia oczywiście można zmienić dostosowując je do Twoich potrzeb.

Poza tym chciałem aby system dorzucił nieinteresujące zdarzenia np. późniejsze wyjście dziecka do szkoły np. na godzinę 10 podczas gdy system rozpoczyna czuwanie od godziny 9 rano lub kilkakrotne otwieranie drzwi w trakcie rannego wychodzenia domowników. Aby temu sprostać dodałem warunek uzbrojenia się systemu co następuje po 3 godzinach przy non stop zamkniętych drzwiach (ten czas też jest konfigurowalny).   

Zasadę działania przedstawia najlepiej poniższy diagram. Jego działanie omówię na przykładzie analizy otwierania drzwi wejściowych.

Zasada pracy notyfikacji otwarcia drzwi

  • Zarówno przed godziną 9 rano jak i po godz 18 system jest nieaktywny (nie odlicza czasu do uzbrojenia) i nie będzie wysyłał żadnych notyfikacji na smartfon.
  • Od godziny 9 system zaczyna odliczać czas niezbędny do uzbrojenia i wysłania notyfikacji (linie skośnie do góry).
  • Jeśli nastąpi otwarcie drzwi przed upływem wymaganego czasu do uzbrojenia (patrz pierwsze otwarcie drzwi po godzinie 9) to następuje reset i odliczanie zaczyna się od początku.
  • Jeśli nie dojdzie do otwarcia drzwi i system odliczy wymagany czas, to się uzbroi po zdefiniowanym czasie (na rysunku zakreskowany trójkąt i linia pozioma – uzbrojenie).
  • Od tego momentu pierwsze otwarcie drzwi zostanie zinterpretowanie jako powrót dziecka do domu i zostanie wysłana notyfikacja (czerwony romb na samej górze diagramu). Oczywiście po wysłaniu notyfikacji system rozpoczyna odliczanie od początku i cykl rozumowania się powtarza (co obrazują kolejne otwarcia drzwi np. wychodzenie dziecka po szkole na zewnątrz lub powracanie domowników. Częste ponowne otwieranie drzwi nie spowoduje wysłania notyfikacji.
  • Na koniec o godzenie 18 system się wyłącza i nie będzie już wysyłał notyfikacji aż do następnego dnia.

Tak jak wynika z powyższego opisu system zawsze wyśle notyfikację po uzbrojeniu systemu i po otwarciu drzwi niezależnie od tego kto je otworzy. Czyli jeśli zamiast dziecka powracającego ze szkoły do domu przybędzie rodzic lub ktoś z rodziny, system potraktuje go jak wracające dziecko i wyśle notyfikację do zdefiniowanych odbiorców. Niemniej jednak zakładam, że przytoczona sytuacja nie jest regułą, a racze sytuacją wyjątkową i moje rozwiązanie sprawdzi się u Ciebie tak samo dobrze, jak u mnie.

Jeśli jednak z góry wiadomo, że w danym dniu notyfikacja nie ma sensu bo jest to np. dzień wolny od szkoły, należy wyłączyć notyfikację na konsoli (wirtualnym urządzeniu – widget) odpowiednim przyciskiem, o którym opowiem w następnym rozdziale.

Widget

Widget który stworzyłem do tego rozwiązania jest prosty. Przedstawia ostatnich 5 zdarzeń np. otwarcia drzwi i wyróżnia (za pomocą symbolu małej ikony smartfonu) te dla których została wysłana notyfikacja. Rejestr dla pięciu ostatnich zdarzeń jest prostszą formą odczytania tej samej informacji z systemu FIBARO, z dziennika zdarzeń.

Widget prezentowany na smartfonie

Od góry widać pięć ostatnich dat zajścia zdarzenia i przy jeden z nich (nr. 3) została wysłana notyfikacja na smartfon, o czym informuje ikonka smartfonu. Na dole widgetu są przyciski umożliwiające załączenie systemu notyfikacji, wyłączenie lub odłożenie powiadomień do następnego dnia. W każdym z wymienionych trybów system będzie dalej na ekranie wyświetlał pięć ostatnich zdarzeń np. otwarcia drzwi ale notyfikacje będą wysyłane tylko w trybie załączenia.

Jak system wyśle notyfikacje na Twój smartfon to tekst jaki zostanie wypisany na ekranie w notyfikacji może być dowolny i jest konfigurowalny w udostępnionym kodzie. Przykłady poniżej.

Kod widgetu

Sam widget wymaga tylko jednej nastawy tak aby współpracował z Twoim systemem FIBARO. Po tym jak zaimportujesz mój widget (informacja o tym na końcu artykułu) zmień adres ID w kodzie definiującym pokazane wcześniej przyciski.

W zakładce „Zaawansowane” zaimportowanego urządzenia wirtualnego musisz podmienić w sekcji 6, mój adres 380 na adres Twojego urządzenia wirtualnego, patrz zdjęcie poniżej. Sposób jak znaleźć adres swojego urządzenia wirtualnego po tym jak go zaimportujesz i zapiszesz, opisałem w innym artykule tutaj (rozdział „Kod widgetu”), a wideo znajdziejsz pod tym linkiem.

Pierwsza zakładka konfiguracji Widgetu

Druga zakładka konfiguracji Widgetu – ustawienie adresu ID

Scena (kod LUA)

Scena z kodem LUA jest na tyle uniwersalna, że bez problemu obsłuży dowolne urządzenie rozpoznające otwarcie drzwi lub wykrycie ruchu. Jeśli korzystasz z urządzeń FIBARO wymienionych wcześniej to posiadają one parametr przechowujący dokładny czas ostatniego wyzwolenia czyli datę i godzinę np. ostatniego otwarcia drzwi lub detekcji ruchu. Jest to parametr o nazwie „lastBreached”. Aby prawidłowo skonfigurować scenę należy podać:

  • „virtualDeviceID” – adres ID wirtualnego urządzenia (widżetu), z którym ta scena ma współpracować. Sposób na znalezienie adresu urządzenia wirtualnego podałem w jednym z poprzednich artykułów.
  • „openDoorDeviceID” – adres ID urządzenia które będzie rozpoznawać wyjście dziecka do domu (Motion Sensor lub Door/Window Sensor 2)
  • „delayTime” – czas po jakim system zostnie uzbrojony i będzie gotowy do wysłania notyfikacji
  • „textForNotification” – tekst jaki zostanie wysłany w notyfikacji na smartfon

local virtualDeviceID = 380  -- Address ID of Widget (virtual device)
local openDoorDeviceID = 312 -- Address ID of detecting device

local delayTime = 60 * 60 * 3 -- in seconds (60s * 60 minut * 3h)
local textForNotification = "XXX wrócił/a" -- the text that must be send on notification 

W celu zachowania dobrej wydajności centrali, to znaczy aby nie przeciążać centralki ciągłym wykonywaniem sceny, wywołuję kod sceny co 1 minutę. Jest to możliwe gdyż nie zależy mi na tym, aby dokładnie w chwili otwarcia drzwi wysłać notyfikację na smartfon. Poza tym sama notyfikacja też jest obsługiwana przez inne zewnętrzne firmy i dochodzi z pewnym opóźnieniem. Dlatego wykonanie sceny raz na minutę jest w zupełności wystarczające i nie spowoduje przeoczenia krótkotrwałego otwarcia drzwi.

Kod źródłowy sceny, który możesz pobrać po zapisaniu się na newsletter (patrz koniec artykułu) umożliwia edycję domyślnych godzin wysyłania notyfikacji 9-18 i dni tygodnia (domyślnie dni robocze, gdzie niedziela=1, poniedziałek=2, …, piątek=6). Do tego celu służą linie kodu poniżej.

    	and 2 <= currentDate.wday and currentDate.wday <= 6 
      	and 9 <= currentDate.hour and currentDate.hour <= 18 then

Aby notyfikacja została wysłana, trzeba zarejestrować smartfon w centrali FIBARO oraz zmienić adres ID smartfona (u mnie 130) na Twój adres definiujący smartfon, patrz poniżej.

fibaro:call(130, "sendPush", textForNotification) --notyfikacja smartfone

Zalecam nadać scenie nazwę wskazującą, z którym widgetem współpracuje, a następnie przypisać dla nich jedną wspólną lokalizację np. „wyjście”.

Zakładam, że zaprezentowane rozwiązanie będzie dla Ciebie przydatne i spełni zadanie.

Bezpieczeństwa nigdy nie za dużo !




Murator – Smart home na własną rękę. Reguluj oświetlenie razem z zachodem słońca

Dziś również mogę się pochwalić. Artykuł dotyczący sterowania oświetleniem podczas zachodów i wschodów słońca został także opublikowany przez czasopismo Murator.

https://muratordom.pl/instalacje/inteligentny-dom/smart-home-na-wlasna-reke-reguluj-oswietlenie-razem-z-zachodem-slonca-aa-JbTK-4t3c-kvou.html

Murator artykuły

Źródłowy tekst jest dostępny pod poniższym linkiem:

Autor zdjęcia nagłówka: gettyimages




Reguluj oświetlenie razem z zachodem słońca

Od kilku lat korzystamy głównie z oświetlenia typu LED. Jednym z jego typów są taśmy LED’owe, które oświetlają nasze pokoje, korytarze, a czasem schody i inne miejsca w domu. Ozdobne taśmy LED’owe mogą świecić w dowolnym kolorze i wybraną jasnością. Potrafią płynnie zmieniać kolor, którym świecą. Zwykle, aby sterować taśmą LED używasz nastawnika w postaci pilota lub panelu, na którym ustawiasz wybrane parametry, w jakich w danej chwili powinna świecić taśma LED.

Moim zdaniem takie rozwiązanie nie jest w pełni satysfakcjonujące. Dziś pokaże Ci co zrobić, aby Twoja taśma LED automatycznie zmieniała kolor lub jasność wraz z zachodzącym lub wschodzącym słońcem. Dzięki temu światło pochodzące z taśmy LED będzie stopniowo rozjaśniało salon lub inny pokój w miarę jak zapada zmrok.

Gotowe rozwiązanie zaprezentuje na przykładzie profesjonalnej taśmy LED, zakupionej przeze mnie w sklepie Polski LED – i dedykowanego sterownika RGBW firmy FIBARO. Udostępnię kod sceny i widget (patrz koniec artykułu) tak, abyś mógł szybko go skopiować i użyć w swoim domu.

W dalszej części znajdziesz wskazówki i implementację rozwiązania opartego o system inteligentnego domu – FIBARO. Dam Ci gotowy do użycia uniwersalny kod LUA wraz z widgetem przystosowanym do sterowania dowolną taśmą LED lub inną ściemnianą lampą, w zależności od godziny wschodu lub zachodu słońca.

Podane rozwiązanie z powodzeniem sprawdzi się także do automatycznego ściemniania zwykłego światła z żarówką żarową lub specjalną ściemnianą żarówką LED. O zagadnieniu ściemniacza FIBARO, który z powodzeniem można zastosować z widgetem i kodem LUA opisanym poniżej, pisałem w jednym z poprzednich artykułów (link pod spodem).

Taśma LED

Moim celem jest uzyskanie światła pochodzącego z taśmy LED, które będzie oddawało naturalne kolory, gdyż zastosowałem je do oświetlania ozdobnej ściany w salonie. Technicznie rzecz ujmując moja taśma powinna mieć wysoki współczynnik CRI.

Poszukując takiej taśmy trafiłem na profesjonalną taśmę LED zakupioną w sklepie Polski LED. Wybrałem taśmę typu RGB+W, opartą o diody 5050 SMD, o współczynniku CRI ~85%, jej cena za 5m to około 250 PLN. Cena jest adekwatna zarówno do jakości wykonania jak i sposobu odzwierciedlania naturalnych kolorów.

Film pokazujący widget w akcji

FILMhttps://youtu.be/-lT5bmWjww4

Na poczatek wyjaśnię co to jest CRI. Na stronach Wikipedia możemy przeczytać, że jest to: wskaźnik oddawania barw reprezentowany przez liczbę z przedziału od 0 do 100, która określa jak dobrze postrzegane są barwy oświetlonych przez taśmę LED przedmiotów. Wartość 100 oznacza, że oświetlany przedmiot światłem z taśmy LED wygląda tak naturalnie, jak go widzimy w promieniach słonecznych.

Oprócz wiernego oddawania barw zależało mi również na tym, aby taśma LED mogła świecić czystym i ciepłym kolorem białym. Dlatego, jeśli nie nastawiasz się wyłącznie na podświetlenie w kolorze, to polecam Ci, aby zawsze wybierać taśmy z niezależnym obwodem dla koloru białego, czyli z oznaczeniem „W” od angielskiego słowa „White”, (RGB+W). Rozwiązanie polegające na zmieszaniu trzech składowych: barwy czerwonej (R), zielonej (G) i niebieskiej (B) w jednakowych proporcjach w wyniku czego powstaje kolor biały, w praktyce nie daje zadowalającego rezultatu. Kolor biały nie jest czysty i przyjemny dla oka. Dlatego taśmy LED z oddzielną diodą koloru białego o różnej temperaturze (odcieniu) 2700K – 6500K, znacznie lepiej się sprawdzają.

Poniżej zdjęcia jak wiernie oddają naturalne kolory lampy LED w sklepie Polski LED

Źródło Polski LED

Po wyposażeniu się w taśmę LED o powyższych wymaganiach chciałem, aby o określonych godzinach rano i wieczorem światło w salonie automatycznie „podążało” za słońcem podtrzymując miłą i ciepłą atmosferę w moim salonie.

Wiesz jak to zrealizowałem?

Odpowiedź znajdziesz w dalszej części tego artykułu.

Wschód i zachód słońca

Sterowanie jasnością taśmy LED, w zależności od natężenia światła słonecznego – należy mierzyć przez zewnętrzny czujnik jasności lub wesprzeć się dokładną godziną wschodu i zachodu słońca w Twoim domu (miejscu montażu taśmy). Ja wybrałem drugą metodę, ze względu na brak zewnętrznego czujnika nasłonecznienia. Co więcej, uwzględniając dokładny czas wschodu lub zachodu na podstawie lokalizacji Twojego domu będziesz mógł w odpowiednim momencie rozpocząć proces zmiany oświetlenia taśmy LED jeszcze przed dokładnym czasem zdarzenia. Dzięki temu oświetlenie LED będzie podążać za zmianą nasłonecznienia na zewnątrz.

Widget – wirtualny panel dla taśmy LED

Spójrz na zrzut ekranu panelu (widget), który stworzyłem specjalnie do sterowania taśmą LED w zależności od położenia słońca.

Widget na smartfon

Dedykowany panel stworzony w systemie FIBARO umożliwia:

  1. Załączenie lub wyłączenie funkcji sterowania taśmą LED. Uwaga: Jeśli funkcja jest aktywna, to sterowanie taśmą LED w inny sposób nie będzie możliwe (algorytm w sposób ciągły nadpisuje nastawy przejmując kontrolę nad taśmą).
  2. Wybór jednego ze zdarzeń na podstawie, którego będzie odbywało się sterowanie taśmą LED. Do wyboru masz wschód słońca (sunrise) lub zachód słońca (sunset). Po wyborze rodzaju zdarzenia system poda dokładną godzinę wschodu lub zachodu dla Twojej lokalizacji.
  3. Określenie ilość minut przed i po dokładnej godzinie zdarzenia. Czas określa się za pomocą suwaków podając wartość w %, gdzie 1% = 2 minuty.
  4. Określenie wartości natężenia światła dla taśmy LED na samym początku i na koniec procesu zmian. Wartości określane za pomocą suwaków w skali od 0% do 100%. Jeśli chcemy zrealizować stopniowe rozjaśnianie wraz z zapadającym zmrokiem podczas zachodu słońca należy ustawić zmianę np. od 5% do 90%.
  5. Określenie zachowania się taśmy LED po zakończonym procesie regulacji (czy taśma ma pozostać załączona z intensywnością taką, jaką proces regulacji został zakończony).
  6. Na dole pod ustawieniami znajduje się linijka z aktualnym stanem konsoli.

Kod widgetu

Widget możesz pobrać (informacje na końcu artykułu) a następnie go zaimportować do swojego systemu FIBARO. Wybierz „Urządzenia” -> „Dodaj lub usuń urządzenie” i wybierz „Importuj urządzenie wirtualne” wskazując na mój plik „LED_WschZach_Kokpit.vfib.json”. Plik otrzymasz po podaniu email’a na końcu artykułu.

Import urządzenia wirtualnego

Po zaimportowaniu pliku pokaże się ono tak jak na poniższym zdjęciu, gdzie zalecam zmianę nazwy i przypisanie lokalizacji, a następnie zapisanie (ikona dyskietki).

Nadanie nazwy urządzeniu wirtualnemu

Po zapisaniu przełącz się na zakładkę zaawansowane gdzie musisz uaktualnić adres ID (mój 327) w każdym polu konfiguracji na adres Twojego wirtualnego urządzenia (tego widgetu).

Podmiana adresu ID dla urządzenia wirtualnego (widget)

Aby znaleźć adres ID swojego widgetu w edytorze kodu w drugiej linii wciśnij prawy przycisk myszy i w menu kontekstowym odnajdź swój widget, patrz zdjęcie poniżej. Pamiętaj musisz wcześniej zapisać zaimportowany widget. Zdjęcie poniżej pokazuje, że nowym adresem ID urządzenia wirtualnego jest liczba 361.

Tu jest link do wideo nagranego dla ustawień innego urządzenia ale w nim pokazuje jak znaleźć właściwy adres ID urządzenia i je podmienić w kodzie LUA.

Odnalezienie adresu ID

Teraz znając już adres widgetu uaktualnij wszystkie wystąpienia (łącznie 26) poprzedniego adresu na nowy. Zmiana dotyczy każdego fragmentu kodu zaczynającego się tak jak poniżej.

fibaro:getValue(327, 
fibaro:call(327, 
fibaro:getValue(327, 

Znając adres ID widgetu ustawisz go także dla zmiennej „virtualDeviceID” w kodzie sceny, według opisu poniżej.

Scena z kodem LUA

Procesem sterowania taśmy LED i powyżej zaprezentowanego widgetu steruje dedykowana scena. Aby scena z kodem LUA zaczęła poprawnie pracować, należy ją skopiować do nowej sceny („Sceny” -> „Dodaj scenę” -> „Dodaj Scenę opartą o język lua”) i podmienić adresy ID wskazujące:

  • urządzenie wirtualne (virtualDeviceID) dla powyżej omówionego widget’u
  • adres Twojej taśmy LED (sterownika RGB lub Dimmer 2), w kodzie poniżej jest to zmienna (outputDeviceID).

Oba adresy są zdefiniowane w pierwszych linijkach kodu, patrz fragment kodu poniżej. Reszta kodu LUA jest uniwersalna i nie wymaga modyfikacji. Zobacz na przykładzie innego wideo i innego urządzenia jak niewiele trzeba zmienić aby scena prawidłowo działała.

-- THIS IS ONLY SETTING YOU HAVE TO DO FOR THIS SCENE !!!
virualDeviceID = 327  -- the ID of your VirualDevice to control LED light
outputDeviceID = 112  -- the ID of your controlled device

Zalecam nadać scenie nazwę wskazującą, z którą taśmą LED i widgetem ona współpracuje, a następnie przypisać jedną wspólną lokalizację np. „salon” zarówno dla taśmy LED jak i widgetu.

Jeśli chcesz w opisany powyżej sposób kontrolować taśmę zarówno podczas świtu jak i zachodu słońca musisz dodać drugie urządzenie wirtualne (widget) i kolejną scenę. Podobnie jak poprzednio nazwij je odpowiednio i w scenie podmień adresy ID.

Pełną wersję widgetu (urządzenia wirtualnego) wraz z dedykowaną sceną LUA wyślę do Ciebie, kiedy zapiszesz się do newslettera. Jeśli jesteś już adresatem newslettera napisz do mnie pod adres lukasz@ztechnikazapanbrat.pl, a podam ci link.




Murator – Smart home na własną rękę. Urządzenia sterowane z jednego pilota

Pod takim tytułem znane czasopismo Murator umieściło zebrane zagadnienia z moich ostatnich dwóch artykułów:

Jest mi z tego powodu niezwykle miło i czuję się doceniony.

Zachęcam Cię do przeczytania lekkiego artykułu na stronach Murator’a, a jak chcesz poznać jak krok po kroku zintegrować dowolne urządzenie sterowane pilotem z systemem FIBARO, to gotową instrukcję znajdzie w powyższych artykułach: ustawienia, kod LUA, widget.




Jak dodać do inteligentnego domu dowolne urządzenie sterowane pilotem? – cz.2

Dziś uzyskasz kolejne informacje dotyczące gotowego rozwiązania, którego opis rozpocząłem w poprzednim artykule (https://ztechnikazapanbrat.pl/integracja-markizy1/ ). Po uważnym przeczytaniu pierwszej części przygotowałeś uniwersalny pilot ze skopiowanymi sygnałami z oryginalnego. Potem dolutowałeś obwody do interesujących Cię funkcji realizowanych przez przyciski pilota. Na koniec, w zależności od posiadanego systemu inteligentnego domu, podpiąłeś przewody pod moduł cyfrowy taki jak Smart Implant firmy FIBARO.

W poprzednim tekście obiecałem, że podam Ci pełne rozwiązanie na przykładzie modułu Smart Implant firmy FIBARO wraz z gotowym do skopiowanie kodem LUA do oprogramowania sterowania markizy słonecznej.

Pamiętaj!

Samo rozwiązanie jak i kod LUA z powodzeniem może być zastosowany dla każdego urządzenia sterowanego pilotem, czyli do bramy wjazdowej, garażowej, rolet, żaluzji, itd.

W tym artykule:

  1. Przedstawię konfigurację i kod LUA umożliwiający sterowanie Twoim urządzaniem ze smartfonu dla instalacji opartej o urządzenia  FIBARO.
  2. Pokażę, jak dodać przyciski ścienne tak, aby oprócz sterowania z pilota oryginalnego i ze smartfona można było również lokalnie zamykać/otwierać, włączać/wyłączać urządzenie z wygodnego przełącznika na ścianie.
  3. Wyjaśnię, gdzie i jak zdefiniować w systemie warunek, aby markiza została automatycznie zwinięta, gdy prędkość wiatru przekroczy np. 14km/h.

Jak za pomocą dwóch wyjść sterować trzema przyciskami pilota?

W poprzedniej części dowiedziałeś się, że moduł Smart Implant ma dwa wyjścia cyfrowe, podczas gdy mój pilot do markizy jest wyposażony w trzy przyciski. Na szczęście są trzy sposoby rozwiązania tej sytuacji, które przedstawiłem Ci wcześniej. Jednym z nich jest umiejętne wykorzystanie jednego modułu z dwoma wyjściami cyfrowymi.

Chcąc z dwóch wyjść cyfrowych zrobić trzy trzeba sięgnąć do systemu kodowania binarnego.

Oto mój pomysł…

Poniżej wersja finalna i jej praca na żywo. Pilot jest sterowany przez Smart Implant FIBARO zamknięty w puszce elektrycznej wraz z przełącznikiem roletowym.

Finalny produkt Smart Implant sterujący pilotem do markizy

Skoro nie masz tyle wyjść przekaźnikowych ile jest obwodów (przycisków na pilocie), musisz obecne dwa wyjścia z modułu Smart Implant użyć do kodowania binarnego rozkazu. Na dwóch bitach można zakodować aż 4 stany, czyli dokładnie tyle, ile jest Ci potrzebne. Poniższa tabela przedstawia stany pilota jakie musisz obsłużyć.

Smart Implant wyjście Q1 Smart Implant wyjście Q2 Rozkaz wysłany do pilota Numer przekaźnika zwierającego obwód pilota
0 0 Spoczynek (żaden przycisk nie jest wciśnięty) brak (wszystkie przekaźniki rozwarte)
0 1 zwijanie Przekaźnik 1
1 0 rozwijanie Przekaźnik 2
1 1 stop Przekaźnik 1
i Przekaźnik 2

Za pomocą wyjść cyfrowych Q1 i Q2 przyjmujących stany (0 i 1)  Smart Implant będzie kodował rozkazy dla pilota. Nie będzie bezpośrednio zawierał obwodów pilota, tak jak to zaproponowałem w pierwszym artykule.

Obwody pilota będą zawierane przez dodatkowe 3 przekaźniki sterowane przez demultiplex. Demultiplexer rozkoduje otrzymane binarne polecenie ze Smart Implant i wysteruje odpowiednie przekaźniki (patrz schemat ideowy poniżej).

Schemat ideowy rozwiązania
Schemat ideowy rozwiązania

W swoim rozwiązaniu użyłem demultiplexer 74HC4051, który jest urządzeniem 8 kanałowym, kodowanym przez 3 wejścia S0, S1, S2 – koszt około 10 PLN. Ograniczyłem się do wykorzystania 2 wejść na sygnały od Q1 i Q2. Dzięki temu uzyskałem możliwość zakodowania 4 stanów, a dokładnie 3 wyjść (Y7, Y6, Y5) podpiętych do 3 przekaźników sterujących obwodami pilota.

Poniższe zdjęcie pokazuje demuliplexer przylutowany do wejść sterujących przekaźnikami.

Podłączenie demulitplexer do przekaźników
Podłączenie demulitplexer do przekaźników

Jako przekaźniki zwierające obwody pilota, zastosowałem moduł SRD-05 z czterema przekaźnikami na płytce. (cena 14 PLN).

N

Wyjścia przekaźnikowe zwierające obwody pilota
Wyjścia przekaźnikowe zwierające obwody pilota

Uwaga: Pamiętaj, aby dobrać odpowiednie wspólne bezpieczne napięcie zasilania dla demuliplex oraz przekaźników. Ja zdecydowałem się na napięcie 5V, pomimo że Smart Implant zasilam napięciem 12V.

W realizacji przedstawionego rozwiązania pomagała mi profesjonalna firma projektująca urządzenia i systemy elektroniczne Pana Tomasza Radomskiego właściciela firmy Inowatronika.

Demultiplexer wraz z przekaźnikami, współpracując razem ze Smart Implantem pozwolą Ci na odpowiednie “wciskanie” przycisków pilota. 

Po zbudowaniu całego układu zgodnie z zdjęciami powyżej moja markiza rozwijała się i zwijała bez najmniejszych problemów ale nie mogłem jej zatrzymać w trakcie zwijania lub rozwijania. Okazało się, że prawidłowe wydanie komendy „stop” jest nie lada wyzwaniem.

Chcesz wiedzieć dlaczego? Czytaj dalej.

Wyzwanie przy rozkazie „stop”

Zgodnie z tabelą rozkazów pokazaną powyżej, polecenie „stop” wymaga jednoczesnego podania na wyjście Smart Implant dwóch sygnałów wysokich (1 , 1) co demultiplexer natychmiast interpretuje wystawiając stan wysoki na swoim trzecim wyjściu i trzeci przekaźnik zamyka obwód przycisku „stop” markizy. A przynajmniej tak mówi teoria 🙂

Następnie (zgodnie z tabelą rozkazów) każdy rozkaz, w tym komendę „stop”, należy odwołać przełączając Smart Implant w stan spoczynku – (0 , 0) po mniej więcej kilkuset milisekundach. Będzie to odpowiadało krótkiemu wciśnięciu i zwolnieniu przycisku „stop” na pilocie. 

Aby przejść w stan spoczynku (0 , 0) należy zdjąć jednocześnie obie jedynki z obu przekaźników Smart Implant, jeśli tego nie zrobisz to przez ułamek sekundy będzie stan pośredni (0 , 1) lub (1 , 0). Z takim przypadkiem mamy tu do czynienia.

Pomimo, że w kodzie LUA sterującym pracą modułu Smart Implant wydasz polecenie ustawienia Q1 na 0 oraz Q2 na 0 linię po linii, Smart Implant nie wykona tego jednocześnie

Zastanawiasz się jaka jest przyczyna takiego stanu?

Zasięgnąłem wiedzy zespołu deweloperskiego firmy FIBARO i dowiedziałem się, że takie zachowanie jest podyktowane bezpieczeństwem. System FIBARO po napotkaniu komend (poniżej) odnoszących się do modułu zewnętrznego, jakim jest Smart Implant, zachowuje się w następujący sposób.

  -- zakończenie rozkazu "STOP" - reset obu wyjść
   fibaro:call(296, "turnOff") 
   fibaro:call(297, "turnOff") 

Rozkaz otwarcia wyjścia Q1 (pierwsza linijka kodu) jest natychmiast wykonywany, ale system nie przechodzi do realizacji następnej linijki kodu. Zamiast tego czeka na potwierdzenie wykonania przez zewnętrzny moduł pierwszej instrukcji. Dopiero po otrzymaniu potwierdzenia od Smart Implant, że wyjście Q1 zostało otwarte (stan 0), następuje wykonanie drugiego polecenia (otwarcie wyjścia Q2). Ten czas pomiędzy wykonaniem polecenia linii nr 2 – Q1 i linii 3 – Q2 to kilkaset ms, co w zupełności wystarczy, aby demultiplexer odczytał to jako inny (niepożądany) rozkaz i wykonał polecenie zwijania markizy (0 , 1) zanim oba wyjścia zostaną otwarte (zresetowane).

Poniżej dla jasności cały cykl zakończenia rozkazu „stop” ze środkowym stanem przejściowym (niepożądanym).

(1 , 1) -> (0, 1) -> (0 , 0)

Jeśli masz markizę podobną do mojej, która po jednorazowym wydaniu polecenia zwijania lub rozwijania działa w ten sposób, że silnik markizy zwija lub rozwija płótno do końca, to podanym rozwiązaniem nigdy nie uda się wydać polecenia „stop”. Wynika to z faktu, że pośrednie (niechciane) polecenie – tu zwijanie (stan 0 , 1) będzie ostatnim poleceniem i nastąpi całkowite zwinięcie markizy. A chciałeś żeby markiza pozostała bez ruchu, prawda?

Spokojnie, z tej sytuacji również jest wyjście, wystarczy zapoznać się z dalszą częścią tekstu, by je poznać.

Ominięcie stanu przejściowego 

Tak naprawdę opisany stan przejściowy (poniżej zaznaczony grubą czcionką) pojawia się w dwóch sytuacjach:

  1. Podczas rozpoczęcia komendy „stop” (0 , 0) -> (1 , 0) -> (1 , 1)
  2. Podczas zakończenia komendy „stop” (1 , 1) -> (0 , 1) -> (1 , 1)

Pierwszy przypadek wydania rozkazu „stop” nie jest strategiczny, więc nie będę go szczegółowo opisywał. Wprawdzie stan przejściowy (1 , 0) się pojawi, co spowoduje wysłanie komendy rozwijania przed stanem właściwym (1 ,1) równoznacznym komendzie „stop”. Jednak stan przejściowy będzie utrzymywał się na tyle krótko, że markiza wcale bądź nieznacznie się przesunie i dlatego uważam go za mało istotny.

Drugi przypadek jest strategiczny dla prawidłowej pracy markizy. Jak opisałem w poprzednim rozdziale, uniemożliwia on zatrzymanie markizy w żądanym położeniu, gdyż ostatnim poleceniem wydanym przez układ będzie stan przejściowy (0 , 1) czyli zwijanie. Zamiast zatrzymać markizę w żądanej pozycji, za każdym razem nastąpi jej całkowite rozwinięcie.

A to nie jest pożądany przez Ciebie efekt.

Rozwiązanie polega na tym, aby w sytuacji przejścia w stan spoczynku z polecenia „stop” przytrzymać jedno z wyjść Smart Implant do chwili, kiedy drugie nie zostanie otwarte (zresetowane). Dzięki czemu przechodząc ze stanu (1 , 1) na (0, 0) nie pojawi się stan przejściowy (0 , 1). Taki efekt osiągnąłem dzięki dodaniu paru elementów logicznych (scalonych układów logicznych) do mojego układu pomiędzy wyjścia Q1 i Q2 ze Smart Implant, a przed wejściem na demultiplexer.

Przedstawione powyżej rozwiązanie jest dość skomplikowane. Wymaga wiedzy i umiejętności lutowania. Rozwiązanie opiera się o użycie bramek logicznych AND, OR, NOR oraz przerzutnika RS.

Schemat logiki rozwiązujący problem komendy "stop"
Schemat logiki gwarantujący stabilną komendę „stop”

Podpięcie przełącznika ściennego

Tak jak wspomniałem na początku artykułu do łatwej obsługi markizy, bramy, żaluzji czy innego urządzenia warto, abyś rozważył możliwość sterowania nim także za pomocą lokalnego przełącznika ściennego. Dzięki temu, gdy potrzebujesz skorzystać z urządzenia nie musisz ani szukać oryginalnego pilota ani sięgać po smartfona z aplikacją, wystarczy, że przyciśniesz przycisk na ścianie (taki jak poniżej).

Przełącznik roletowy z dwoma przyciskami
Przełącznik roletowy z dwoma przyciskami

Rozwiązanie polega na tym, że przyciski na ścianie będą także pośrednio “naciskać” odpowiedni przycisk pilota wymuszając w ten sposób bezpieczne nim sterowanie.

Smart Implant jest wyposażony w dwa wejścia cyfrowe, które się do tego celu świetnie nadają. Kupiłem dwuklawiszowy łącznik roletowy (zdjęcie powyżej), w którym wciśnięcie przycisku powoduje zamknięcie jednego z dwóch obwodów przełącznika ściennego. Informacja o wciśniętym przycisku ściennym zostanie wysłana do jednego z dwóch wejść modułu Smart Implant.

Jeśli masz inny system inteligentnego domu na pewno jego producent ma możliwość podpięcia wejść cyfrowych w podobny sposób, jak do Smart Implant. Wejścia cyfrowe do swojego modułu podłączysz korzystając z dołączonej do urządzenia instrukcji.

Kolejnym etapem po podpięciu wejść cyfrowych będzie ich przetestowanie. Moduł Fibaro wymaga pewnych ustawień Smart Implant do testów, które szczegółowo przedstawię w kolejnym rozdziale.

Konfiguracja Smart Implant 

Po wykonaniu wszystkich połączeń elektrycznych przyszedł czas na odpowiednie skonfigurowanie środowiska programistycznego FIBARO

Po dodaniu Smart Implant do systemu (według instrukcji) wejdź w jego podstawowy moduł, czyli Urządzenia -> Smart Implant (rys.1), nazwij go (rys.2) i przejdź do zakładki zaawansowane (rys.3). Tutaj zwróć uwagę na następujące nastawy:

  1. Ochrona dostępu: ustaw na „ON” – dzięki czemu naciśnięcie przycisku będzie kontrolowane przez scenę, którą utworzysz później.
  2. Konfiguracja wejść: Jeśli użyłeś łącznik roletowy z typowymi przyciskami monostabilnymi to dla obu wejść wybierz typ „Monostabilny”.
  3. Aktywacja scen po naciśnięciu przycisku: Tu określasz czy Smart Implant ma aktywować system CentralSceneEvent, odpowiedzialny za zdarzenia takie jak wciśnięcie przycisku. Tutaj także określasz jakie zdarzenia, np. pojedyncze lub podwójne naciśnięcie przycisku, będzie zgłaszane do systemu FIBARO. Wybierz pojedyncze kliknięcie dla zwijania i rozwijania i podwójne dla zatrzymania markizy.
  4. Czas po jakim wyście ze Smart Implant zostanie automatycznie wyłączone. Jak pamiętasz wyjścia Q1 i Q2 odzwierciedlają pośrednio proces naciśnięcia i puszczenia przycisku na pilocie, więc ustaw czas automatycznego wyłączenia na 800ms lub 1s. Prawidłowe dobranie czasu wymaga testów tego jak szybko pilot będzie realizował wysłanie sygnału do urządzenia.

Teraz po skonfigurowaniu Smart Implant i zapisaniu ustawień (ikona dyskietki), powinieneś oprogramować zdarzenie naciśnięcia przycisku ściennego, który będzie zwijał, rozwijał i zatrzymywał markizę oraz stworzyć wirtualne urządzenie do łatwego sterowania markizą na smartfonie.

Sterowanie urządzeniem z przełącznika ściennego

CentralSceneEvent to system, który monitoruje zdarzenia takie, jak wciśnięcie podłączonych przycisków wyłączników w systemie FIBARO. Jeśli system jest odpowiednio skonfigurowany (patrz rozdział powyżej) wciśnięcie przycisku wygeneruje zdarzenie, które zostanie zarejestrowane w menedżerze zdarzeń znajdującym się w CentralSceneEvent. Menedżer ten wywoła określoną scenę celem wykonania pewnych instrukcji. Zdarzenia, które zostały zdefiniowane podczas konfiguracji Smart Implant to pojedyncze i podwójne naciśnięcie przycisków przełącznika ściennego. Podsumuję to w poniższej tabelce. 

Przycisk 1
pojedyncze naciśnięcie 
Przycisk 2
pojedyncze naciśnięcie 
Przycisk 1
podwójne naciśnięcie
Przycisk 2
podwójne naciśnięcie 
Komenda wysłana do pilota Rozwiń Zwiń Stop Stop
Wyścia (Q1 , Q2) Smart Implant (1 , 0) (0 , 1) (1 , 1) (1 , 1)
Nazwa Sceny obsługującej zdarzenie Mar Przycisk Rozwin Mar Przycisk Zwin Mar Przycisk Rozwin Mar Przycisk Zwin
Nazwa i adres zdarzenia 291 CentralSceneEvent 1 291 CentralSceneEvent 2 291 CentralSceneEvent 1 291 CentralSceneEvent 2

Teraz zdefiniuj dwie niezależne sceny ” Mar Przycisk Rozwin” i ” Mar Przycisk Zwin”, które będą wykonywane po naciśnięciu pojedynczym lub podwójnym przycisku zwijania i rozwijania markizy.

W tym celu utwórz nową scenę LUA, nazwij ją odpowiednio i skopiuj podany fragment kodu w pole edytora języka LUA tej sceny.

-[[
 %% properties
 %% events
 291 CentralSceneEvent 1
 %% globals
 --]]
-- MARKIZA - zostal wcisniety przycisk sterujacy rozwijania makizy (klawisz strzalka w gore)
 -- Add 291 CentralSceneEvent to adress zdarzen Przycisku 1 Markizy 
 print("Sterowanie przyciskami do markizy")
local trigger = fibaro:getSourceTrigger()
if trigger["type"] ~= "other" then -- scena uruchomiona inaczej niz recznie
--analiza jakie zdarzenie wywolalo te scene
   local pressSource = trigger["event"]["data"]
	if (tostring(pressSource["keyAttribute"]) == "Pressed") then
     	print("jedno kliknięcie")
  	 	fibaro:call(296, "turnOn") -- rozwin
	elseif (tostring(pressSource["keyAttribute"]) == "Pressed2") then
   		print("podwójne kliknięcie")
   		-- ustaw kod binary "STOP"
   		fibaro:call(296, "turnOn") 
   		fibaro:call(297, "turnOn") 
  	end
end

Komendy print służą wpisaniu komunikatu na diagnostyczny ekran pod sceną i mogą być usunięte.

W podanym kodzie musisz podmienić adresy linii 4, 16, 20 i 21, aby były zgodne z adresacją w Twoim Smart Implant.

Pamiętaj, że właściwy adres znajdziesz posługując się menu po lewej stronie edytora kodu wskazując parametr interesującego Cię urządzenia tak jak na poniższym zrzucie przy poszukiwaniu adresu wyjścia Q1 Smart Implant.

Wykonanie kroków 1 -> 2 -> 3 spowodują wpisanie do edytora linijki takiej jak poniżej. W podobny sposób zastąp linie 16, 20 i 21.

fibaro:call(296, "turnOn")

Trudniejsze jest znalezienie właściwego adresu (wymaganego w linii 4) dla zdarzenia naciśnięcia przycisku na przełączniku ściennym. Aby skorzystać z podpowiedzi z lewego menu, należy znaleźć pod-urządzenie markizy odpowiedzialne za obsługę zdarzeń, które domyślnie jest ukryte.

W tym celu należy:

  1. W głównym urządzeniu Smart Implant odnaleźć pod-urządzenie – pilot z symbolem klapsy filmowej (z reguły jest ono jako trzecie). 
  2. W ustawieniach zaawansowanych pod-urządzenia z obrazkiem klapsy filmowej (zrzut poniżej) usuń zaznaczenie „To urządzenie nie jest pozkazywane w systemie”. Usunięcie zaznaczenia pozwoli Ci wyświetlić to pod-urządzenie w systemie podczas auto-uzupełniania kodu w LUA z lewego menu. Zwróć uwagę także na adres IP. U mnie jest to adres 291, który zostanie automatycznie wygenerowany przez lewe menu za chwilę.
  3. Na koniec wróć do kodu sceny „Mar Przycisk Rozwin” i w górnej części kodu w 4 linii, gdzie następuje definiowanie, kiedy scena ma być wywołana, jest zapis „291 CentralSceneEvent 1”, który musisz zastąpić swoim odpowiednikiem. W tym celu usuń moją linijkę i z menu po lewej stronie wybierz odnalezione pod-urządzenie z kroku poprzedniego wskazując „Przycisk 1″”Przycisk 1”.

W ten sposób prawidłowo stworzyłeś kod obsługujący rozwijanie i zatrzymywanie markizy przez 1-szy przycisk przełącznika ściennego.

W analogiczny sposób stwórz nową scenę o nazwie np „Mar Przycisk Zwin” i skopiuj podany fragment kodu w pole edytora języka LUA tej sceny.

-[[
 %% properties
 %% events
 291 CentralSceneEvent 2
 %% globals
 --]]
-- MARKIZA - zostal wcisniety przycisk sterujacy zwijania makizy (klawisz strzalka w dol)
 -- Add 291 CentralSceneEvent to adress zdarzen Przycisku 2 Markizy 
 print("Sterowanie przyciskami do markizy")
 local trigger = fibaro:getSourceTrigger()
 if trigger["type"] ~= "other" then -- scena uruchomiona inaczej niz recznie
--analiza jakie zdarzenie wywolalo te scene
   local pressSource = trigger["event"]["data"]
	if (tostring(pressSource["keyAttribute"]) == "Pressed") then
   		print("jedno kliknięcie")
   		fibaro:call(297, "turnOn") -- zwin
	elseif (tostring(pressSource["keyAttribute"]) == "Pressed2") then
   		print("podwójne kliknięcie")
   		-- ustaw kod binary "STOP"
   		fibaro:call(297, "turnOn") 
   		fibaro:call(296, "turnOn") 
    end
end

W powyższym kodzie musisz zmienić ponownie adresy w liniach 4, 16, 20 i 21.

To wszystkie działania, jeśli chodzi o konfiguracje zdarzeń. Teraz powinieneś móc zwijać i rozwijać markizę przez pojedyncze naciśnięcie przycisku ściennego, a podwójne przyciśnięcie powoduje jej zatrzymanie.

Utworzenie wirtualnego urządzenia dla markizy

Wirtualne urządzenie to urządzenie, którego działanie zostaje określone przez kod LUA. Sterowanie markizą wymaga naprawdę bardzo prostego kodu. Dzięki niemu na smartfonie pojawi się widget z 3 przyciskami podobny do oryginalnego pilota markizy. Poniżej widget, który wykonasz w kilku prostych krokach (poza ikonami, których narysowanie i dodanie pozostawiam Tobie).

Widget na smartfon do sterowania markizą
Widget na smartfon do sterowania markizą

Aby stworzyć widget podobny do tego powyżej:

  1. Przejdź do urządzeń i dodaj urządzenie wirtualne.
  2. Następnie nazwij urządzenie np. Markiza.
  3. W zakładce „Zaawansowane” zaznacz konfigurację „Trzy przyciski na wiersz” i naciśnij przycisk „Dodaj zestaw”, co automatycznie rozszerzy edytor LUA.
  4. Nazwij przyciski, skonfiguruj zaznaczone opcje i wpisz kod podobny do mojego podmieniając adresy ID na swoje według przykładu poniżej.
  5. Zapisz tak stworzone wirtualne urządzenie w systemie przez naciśnięcie ikony dyskietki.

I to już cała wymagana konfiguracja w tworzeniu bardzo użytecznego widgetu Twojej markizy.

Proste prawda?

Możesz ją przetestować naciskając stworzone przyciski „Rozwiń”, „Zwiń”, „Stop” w przeglądarce lub od razu na swoim smartfonie 🙂

Pamiętaj tylko o dodaniu tego urządzenia do konkretnej strefy (jakiegoś „Pokoju”), aby można było Twój widget odnaleźć w aplikacji na smartfon.

Automatyczne zwinięcie markizy przed silnym wiatrem

Jeśli chcesz, aby system sam zwinął markizę dopisz scenę, która będzie odpowiadać za to polecenie. Scena będzie wywoływana za każdym razem, gdy zmianie ulegnie siła wiatru. Oczywiście wewnątrz sceny określasz jaka wartość siły wiatru powinna zostać przekroczona, aby system zwinął markizę bez twojej ingerencji. 

Do odczytania aktualnej pogody wykorzystaj domyślny wbudowany system pogodowy uwzględniający podaną lokalizację. 

  1. Dodaj nową scenę LUA o nazwie np. „Mar silny wiatr”.
  2. Skopiuj podany przeze mnie kod, który znajdziesz poniżej.
  3. W linii 13 podmień adres IP dla wyjścia Q zwijającego markizę.
  4. Możesz ustawić siłę wiatru, powyżej której markiza zostanie zwinięta w linii 8 po znaku „>”.

--[[
%% weather
Wind
--]]

local weather = api.get("/weather")

if tonumber(weather.Wind) > 14.0 then
  print("UWAGA!!! SILNY WIATR: zwijam markize")
 
  fibaro:call(130, "sendPush", "UWAGA!!! SILNY WIATR: zwijam markize") --notyfikacja smartfone
  
  fibaro:call(297, "turnOn") -- zwin
end

Od tej chwili system będzie monitorował każdą zmianę siły wiatru i po wykryciu ustawionego odchylenia od normy zwinie markizę automatycznie.

Dodatkowo możesz wysłać notyfikację do siebie na smartfona dzięki linii 11, po tym jak zdefiniujesz swój smartfon w centrali systemu (u mnie ma on ID = 130)

Dodam, że w ten sposób możesz monitorować zmiany także np. temperatury jeśli w linii 3 zamiast zmiennej „Wind” wpiszesz „Temperature”. To wynika z zawartości tablicy jaka jest zwracana przez zmienną „weather” w linii 6, patrz kod poniżej.

 for i, v in pairs(weather) do
      print(i, v)
    end
---------------------------------
[DEBUG] 13:06:02: Temperature 15.6
[DEBUG] 13:06:02: Humidity 52.2
[DEBUG] 13:06:02: Wind 26.28
[DEBUG] 13:06:02: WeatherCondition cloudy
[DEBUG] 13:06:02: TemperatureUnit C
[DEBUG] 13:06:02: ConditionCode 26
[DEBUG] 13:06:02: WindUnit km/h


Podsumowanie

W ten sposób wykorzystując kopię oryginalnego pilota do markizy lub innego urządzenia sterowanego przez pilot: brama garażowa, brama wjazdowa czy żaluzje, zasłony itp. możesz nim sterować zdalnie ze smartfona.

Dodatkowo, w bardzo prosty sposób, możesz rozszerzyć zdalne sterowanie o czynności bezpieczeństwa.

W przypadku opisanego sterowania markizą możliwość jej złożenia jest nieoceniona, kiedy zapomnisz tego zrobić przed wyjazdem z domu.

Mało tego, jesteś w stanie dodać funkcjonalność, którą posiadają urządzenia z górnej półki – zabezpieczenie przed zbyt silnym wiatrem. W przypadku gdy warunki meteorologiczne się popsują system sam zwinie markizę i zabezpieczy ją przed zniszczeniem.

Mam nadzieję, że ten szczegółowy artykuł będzie dla Ciebie inspiracją i przewodnikiem.

W razie wszelkich wątpliwości lub pytań napisz w komentarzu.

Pochwal się jakie urządzenie podpiąłeś w ten sposób do swojego systemu inteligentnego domu.

Dobry dom musi być jak okręt,
Dobry gospodarz – jak kapitan.

Powrót do części 1 artykułu




Jak dodać do inteligentnego domu dowolne urządzenie sterowane pilotem? – cz.1

Artykuł ten poświęcę zagadnieniu sterowania dowolnym urządzeniem z pilota. Chcę Ci pokazać jak urządzenia sterowane tylko przez pilot wpiąć do systemu inteligentnego domu i w jaki sposób zarządzać nimi ze smartfona.

Zagadnienie omówię na przykładzie mojej elektrycznej markizy przeciwsłonecznej. Niemniej jednak, podane rozwiązanie jest uniwersalne i może być zastosowane do innych urządzeń sterowanych pilotem np. drzwi garażowe, brama wjazdowa, żaluzje w oknach itp.

Pokaże Ci jak markizę przeciwsłoneczną rozwijać i zwijać za pomocą aplikacji w smartfonie chociaż wcześniej mogłem do tego używać wyłącznie pilota. Zdalna funkcja składania markizy lub bramy garażowej czy wjazdowej przyda się zwłaszcza w sytuacji, kiedy wyjedziesz z domu i zapomnisz o jej złożeniu/zamknięciu.

W przypadku markizy zdalny dostęp uchroni ją przed zniszczeniem przy pojawieniu się silnego wiatru czy deszczu. Osobiście uważam, że opcja zdalnego i automatycznego zwinięcia markizy, w sytuacji grożącej jej połamaniem przez wiatr, jest warta wydania około 300 złoty na zaproponowane przeze mnie rozwiązanie.

Po zapoznaniu się z tym i następnym artykułem oraz wykorzystaniu zawartych w nim i sprawdzonych przeze mnie komend i ustawień będziesz w stanie podłączyć dowolne urządzenie sterowane pilotem do swojego systemu inteligentnego domu.

Szczegółowy opis zagadnienia wraz ze zdjęciami i kodem jest na tyle rozległe, że postanowiłem rozbić je na dwa artykuły.

Z poniższego tekstu dowiesz się:

  1. Jak zrobić kopię oryginalnego pilota od markizy, bramy, furtki, żaluzji. 
  2. Jak zdalnie sterować urządzeniem, będąc poza domem i wciąż wykorzystując pilot do urządzenia.
  3. Jak sterowanie urządzeniem i zintegrować go z systemem inteligentnego domu, pokaże to na przykładzie integracji z systemem FIBARO.

Sterowanie markizą, bramą, roletami ze smartfona – cz.1

W kolejnym artykule:

Drugi artykuł zawiera finalne rozwiązanie z kodem LUA i wymaganymi nastawami dla Smart Implant (https://ztechnikazapanbrat.pl/integracja-markizy2)

  1. Przedstawię konfigurację i kod LUA umożliwiający sterowanie Twoim urządzaniem ze smartfonu dla instalacji opartej o urządzenia FIBARO.
  2. Pokażę, jak dodać przyciski ścienne tak, aby oprócz sterowania z pilota oryginalnego i ze smartfona można było również lokalnie zamykać i otwierać urządzenie z wygodnego przełącznika na ścianie.
  3. Wyjaśnię, gdzie i jak zdefiniować w systemie warunek, aby markiza została automatycznie zwinięta gdy prędkość wiatru przekroczy np. 14km/h.

Kopiowanie oryginalnego pilota

Nawet jeśli nie zamierzasz automatyzować sterowania i tak powinieneś posiadać drugi zapasowy pilot do markizy.

Uważam takie rozwiązanie za konieczne ze względu na całkowity brak możliwości zwinięcia czy rozwinięcia markizy w przypadku uszkodzenia lub zagubienia oryginalnego pilota. Często markizy nie mają możliwości mechanicznego złożenia przez zwinięcie płótna korbą, wtedy jedynym sposobem złożenia markizy jest użycie jej wbudowanego silnika, który jest sterowany z pilota. Mało tego, brak sprawnego pilota w sytuacji nadciągającej burzy może być tragiczny w skutkach dla markizy i bezpieczeństwa otoczenia.

Do kopiowania pilota zalecam wykorzystać jeden z dostępnych na rynku pilotów uniwersalnych. Ważne jest, aby wybrany przez Ciebie pilot obsługiwał tzw. zmienną dynamiczną częstotliwość, co znacznie zwiększa szanse na prawidłowe skopiowanie Twojego oryginalnego pilota, który pracuje na nieznanych dla Ciebie częstotliwościach. 

Ja wybrałem pilot uniwersalny samokopiujący pracujący w zakresie 280-868MHz. Dzięki temu, że zakres pracy jest szeroki, mogę skopiować piloty z kodem stałym, zmiennym oraz dynamicznym. Oznacza to, że podczas kopiowania sygnału radiowego oryginalnego pilota do markizy, pilot uniwersalny automatycznie zeskanuje szeroki zakres częstotliwości i się dopasuje.  

Omawiany pilot samokopiujący o częstotliwości w zakresie 280-868 MHz kosztuje około 60 PLN. Fakt, że jest dwa razy droższy od pilota samokopiującego z kodem stałym 433.92MHz, ale dzięki temu istnieje większe prawdopodobieństwo, że skopiujesz oryginalny pilot.

Kolejna kwestia, to liczba kanałów jakie musimy skopiować, czyli innymi słowy ilość przycisków jakie znajdują się na samokopiującym pilocie. W większości przypadków pilot oryginalny do markizy (zdjęcie poniżej po lewej stronie) ma trzy przyciski: rozwiń, stop, zwiń, więc pilot uniwersalny musi mieć conajmniej 3 kanały.

Użyty przeze mnie samokopiujący pilot cztero-kanałowy w zupełności wystarczy, aby skopiować trzy przyciski oryginalnego pilota. Polecam pilot firmy Acurel (kod produktu:KR37B), który jest dostępny w kilku kolorach (zdjęcie po prawej).

Proces kopiowania jest zależny od producenta pilota uniwersalnego. Niemniej jednak sam proces można sprowadzić do kilku wspólnych kroków:

  1. Ustawienia pilota oryginalnego bardzo blisko pilota samokopiującego.
  2. Wprowadzenie pilota samokopiującego w tryb nauki.
  3. Wyczyszczenie (usunięcie) wszystkich kanałów pilota samokopiującego
  4. Wciśnięcie przycisku, który chcemy skopiować na pilocie oryginalnym.
  5. Obserwacja, czy pilot samokopiujący skopiował wysłany sygnał radiowy.
  6. Przypisanie skopiowanego sygnału do konkretnego przycisku na pilocie samokopiującym.
  7. Powtórzenie sekwencji dla kolejnych przycisków.

Dokładny proces kopiowania zawiera każda instrukcja obsługi pilota. Zalecam przed przystąpieniem do powielania przycisków, skasowanie (usunięcie) wszystkich wcześniej zapisanych sygnałów w pilocie samokopiującym, nawet gdy jest on nowy. Czasami podczas testów, w trakcie produkcji pilota, kanał zostaje zapisany i niezwolniony, co może przysporzyć Ci problemów podczas uczenia pilota.

Automatyzacja przycisków pilota 

Następnym krokiem jest zautomatyzowanie przycisków pilota tak, aby automat mógł “nacisnąć” przycisk za ciebie

Po przytrzymaniu palcem przycisku na pilocie, przycisk naciska specjalny element przewodzący pod przyciskiem i powoduje zwarcie (zamknięcie) dedykowanego obwodu elektrycznego. Z reguły element przewodzący zwiera konkretny obwód do masy. Tą właściwość wykorzystaj do zautomatyzowania pracy pilota. Powinieneś poza tym, że przycisk pilota zwiera obwód, zwierać go niezależnie poza pilotem dzięki przekaźnikowi. Takie podejście pozwoli Ci sterować markizą zarówno z pilota jak i za pomocą automatu wykorzystującego przekaźnik.

Uwaga: Przed dalszą pracą zalecam wyjęcie baterii zasilającej pilot, aby w przypadku zwarcia nie doszło do uszkodzenia elektroniki pilota.

Poniżej zdjęcie przylutowanych przewodów do przycisków pilota uniwersalnego (jest to płytka wewnętrzna czerwonego pilota przedstawionego powyżej).

Masz zapewne wrażenie, że praca związana z przylutowaniem czterech przewodów jest skomplikowana.

Nic bardziej mylnego!

Wystarczy, że choć trochę lubisz robótki elektryczne i masz lutownicę, wtedy z łatwością wykonasz poniższe czynności: 

  1. Wyjmij baterię z pilota.
  2. Zdejmij z pilota zewnętrzną przykrywkę i dostań się do przycisków pilota (powyższe lewe zdjęcie).
  3. Następnie rozpoznaj obwód, który zawiera wciśnięty przycisk pilota.
  4. Wlutuj przewody elektryczne do obwodu w taki sposób, aby zwarcie przewodów dało taki sam efekt, jak wciśnięcie przycisku pilota.
  5. Lutowanie powtórz dla kolejnych przycisków
  6. Włóż ponownie baterię do pilota i przetestuj.

W moim przypadku potrzebowałem łącznie czterech przewodów. Trzy przewody niezależnie dla każdego z przycisków pilota (lewe zdjęcie) i jeden wspólny przewód na masę (czarny przewód na zdjęciu po prawej).

Teraz musisz dolutowane przewody podpiąć pod zaciski bezpotencjałowe – przekaźnik. Zalecam użycie przekaźnika po to, aby nie wprowadzać żadnego dodatkowego napięcia do obwodu pilota. Przekaźniki mają za zadanie zamykać obwody, tak samo jak robią to przyciski pilota. Dzięki temu rozwiązaniu nie doprowadzisz do uszkodzenia elektroniki pilota. 

Uwaga: Długotrwałe zwieranie przewodów przylutowanych w poprzednim kroku nie ma sensu,  gdyż spowoduje to szybsze rozładowanie pilota, który będzie non stop wysyłał sygnał radiowy. To tak jakbyś wcisnął i trzymał przycisk na pilocie. 

Uwaga: Unikaj zwierania kilku obwodów jednocześnie. Takie działanie jest równoznaczne z jednoczesnym wciśnięciem więcej niż jednego przycisku na pilocie, co nie ma większego sensu. Mało tego, dla pilota samokopiującego, który będzie od teraz używany zamiast oryginalnego, może to oznaczać przejście w tryb uczenia i doprowadzić do utraty zapisanych sygnałów radiowych.

Następnym etapem jest podłączenie przekaźników zwierających obwody elektryczne pilota. 

Przekaźnik zamiast palca

Z mojego opisu powinieneś wywnioskować, że wykorzystasz pilot samokopiujący podłączony do przekaźników do tego, aby sterować dowolnym urządzeniem. Ostatecznie sterowanie urządzenia jest realizowane przez pilot, który wysyła odpowiedni sygnał radiowy, aby sterować pracą Twojego urządzenia.

Polecenie otwarcia/zamknięcia, rozwinięcia/zwinięcia czy załączenia/wyłączenia w zależności od typu urządzenia zostanie wydane przez moduł cyfrowy z przekaźnikami. Przekaźniki mają za zadanie zewrzeć odpowiedni obwód tak jakbyś to Ty wciskał właściwy przycisk na pilocie. Tym cyfrowym modułem może być dowolny moduł wyjść cyfrowych kompatybilny z Twoim systemem inteligentnego domu. 

Dalsza część opisu oparta będzie o posiadany przez Ciebie systemem inteligentnego domu, w którym praca przekaźników jest kontrolowana przez Twój system inteligentnego domu. Zakładam, że producent wybranego przez Ciebie systemu inteligentnego domu posiada w swojej ofercie moduł wejściowo/wyjściowy, czyli tak zwany moduł I/O

U mnie modułem I/O jest Smart Implant firmy FIBARO. Ten jak i inne elementy automatyki FIBARO nabyłem od wyłącznego dystrybutora FIBARO – https://fibarowilanow.pl/, który wielokrotnie merytorycznie pomagał mi rozwiązać różne zagadnienia techniczne konfiguracji i oprogramowania systemu FIBARO. Tak samo było i tym razem przy okazji oprogramowania nowego mechanizmu obsługi zdarzeń (CentarlSceneEvent), o którym w dalszej części.

Smart Implant posiada dwa bezpotencjałowe styki, a więc przekaźniki. Sterując je z systemu będziesz zamykać odpowiednie obwody pilota i w ten sposób realizować wysyłanie sygnału z uniwersalnego pilota do markizy. Dodatkowo moduł Smart Implant ma możliwość podpięcia wejść cyfrowych, które użyjesz do podłączenia przełączników ściennych.

Fibaro Smart Implant
Smart Implant firmy FIBARO

Moduł Smart Implant posiada dwa bezpotencjałowe wyjścia (patrz zdjęcie powyżej), którymi mogę sterować ze smartfona z dowolnego miejsca na świecie. Ze względu na charakterystykę pracy pilota i proponowany sposób wykonania podłączenia przewodów do pilota, bezpotencjałowy przekaźnik musi być ustawiony w tryb pracy – normalnie otwarty, a jego zwieranie nie powinno występować na dłużej niż 800ms, co odpowiada krótkiemu wciśnięciu przycisku na pilocie. Te wymagania zostaną ustawione później bezpośrednio w konfiguracji Smart Implant.

Jeśli uważnie czytałeś artykuł to właśnie wykryłeś pewną niedokładność. Otóż, moduł ma dwa wyjścia (dwa przekaźniki), a pilot markizy ma trzy przyciski…

Co zrobić w takiej sytuacji?

Ilość kanałów pilota (wykorzystywanych przycisków pilota) jest inna niż przekaźników dostępnych w module, widzę tu więc trzy możliwe rozwiązania:

  1. Pierwsze i najłatwiejsze do wykonania to podłączyć przylutowane przewody z pilota bezpośrednio do zacisków wyjściowych modułu. Oczywiście możesz podpiąć tylko dwa obwody odpowiedzialne za rozwijanie i zwijanie rolety bez obwodu przycisku stop. W tym rozwiązaniu ograniczeniem będzie brak możliwości rozwinięcia markizy w stopniu pośrednim pomiędzy 0 – 100%, ale strategiczną funkcję to rozwiązanie spełni. Zawsze będzie można zwinąć markizę w przypadku wiatru automatycznie lub zdalnie ze smartfona. Pamiętaj, aby przewód odpowiedzialny za zatrzymanie (przycisk stop pilota) odizolować tak, aby nie dotykał innych przewodów, nie możesz go podłączać do masy.
  2. Kolejny sposób jest równie prosty i polega na wykorzystaniu dwóch modułów Smart Implant. To rozwiązanie zwiększa cenę, ale możesz dzięki niemu łatwo zaprogramować łącznie trzy niezależne obwody pilota.
  3. Trzeci wariant jest najtrudniejszy i polega na realizacji pełnej funkcjonalności markizy (komenda rozwijania, stop i zwijania) przy wykorzystaniu tylko jednego modułu Smart Implant. Czy jest to możliwe? Przeczytaj mój następny artykuł, aby się tego dowiedzieć.

Pierwsze rozwiązanie (zdjęcie poniżej) jest już gotowe i wymaga odpowiedniej konfiguracji modułu Smart Implant, które wraz z kodem LUA przedstawię w drugiej części artykułu.

Schemat podłączenia pilota do Smart Implant
Schemat prostego podłączenia pilota z modułem cyfrowym

Podsumowanie części 1

Ufam, że poszerzyłeś swoją wiedzę o opisany przeze mnie uniwersalny sposób rozszerzenia funkcjonalności Twojego urządzenia markizy, bramy, rolety lub jeszcze innego.

Od teraz powinieneś bez problemu skopiować swój oryginalny pilot i dolutować do niego obwody, które są zamykane przez zewnętrzne przekaźniki, tak jakby były wciskane przyciski pilota.

Oczywiście to nie koniec!

W drugiej części artykułu dowiesz się jak rozwiązać zagadnienie mniejszej ilości wyjść z modułu w stosunku do przycisków pilota i podam gotowy do skopiowania kod LUA dla systemu FIBARO.

Ciąg dalszy tego artykułu

Podziel się jakie urządzenie zamierzasz podłączyć do systemu inteligentnego domu i jakie trudności widzisz?