Integracja z Home Assistant

  • 11 Odpowiedzi
  • 10975 Wyświetleń
*

Offline admin

  • *****
  • 1566
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Integracja z Home Assistant
« dnia: Listopad 04, 2018, 20:47:25 »
Po napisaniu posta podsumowującego nasz system po roku czasu nie daje mi spokoju pewien fragment tego posta mówiący o braku integracji z innymi systemami.
Pewien użytkownik z forum, o którym wspomniałem, że dał nowe życie systemowi Exta Free używa u siebie rozwiązania Home Assistant. To soft do łatwiejszego zarządzania wieloma różnymi urządzeniami różnych producentów, które pracują w oparciu o różne technologie. Jest to rozwiązanie uniwersalne, które pozwala na sterowanie wszystkim za pomocą jednej aplikacji. Niczym "one ring to rule them all" z pewnej dość znanej książki ;)

Marzy mi się, aby Exta Life wspierało Home Assistant, gdyż to otwiera furtkę do sterowania tym systemem poprzez kolejne kanały - na przykład Asystent Google, który w ciągu kilku kolejnych miesięcy będzie mówił po polsku, a także znosi ograniczenia obecnego kontrolera! (np liczba scen, funkcji itp itd). Uważam, że w pewnych sytuacjach fajnie by było np. jadąc samochodem poprosić asystenta o zapalenie światła przy wejściu do domu, albo o otwarcie bramy będąc w okolicy i nie czekać na moment, w którym będziemy na tyle blisko, aby zadziałał nam pilot. Oczywiście można wchodzić w aplikację i to zrobić, ale musimy jednak oderwać się od prowadzenia, a wydając komendę głosową nie musielibyśmy tego robić.

Z mojej perspektywy nawet obecna postać softu kontrolera nadaje się do zaimplementowania wsparcia przez Home Assistant. Wystarczy wykorzystać sterowanie przez TCP - czyli zasymulować komendy aplikacji i tym samym sprowadzić EFC-01 do roli typowej bramki sieciowej. Nie byłoby to pełne wsparcie, bo obecnie kontroler nie pozwala na wysłanie do aplikacji "sygnału" / triggera o naciśnięciu jakiegoś nadajnika oraz zmianie stanu urządzenia przy sterowaniu lokalnym, ale myślę, że odpytywanie stanu urządzenia, którym chcemy sterować lub poznać jego stan to już też coś. Poza tym obecny stan wystarczałby już do realizowania scen, a nawet funkcji logicznych.
Ten Home Assistant działa na Raspberry Pi, ale można go także "odpalić" na Dockerze czyli śmiało na dysku NAS, które pewnie wielu z Was także posiada.

Aby rozpalić Waszą wyobraźnię proponuję odwiedzić: https://www.home-assistant.io/demo/

Po pierwsze - piękny, minimalistyczny wygląd aplikacji, który pozwala na mniej scrollowania niż Exta Life. Po drugie i najważniejsze - jedna aplikacja do wszystkich urządzeń smart. Nie da się ukryć, że nie ma producenta, który oferuje każdy rodzaj urządzenia. Jedni robią dobre żarówki "smart", inni systemy audio, jeszcze inni typowe systemy smart home (sterowanie odbiornikami energii jak w Exta Life), a to rozwiązanie pozwala sterować tym wszystkim z jednego miejsca i budować sceny i skrypty ("funkcje logiczne") z użyciem wszystkich typów urządzeń. Piękna sprawa moim zdaniem.

Kolejna zaleta to możliwość dorobienia "protez" brakującego w Exta Life sprzętu. Moglibyśmy stosować czujniki innych producentów i to wszystko mogłoby razem hulać!

I teraz do sedna. Wspomniałem, że uważam, że nawet obecnie dałoby się taką integrację zrobić. Na Zamela nie liczę, bo nie mają ludzi od nowych technologii (ciekawe kto im robi oprogramowanie do Exta Smart?) i pewnie nawet nie mają zamiaru, więc liczę, że kiedyś znajdzie się jakaś dobra dusza na forum, która ma przede wszystkim wiedzę i zdolności do programowania w tego typu systemie. Ja chętnie sam bym zaczął, ale bariera wejścia jest olbrzymia, bo zanim człowiek siądzie do kodu, to musi opanować same narzędzia i technologie oprócz samego Pythona, w którym Home Assistant jest pisany (a Python to dla mnie także terra incognita, tyle że jest raczej prostym językiem do nauki). Te technologie to niestety nie moja bajka. Musiałby to być ktoś kto pracuje z takimi rzeczami na co dzień.

No nic, nadal pozostaje marzyć...ale jeśli jest na forum jakaś osoba z takim know-how to niech pomyśli jak cudownie byłoby dodać integrację Exta Life z takim Home Assistantem....Smart Home z prawdziwego zdarzenia bez przełączania się między aplikacjami...
« Ostatnia zmiana: Listopad 05, 2018, 10:55:44 wysłana przez admin »
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

