- Aktualizacja opisu dot. AFE Firmware T5 - Kontrolowanie sterownika bramy
- Dodatkowo nagrałem video
- Podziękowania dla @lukas121 za opracowanie dedykowanego modułu pod to oprogramowanie
- Opis na stronie Smart'ny Dom
- Poniżej opisane jest oprogramowanie do sterowania bramą: AFE Firmware T5 w wersji 1.x
- Uwaga: Jeśli korzystasz z AFE Firmware T5 do sterowania bramą w wersji 2.x to skorzystaj z dokumentacji do AFE Firmware w wersji 2.x
AFE Firmware T5 wraz z modułem opartym o chip ESP8266 wzbogaca sterowniki do bram wjazdowych lub drzwi garażowych o możliwość
- sterowania nimi za pomocą Smartfona oraz
- integrację z systemami do automatyki.
Główne cechy AFE Firmware T5 to:
- współpraca z sterownikiem bramy wjazdowej (drzwi garażowych, itp.) poprzez wysyłanie impulsu do sterownika bramy, który uruchamia silnik, czyli powoduje otwieranie / zamykanie bramy
- informowanie, czy brama jest otwarta / zamknięta dzięki zastosowaniu czujników magnetycznych, kontaktronów lub wyłączników krańcowych w zależności co jest podłączone.
- dodatkowo obsługuje czujnik temperatury / wilgotności DHxx
Sprzęt obsługiwany przez ten firmware
- Chip ESP8266 lub ESP8285
- 1 Przekaźnik
- Do 3 Diod LED
- Do 2 Przycisków / Włączników
- Do 2 Czujników magnetycznych / kontaktronów
Wyjście z przekaźnika należy podłączyć do sterownika bramy. Powoduje on chwilowe zwarcie, czyli efekt wciśnięcia przycisku. Czas zwarcia ustawia się w zakresie od 1 milisekundy do 9999 m.sekund (10sek)
Jedna dioda LED może być wykorzystywana do informowania o stanie i zdarzeniach w urządzeniu, np. łączenie się z siecią WiFi, odebraniem komendy, itp. Pozostałe dwie diody można przypisać do czujników magnetycznych. Świecenie diod informuje o stanie czujników magnetycznych, kontaktronów lub wyłączników krańcowych.
Wspomniane czujniki magnetyczne wykorzystywane są do informowania, czy brama/drzwi są otwarte lub zamknięte.
- Przy jednym czujniku magnetycznym będziemy poinformowani o dwóch stanach bramy: otwarta, zamknięta. Nie będziemy wiedzieli, czy brama jest częściowo otwarta lub całkowicie otwarta (przy zamontowaniu czujnika na zamknięciu bramy)
- Przy zamontowaniu dwóch czujników - jednego przy całkowitym zamknięciu bramy, a drugiego otwarciu, będziemy wiedzieć, czy brama jest: całkowicie otwarta, częściowo otwarta lub zamknięta.
- Gdy nie będą zainstalowane czujniki magnetyczne, to nie będziemy wiedzieć w jakim położeniu jest brama.
Do urządzenia można podłączyć dwa przyciski, które wykorzystywane są do sterowania urządzeniem i/lub sterowania bramą.
Informacja: czujnik magnetyczny, kontaktron, czy wyłącznik krańcowy mają taką samą funkcjonalność, czyli zamykają lub przerywają obwód (płynie lub nie płynie przez nie prąd). Te elementy mają też taką samą funkcję w kontekście tego oprogramowania: informują, czy brama jest otwarta lub zamknięta. W dalszej części dokumentacji będę pisał tylko o czujnikach magnetycznych, przy czym informacje odnoszą się do tych 3 elementów.
Uwaga: O ile to oprogramowanie można wgrać np. do Sonoff'a Basic, to nie można takiego Sonoff'a podłączyć bezpośrednio do sterownika bramy. Na wyjściu Sonoff'a jest 230V; puszczenie 230V na sterownik bramy spowoduje jego spalenie, pożar itp. Tutaj jest propozycja, jak można takiego Sonoff'a przerobić. Natomiast takie modyfikacje robisz na własną odpowiedzialność!!! Można też takiego Sonoff'a podłączyć do sterownika bramy z przekaźnikiem z cewką 230V między Sonoff'em, a sterownikiem bramy.
Funkcjonalności
- Sterowanie przekaźnikami za pomocą protokołu MQTT lub HTTP lub przycisku (wysyłanie impulsu do sterownika bramy)
- Czas impulsu można ustawić w zakresie od 1 do 9999 milisekund
- Diody LED mogą sygnalizować stan urządzenia lub czujników magnetycznych, czyli czy poszczególne czujniki magnetyczne są otwarte /zamknięte
- Urządzenie wysyła automatycznie wiadomość MQTT o stanie bramy - do urządzenia musi być podłączony minimalnie jeden czujnik magnetyczny
- Urządzenie można "odpytać" o stan otwarcia bramy przez protokół MQTT lub HTTP
- Można odpytać o stan poszczególnych czujników magnetycznych przez protokół MQTT lub HTTP
- Jest możliwość ustawienia typów zastosowanych czujników magnetycznych: NO (normalnie otwarty), NC (normalnie zamknięty)
- Stany otwarcia bramy wysyłane/odczytywane przez MQTT/HTTP są w pełni konfigurowalne
- Urządzeniem można sterować z Domoticz
- Stan otwarcia/zamknięcia bramy oraz czujników magnetycznych jest wysyłany do Domoticz
- Konfigurację urządzenia wykonuje się przez przeglądarkę
- Nowe wersje oprogramowania wgrywa się przez przeglądarkę
Instalacja:
- Instrukcja instalacji jest identyczna, jak dla każdej innej wersji AFE Firmware.
- Przed wgraniem firmware należy sprawdzić wersje chip'a ESP, które posiada urządzenie (ESP8266 / ESP8285)
- Podczas pierwszego uruchomienia pamięć urządzenia jest czyszczona oraz ładowane są wartości domyślne dla urządzenia.
- Pierwsze uruchomienie może potrwać ok. 1min.
Konfiguracja
Szczegółowa konfiguracja wszystkich wersji AFE Firmware jest opisana tutaj.
Poniżej pokazane są ekrany specyficzne dla wersji T5
Ekran do konfiguracji urządzenia
W konfiguracji urządzenia nadaje się nazwę urządzeniu, wybiera się elementy podłączone do urządzenia oraz metody sterowania MQTT, HTTP, Domoticz
Ekran do konfiguracji przekaźnika
Konfiguracja przekaźnika to wybór GPIO, do którego podłączony jest przekaźnik oraz czas, na jak długo przekaźnik ma być zwarty (długość impulsu)
Ekran do konfiguracji przycisku
Przycisk może mieć dwie funkcje.
- przycisk systemowy lub
- tylko sterowanie przekaźnikiem (bramą)
Przycisk systemowy:
- krótkie naciśnięcie: wysyła impuls do sterownika bramy. Funkcja jest aktywna tylko, gdy do przycisku przypisany jest numer sterowanego przekaźnika,
- naciśnięcie na czas od 5 do 10 sekund uruchamia tryb konfiguracyjny (dioda systemowa błyśnie jeden raz)
- naciśnięcie powyżej 10 sekund uruchamia konfigurację urządzenia w trybie hot-spot (dioda systemowa błyśnie dwa razy)
- naciśnięcie powyżej 30 sekund ustawia wartości domyślne AFE Firmware (dioda systemowa błyśnie trzy razy)
Ekran konfiguracji diod LED
W tej sekcji przypisujemy GPIO, do których podłączone są diody LED. Każdej diodzie można ustawić tryb świecenia. Jednej diodzie LED można przypisać funkcję informowania o stanie urządzenia oraz występujących zdarzeniach, tzw. LED systemowy.
Konfiguracja czujnika magnetycznego, kontaktronu lub wyłącznika krańcowego
Każdy czujnik magnetyczny musi posiadać unikalną nazwę. Jest to konieczne, gdy do urządzenia podłączy się dwa czujniki.
Każdy czujnik, może mieć ustawiony tryb NO lub NC oraz można do niego przypisać jedną diodę LED, która będzie sygnalizować, czy czujnik jest zwarty lub rozwarty.
Parametry czułości, należy ustawić eksperymentalnie, tak aby wyeliminować potencjalne drgania czujników, które mogą powodować wysyłanie niepoprawnych wartości stanu bramy.
Ekran konfiguracji stanów bramy
Aby urządzenie wysyłało poprawny stan bramy, czyli
- brama jest zamknięta,
- otwarta,
- bądź częściowo otwarta
konieczne jest odwzorowanie stanów czujników magnetycznych na faktyczny stan bramy.
Konfiguracja czujnika temperatury oraz wilgotności z rodziny DHT
Sterowanie oraz kontrolowanie urządzenia
Urządzenie z AFE Firmware T5 obsługuje te same żądania HTTP, MQTT, jak każda inna wersja AFE Firmware. Dodatkowo możliwa jest dwukierunkowa integracja z systemem do automatyki Domoticz. Oczywiście, nie są obsługiwane przez T5 żądania związane ze sprzętem, który nie jest wymieniony, jako sprzęt obsługiwany przez tę wersję AFE Firmware.
Oprogramowanie wysyła automatycznie po MQTT (jeśli jest włączone) lub/i do Domoticz wszystkie zmiany stanu bramy, czujników magnetycznych oraz zmiany temperatury lub wilgotności. Urządzenie nie wysyła automatycznie informacji o stanie przekaźnika.
Integracja z openHAB
openHAB z wykorzystaniem protokołu MQTT
Zakładając, że:
- nazwa skonfigurowanego brokera MQTT: broker
- Nazwa tematu MQTT w konfiguracji brokera MQTT : /brama/
- Czujniki magnetyczne mają nazwy: C1, C2
Plik konfiguracyjny items
Switch t5_gate "Brama" <gate> {mqtt=">[broker:/brama/gate/cmd:command:ON:toggle],>[broker:/brama/gate/cmd:command:OFF:toggle]"} Contact t5_gate_state_contact "Stan [%s]" <gate> {mqtt="<[broker:/brama/gate/state:state:OPEN:open],<[broker:/brama/gate/state:state:OPEN:partiallyOpen],<[broker:/brama/gate/state:state:CLOSED:closed]"} String t5_gate_state_text "Opis [%s]" <gate> {mqtt="<[broker:/brama/gate/state:state:default]"} Contact t5_contactron_1_state "Stan [%s]" {mqtt="<[broker:/brama/C1/state:state:OPEN:open],<[broker:/brama/C1/state:state:CLOSED:closed]"} Contact t5_contactron_2_state "Stan [%s]" {mqtt="<[broker:/brama/C2/state:state:OPEN:open],<[broker:/brama/C2/state:state:CLOSED:closed]"} Number t5_temperature "Temperatura [%.1f °C]" <temperature> {mqtt="<[broker:/brama/temperature:state:default]"} Number t5_humidity "Wilgotoność [%.1f %%]" <humidity> {mqtt="<[broker:/brama/humidity:state:default]"} Number t5_heat_index "Odczuwalna [%.1f °C]" <temperature>{mqtt="<[broker:/brama/heatIndex:state:default]"} Number t5_dew_point "Punkt rosy [%.1f]" <humidity> {mqtt="<[broker:/brama/dewPoint:state:default]"} Switch t5_configuration_mode "Konfiguracja" {mqtt=">[broker:/brama/cmd:command:ON:configurationMode],>[broker:/brama/cmd:command:OFF:configurationMode]"} Switch t5_reboot "Reboot" {mqtt=">[broker:/brama/cmd:command:ON:reboot],>[broker:/brama/cmd:command:OFF:reboot]"}
Przykładowa sitemap'a
sitemap T5 label="T5" { Frame label="Brama" { Switch item=t5_gate mappings=[ON="Otwórz"] visibility=[gate_contactron_1==CLOSED] Switch item=t5_gate mappings=[OFF="Stop/Start"] visibility=[gate_contactron_1==OPEN] Default item=t5_gate_state_contact Default item=t5_gate_state_text } Frame label="Czujniki magnetyczne" { Default item=t5_contactron_1_state Default item=t5_contactron_2_state } Frame label="Czujnik DHT" { Default item=t5_temperature Default item=t5_humidity Default item=t5_heat_index Default item=t5_dew_point } Frame label="Zaawansowane" { Switch item=t5_configuration_mode mappings=[ON="Uruchom"] visibility=[t5_configuration_mode!=ON] Switch item=t5_configuration_mode mappings=[OFF="Uruchom"] visibility=[t5_configuration_mode!=OFF] Switch item=t5_reboot mappings=[ON="Reboot"] visibility=[t5_reboot!=ON] Switch item=t5_reboot mappings=[OFF="Reboot"] visibility=[t5_reboot!=OFF] } }
OpenHab po HTTP
Urządzenie sterowane żądaniami HTTP z openHAB jest ograniczone do kilku komend
- puszczanie sygnału do sterowania bramy, aby ten uruchomił silnik
- uruchamianie trybu konfiguracji
- reset urządzenia
Pozostałe żądania HTTP opisane w kolejnym rozdziale są znacznie trudniejsze do oprogramowania w openHab i nie będę ich opisywał. Sugeruję korzystanie z MQTT w openHab.
Zakładając, że:
- Adres IP urządzenia: 192.168.2.125
Plik konfiguracyjny items
Switch t5_http_gate "Brama" {http=">[ON:POST: http://192.168.2.125/?device=gate&command=toggle ],>[OFF:POST: http://192.168.2.125/?device=gate&command=toggle ]"}
Przykładowa sitemap'a
sitemap T5 label="T5" { Switch item=t5_http_gate mappings=[ON="Start"] visibility=[t5_http_gate!=ON] Switch item=t5_http_gate mappings=[OFF="Start"] visibility=[t5_http_gate!=OFF] }
Sterowanie urządzeniem komendami HTTP
Komendy uruchamiane na poziomie urządzenia
Format:
Komendy
- reboot – restartuje urządzenie
- configurationMode – uruchamia urządzenie w trybie konfiguracji
Komendy dla bramy
Format:
- http://adres-ip-urządzenia/?device= gate&command=Komenda
Komendy
- toggle– wysyłanie sygnału do sterownika bramy
- get – odczyt pozycji bramy: (open, closed, partiallyOpen)
Komendy dla czujnika magnetycznego
Format:
- http://adres-ip-urządzenia/?device= contactron&name=NazwaCzujnika&command=Komenda
NazwaCzujnika jest nadawana czujnikowi w panelu konfiguracyjnym. Każdy czujnik w ramach urządzenia musi mieć unikalną nazwę.
Komendy
- get – zwraca informację, czy czujnik jest zwarty lub rozwarty (open, closed)
Komendy dla czujnika temperatury DHT (DH11,DH21, DH22)
Format:
- http://adres-ip-urządzenia/?device= dht&name=temperature&command=Komenda
- http://adres-ip-urządzenia/?device= dht&name=heatIndex&command=Komenda
- http://adres-ip-urządzenia/?device= dht&name=humidity&command=Komenda
- http://adres-ip-urządzenia/?device= dht&name=dewPoint&command=Komenda
Komendy
- get – odczytuje temperaturę (name=temperature), temperaturę odczuwalną (name=heatIndex) lub wilgotność (name=humidity) lub punkt rosy (name=dewPoint)
Integracja z Domoticz
Urządzenie z AFE Firmware obsługuje integrację dwukierunkową z Domoticz. Oznacza to, że z Domoticz można wysyłać komendy sterujące bramą oraz do Domoticz wysyłane są informacje zwrotne, tzn: aktualny stan bramy oraz czujników magnetycznych.
Jak skonfigurować AFE Firmware z Domoticz pokazane zostało w tym video
Poniżej krok po kroku opisuję jak dodać specyficzne elementy dla AFE T5
- W menu Konfiguracja -> Sprzęt dodajemy nowe urządzenie
- wprowadzamy Nazwę oraz
- wybieramy Typ: Dummy ()
- Zapisujemy
- Na liście sprzętów ukazuje nam się dodane właśnie urządzenie
- Wciskamy przycisk: Utwórz wirtualny czujnik i tworzymy trzy elementy
- Przełącznik: Brama
- Przełącznik: Czujnik magnetyczny
- Przełącznik: Stan bramy
- Przechodzimy do zakładki Przełączniki
- Wciskamy Edycja dla przełącznika: Brama
- Zmieniamy Typ przełącznika na: Push On Button
- Wprowadzamy Włącz akcja i Wyłącz akcja, tę samą komendę w formacie
- http://ip-adres-urzadzenia/?device=gate&command=toggle
- Zapisujemy
- Wciskamy Edycja dla przełącznika: Czujnik Magnetyczny
- Zmieniamy Typ przełącznika na: Contact
- Zapisujemy
- Wciskamy Edycja dla przełącznika: Stan Bramy
- Zmieniamy Typ przełącznika na: Door Contact
- Zapisujemy
- Wracamy do menu Konfiguracja -> Urządzenia
- Zapamiętujemy IDX dla przełączników: Czujnik Magnetyczny, Stan Bramy
- Uruchamiamy Konfigurację AFE Firmware
- Konfigurujemy Serwer Domoticz
- Adres IP Serwera Domoticz, Port
- Jeśli jest ustawiona autentykacja w Domoticz to wprowadzamy nazwę użytkownika oraz hasło
- Wprowadzamy zapamiętane numery IDX
- IDX Stan Bramy wprowadzamy w sekcji Konfiguracja Bramy/Drzwi
- IDX Czujnika magnetycznego wprowadzamy w sekcji Konfiguracja Czujniki Magnetyczne: Czujnik 1
- Zapisujemy i wychodzimy z konfiguracji AFE Firmware
Jeśli korzystamy z dwóch czujników magnetycznych to oczywiście analogicznie tworzymy dodatkowy przełącznik: Czujnik Magnetyczny oraz wprowadzamy jego IDX w konfiguracji AFE Firmware do czujnika on numerze 2.
W tym opisie pokazane jest, jak skonfigurować czujnik DHT z Domoticz. Jest to instrukcja dla AFE T2 natomiast analogicznie konfiguruje się dla wersji AFE T5.
Zanim zdecydujesz zainstalować AFE Firmware przeczytaj pełną dokumentację.
Pobierz aktualną wersję.