Odp: Integracja z Home Assistant
« Odpowiedź #1 dnia: Listopad 06, 2018, 09:06:19 »
Pewien użytkownik z forum, o którym wspomniałem, że dał nowe życie systemowi Exta Free używa u siebie rozwiązania Home Assistant.

Można prosić o więcej informacji na ten temat? Bo używanie EFC-02 na androidzie doprowadza mnie do szewskiej pasji  >:(
ExtaFree 12xSRP-02 2xROB-01 EFC-02

*

Offline admin

  • *****
  • 1566
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Integracja z Home Assistant
« Odpowiedź #2 dnia: Listopad 06, 2018, 09:09:58 »
Pewien użytkownik z forum, o którym wspomniałem, że dał nowe życie systemowi Exta Free używa u siebie rozwiązania Home Assistant.

Można prosić o więcej informacji na ten temat? Bo używanie EFC-02 na androidzie doprowadza mnie do szewskiej pasji  >:(
Kolego @yaworski - czy podzieliłbyś się swoim rozwiązaniem z innymi?

Kolego @wojtek06061989 - to rozwiązanie wymaga własnej konstrukcji kontrolera oraz komputerka Raspberry Pi, ale więcej nie jestem w stanie powiedzieć. Może kolega przywołany powyżej wyjaśni
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

Odp: Integracja z Home Assistant
« Odpowiedź #3 dnia: Listopad 06, 2018, 09:22:52 »
Dzięki za info  ;)
Poczekamy zatem na kolegę @yaworski
ExtaFree 12xSRP-02 2xROB-01 EFC-02

Odp: Integracja z Home Assistant
« Odpowiedź #4 dnia: Listopad 06, 2018, 18:48:56 »
Cześć,

Moje obecne rozwiązanie ExtaFree opiera się na następującym hardware: Raspberry Pi (im szybsze tym lepsze, najlepiej 3B lub 3B+), Atmega (u siebie użyłem klona Arduino Mini Pro 8 MHz na 3.3 v) oraz moduł radiowy RFM12B 868 MHz. Po stronie oprogramowania: na RPi Raspbian Stretch z HomeAssistant (wersja zmodyfikowana), na Atmega firmware obsługujący układ radiowy i komunikujący się z Raspberry przez port szeregowy.

Modyfikacja HomeAssistant polega na tym, że napisałem swój komponent do HA, który komunikuje się z firmware na Atmega.

Moje podejście do sterowania odbiega całkowicie od tego, jak to sobie wymyślił Zamel. Przede wszystkim zresetowałem wszystkie odbiorniki, żeby nadajniki nie sterowały nimi bezpośrednio. Następnie w HomeAssistant zdefiniowałem sobie swoje nadajniki z moimi identyfikatorami i to je zaprogramowałem w odbiornikach w trybie on/off. Dodałem też w HA identyfikatory oryginalnych nadajników, co pozwala mi powiązać oryginalne nadajniki z odbiornikami już w samym HomeAssistant. Mam też w firmware na Atmega specjalny tryb awaryjny, który włącza się automatycznie, kiedy HA się zawiesi albo muszę go zrestartować. Pozwala to zachować minimalne sterowanie.

Mogę udostępnić te rozwiązanie, jednak nie mam żadnych gotowych schematów połączeń czy projektu płytki. Sam użyłem płytki prototypowej dla Raspberry Pi, na której wlutowałem podstawki dla Arduino Mini Pro i RFM12B + dodatkowo zegar RTC z podtrzymaniem bateryjnym. Od razu jednak napiszę, że rozwiązanie to nie jest bez wad. Jest gdzieś jakiś bug, którego nie byłem do tej pory namierzyć, który powoduje, że czasami muszę nacisnąć przycisk kilka (2-3) razy zanim pojawi się reakcja. Problem na pewno nie jest w nadawaniu, ponieważ sterowanie z poziomu HA działa w 100%. Coś jest nie tak z odbiorem poleceń z nadajników i to tylko w pełnym trybie. Gdy zatrzymam HomeAssistant i Atmega przejdzie tryb awaryjny, sterowanie działa zdecydowanie bardziej stabilnie.

Obecnie pracuję nad nowszym rozwiązaniem. Atmega będzie zastąpiona układem ESP32, który posiada zintegrowane WiFi. ESP32 + RFM12B będą mogły działać całkowicie samodzielnie jako taka prosta centralka bez zaawansowanej logiki: mapowanie nadajników do odbiorników, trzymanie aktualnych stanów odbiorników (to wiadomo, że nie jest w 100% pewne bo ExtaFree nie ma kanału zwrotnego, ale ogólnie działa dobrze). Oprócz tego zestaw będzie obsługiwać protokół MQTT, który jest wspierany przez HomeAssistant. W ten sposób chcę dodać opcję integracji bez konieczności utrzymywania swojego własnego komponentu w HA, co jest dość żmudnym zadaniem przy zmianach API.

Szczerze mówiąc wolałbym poczekać z udostępnianiem czegokolwiek aż będę miał w miarę działające rozwiązanie na ESP32 - będzie to znacznie prostsze w budowie niż moje obecne rozwiązanie. Ale w razie czego mogę się podzielić i tym co mam obecnie.

Odp: Integracja z Home Assistant
« Odpowiedź #5 dnia: Listopad 07, 2018, 08:24:46 »
Dzięki wielkie za informację, wygląda to obiecująco.
Myślę że masz rację z tym aby poczekać do wersji finalnej na ESP32, życzę zatem powodzenia w pracach i czekam, a w sumie czekamy jako forumowicze na dalsze info :)

ExtaFree 12xSRP-02 2xROB-01 EFC-02

*

Offline admin

  • *****
  • 1566
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Integracja z Home Assistant
« Odpowiedź #6 dnia: Listopad 07, 2018, 16:23:23 »
Cześć,

Moje obecne rozwiązanie ExtaFree opiera się na następującym hardware: Raspberry Pi (im szybsze tym lepsze, najlepiej 3B lub 3B+), Atmega (u siebie użyłem klona Arduino Mini Pro 8 MHz na 3.3 v) oraz moduł radiowy RFM12B 868 MHz. Po stronie oprogramowania: na RPi Raspbian Stretch z HomeAssistant (wersja zmodyfikowana), na Atmega firmware obsługujący układ radiowy i komunikujący się z Raspberry przez port szeregowy.

Modyfikacja HomeAssistant polega na tym, że napisałem swój komponent do HA, który komunikuje się z firmware na Atmega.

Moje podejście do sterowania odbiega całkowicie od tego, jak to sobie wymyślił Zamel. Przede wszystkim zresetowałem wszystkie odbiorniki, żeby nadajniki nie sterowały nimi bezpośrednio. Następnie w HomeAssistant zdefiniowałem sobie swoje nadajniki z moimi identyfikatorami i to je zaprogramowałem w odbiornikach w trybie on/off. Dodałem też w HA identyfikatory oryginalnych nadajników, co pozwala mi powiązać oryginalne nadajniki z odbiornikami już w samym HomeAssistant. Mam też w firmware na Atmega specjalny tryb awaryjny, który włącza się automatycznie, kiedy HA się zawiesi albo muszę go zrestartować. Pozwala to zachować minimalne sterowanie.


Obecnie pracuję nad nowszym rozwiązaniem. Atmega będzie zastąpiona układem ESP32, który posiada zintegrowane WiFi. ESP32 + RFM12B będą mogły działać całkowicie samodzielnie jako taka prosta centralka bez zaawansowanej logiki: mapowanie nadajników do odbiorników, trzymanie aktualnych stanów odbiorników (to wiadomo, że nie jest w 100% pewne bo ExtaFree nie ma kanału zwrotnego, ale ogólnie działa dobrze). Oprócz tego zestaw będzie obsługiwać protokół MQTT, który jest wspierany przez HomeAssistant. W ten sposób chcę dodać opcję integracji bez konieczności utrzymywania swojego własnego komponentu w HA, co jest dość żmudnym zadaniem przy zmianach API.
Cześć,
Jak już pisałem Ci na PW - Twoje rozwiązanie bardzo mi się podoba i aż ściska mnie w dołku, że Zamel tego tak nie wymyślił. Dokładnie tak jak ty - rozparowanie nadajników z odbiornikami, pełna kontrola przez kontroler (a docelowo przez system typu HA) i ten tryb awaryjny, aby nie stracić sterowania...

Rozpoznaję Home Assistanta i muszę przyznać, że to na prawdę potężny system o sporych możliwościach, a Twój pomysł z użyciem komponentu MQTT to strzał w dziesiątkę!!  :) Pierwsze PoC już za mną i rzeczywiście dodawanie urządzeń Exta Life do HA i ich kontrola przez MQTT to bajka. Wszystko jest w zasadzie gotowe i trzeba tylko oprogramować komunikację z kontrolerem i przesyłanie tego do brokera MQTT... Prościej się nie da :) Piękne narzędzie.

Pewnie trochę mi to jeszcze zajmie, ale już teraz widzę, że to nie będzie jakaś totalna droga przez mękę i coś czuję, że to tylko kwestia ilości wolnego czasu i pierwsze sterowanie w dość nieodległej przyszłości :)
A faktycznie mogło być tak prosto od początku. Szkoda, że kontroler by default nie obsługuje MQTT bo jak się okazało (to wszystko to ciągle nowości dla mnie) to dedykowany protokół do urządzeń IoT.

Odezwę się jeszcze na PW po kilka wskazówek i pytań odnośnie HA i MQTT bo jeszcze nie wszystko mi tak działa jak mówi instrukcja.

Pozdrowienia
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

*

Offline admin

  • *****
  • 1566
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Integracja z Home Assistant
« Odpowiedź #7 dnia: Grudzień 09, 2018, 21:41:19 »
Jeśli ktoś jest zainteresowany moim kodem i chciałby to odpalać na Święta - mały komunikat: niech już lepiej zacznie się bawić Home Assistantem, żeby wiedzieć jak on działa i jak się go z grubsza konfiguruje. To na pewno ułatwi całą operację jak już się ma trochę zrozumienia tematu.
Myślę, że przed Świętami uda mi się wypuścić ten kod.

Wymagania - w co się trzeba będzie wyposażyć:
1. Home Assistant - hass.io na Raspberry Pi, ale moim zdaniem nawet lepszym pomysłem jest HA na Dockerze - pobrać najnowszą wersję stabilną (nie betę)
2. Broker MQTT - polecam Mosquitto - ja mam w dockerze
3. Python 3.5 lub nowszy do odpalenia mojej integracji Exta Life <-> MQTT w Home Assistant
4. Dodatkowe pakiety w Pythonie (doinstalować przez: pip install): mqtt (paho mqtt), json, yaml

Bardziej szczegółowe wymagania i procedura pojawi się wraz z kodem
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

*

Offline admin

  • *****
  • 1566
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Integracja z Home Assistant
« Odpowiedź #8 dnia: Grudzień 21, 2018, 15:39:53 »
Witajcie,
Zgodnie z obietnicą - mam prezent na Święta ;) Wypuściłem przed chwilą pierwszą wersję pakietu integracyjnego pozwalającego współpracować elementom Exta Life z Home Assistant. A dzięki HA jest możliwe sterowanie elementami Exat Life poprzez aplikację Google Home oraz Asystenta Google (w styczniu prawdopodobnie będzie oficjalnie dostępny w języku polskim!)

Tak jak wspominałem wcześniej - kod może nie jest piękny i najlepszej jakości, ale działa. W zasadzie na nim uczyłem się programowania w Pythonie, więc może wyglądać na nieco szkolny.

Wszystko opisane jest w nowym dziale, w wątku: https://www.forumextalife.pl/index.php/topic,252.msg1272.html

Wszystkiego dobrego na Święta!  O0
« Ostatnia zmiana: Grudzień 21, 2018, 15:41:47 wysłana przez admin »
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

Odp: Integracja z Home Assistant
« Odpowiedź #9 dnia: Grudzień 26, 2018, 17:33:23 »
Kawał świetnej roboty!!! Gratulację!
Mi niestety nie udało się przechwycić nic z exta free a testowałem kilka aplikacji...
ExtaFree 12xSRP-02 2xROB-01 EFC-02

*

Offline admin

  • *****
  • 1566
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Integracja z Home Assistant
« Odpowiedź #10 dnia: Grudzień 28, 2018, 19:42:15 »
Kawał świetnej roboty!!! Gratulację!
Mi niestety nie udało się przechwycić nic z exta free a testowałem kilka aplikacji...
Kurcze bardzo dziwne. Zdekompilowałem aplikację Exta Free+ i tam widać, że komunikacja jest też przez Socket czyli chyba też TCP. Niestety więcej nie jestem w stanie zobaczyć bo dekompikator więcej szczegółów nie pokazuje. Bez dostępu do kontrolera EFC-02 nic tu nie poradzę. Apka powinna bez problemu przechwycić ruch. Nie wiem dlaczego tak się nie dzieje

Kontynuujmy temat Exta Free w wątku https://www.forumextalife.pl/index.php/topic,245.0.html
« Ostatnia zmiana: Grudzień 28, 2018, 19:44:19 wysłana przez admin »
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant

*

Offline admin

  • *****
  • 1566
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Integracja z Home Assistant
« Odpowiedź #11 dnia: Listopad 14, 2019, 18:32:34 »
Jako, że wątek ten jest najwyżej w Google odnośnie integracji ZAMEL Exta Life z Home Assisatnt - umieszczam tu linki do obu integracji z działu XTA Developers.
1. Pakiet integracyjny MQTT - https://www.forumextalife.pl/index.php/topic,252.0.html
2. Natywna integracja - https://www.forumextalife.pl/index.php/topic,311.0.html
Elementy systemu, których używam: 3xSRP-22, 5xRDP-21, 3xROP-22, 4x ROP-21, 1xP-456/36, 1xRNK-24, 3x RNP-21, 1xRCT-22, aplikacja na Android oraz iOS + Home Assistant