Exta Free oraz Home Assistant

  • 13 Odpowiedzi
  • 11207 Wyświetleń
Exta Free oraz Home Assistant
« dnia: Listopada 26, 2018, 19:09:59 »
Przyszedł mi do głowy pewien pomysł. Czy taka integracja z HA byłaby możliwa przy wykorzystaniu efc-02? Nie znam się na tym zbytnio ale to by był niezły pomysł na wskrzeszenie Exta Free  ;)
ExtaFree 12xSRP-02 2xROB-01 EFC-02

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Exta Free oraz Home Assistant
« Odpowiedź #1 dnia: Listopada 26, 2018, 23:25:21 »
Przyszedł mi do głowy pewien pomysł. Czy taka integracja z HA byłaby możliwa przy wykorzystaniu efc-02? Nie znam się na tym zbytnio ale to by był niezły pomysł na wskrzeszenie Exta Free  ;)
Niestety trudno mi powiedzieć na pewno, ponieważ nie posiadam EFC-02, ale zakładam, że komunikacja aplikacji z kontrolerem wygląda podobnie, bo to technologicznie i koncepcyjnie bliźniaczy system. Jeśli tak to nie powinno być większych przeszkód aby taką integrację zrobić.

Jeśli prześledzisz komunikację między aplikacją, a kontrolerem w sposób tak jak pokazałem w tym wątku to będę w stanie powiedzieć więcej.

Jest tylko jeden problem: musiałbyś zrezygnować ze sterowania lokalnego i z nadajników i sterować wyłącznie z HA, ponieważ inaczej HA pokazywałby nieprawidłowe stany odbiorników. Ja mogę sterować lokalnie, a prawdziwy stan odczytuje z odbiorników program, który "udaje" aplikację
« Ostatnia zmiana: Listopada 26, 2018, 23:43:33 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: Exta Free oraz Home Assistant
« Odpowiedź #2 dnia: Listopada 27, 2018, 14:32:34 »
Rozumiem, komunikację sprawdzę i dam znać .
Co do sterowania z nadajników to nie używam ale sterowanie lokalne jak najbardziej i musi zostać. A można w ha zrezygnować z wyświetlania stanów żeby oka nie drażniły  :)
Btw. W jaki sposób będzie zrobiona integracja? Postawisz jakich serwerek w domu który będzie tłumaczył komendy do efc-01?
ExtaFree 12xSRP-02 2xROB-01 EFC-02

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Exta Free oraz Home Assistant
« Odpowiedź #3 dnia: Listopada 27, 2018, 14:52:27 »
Rozumiem, komunikację sprawdzę i dam znać .
Co do sterowania z nadajników to nie używam ale sterowanie lokalne jak najbardziej i musi zostać. A można w ha zrezygnować z wyświetlania stanów żeby oka nie drażniły  :)
Btw. W jaki sposób będzie zrobiona integracja? Postawisz jakich serwerek w domu który będzie tłumaczył komendy do efc-01?
Jeszcze nie wiem czy można schować przełączniki stanu, ale niewykluczone, że się da. HA to na prawdę rozbudowany system i ogarnięcie jak się go konfiguruje trochę zajmuje, ale idzie mi coraz lepiej :) Można na prawdę bardzo wiele rzeczy dostosować dokładnie pod swoje "widzimisię".


Co do tego jak to wygląda - tak, używam serwerka. Tak się składa, że posiadam NAS Synology, na którym działa Docker. HA jest dostępny jako obraz do instalacji dla Dockera, co upraszcza jego instalację (nie mylić z konfiguracją) do totalnego minimum i nie musimy się tymi linuksowymi bzdurami typu zależności w ogóle przejmować.
Jeśli ktoś nie ma dysku NAS, to może sobie zakupić tani komputerek Raspberry Pi i na nim zainstalować HA - to nawet preferowany sposób - nazywa się to wtedy "hass.io". Instalacja jest także banalna ponieważ HA jest oferowany jako obraz systemu, więc prawie nic nie trzeba robić.

Dodatkowo skorzystałem z rady kolegi yaworski i używam komponentu MQTT (taki protokół komunikacji - dedykowany do rozwiazań typu IoT) w HA do integracji z Exta Life. Zainstalowałem także w Dockerze serwer (tzw broker) MQTT i on pośredniczy w wymianie komunikacji między HA a światem zewnętrznym - czyli także Exta Life.

Teraz aby połączyć Exta Life i HA - napisałem bibliotekę w Pythonie (ten sam język, w którym napisany jest HA) i 2 programy - jeden do obsługi "połączeń przychodzących" z HA z komendami sterującymi danym urządzeniem, które przekazywane są przez protokół MQTT i drugi program, który uruchamia się cyklicznie i odpytuje EFC-01 o stany wszystkich urządzeń i czujników, aby HA "wiedział" w jakim stanie jest dane urządzenie. Oczywiście informacja ta dociera do niego z pewnym opóźnieniem, ale ma to znaczenie tylko gdy ktoś skorzysta ze sterowania lokalnego lub z nadajnika Exta Life. W sumie dość często, ale stany nie są dla mnie aż tak krytyczne, abym musiał je odświeżać co sekundę. Na razie odświeżam co 5 minut.

Rezultaty w załączniku :)
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: Exta Free oraz Home Assistant
« Odpowiedź #4 dnia: Listopada 27, 2018, 15:06:23 »
Kurczaki powiem Ci szacun, Ja niestety nie jestem zbyt mocny z programowania itd ale też mam NAS tyle że qnap :)
Mam też home asist w container station oraz jest apka w nieoficjalnym sklepie QnapClub
może dało by się też z tego coś zklecić... hmmm
ExtaFree 12xSRP-02 2xROB-01 EFC-02

Odp: Exta Free oraz Home Assistant
« Odpowiedź #5 dnia: Listopada 27, 2018, 15:11:51 »
MQTT jest też  ;)
ExtaFree 12xSRP-02 2xROB-01 EFC-02

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Exta Free oraz Home Assistant
« Odpowiedź #6 dnia: Listopada 27, 2018, 15:15:42 »
Kurczaki powiem Ci szacun, Ja niestety nie jestem zbyt mocny z programowania itd ale też mam NAS tyle że qnap :)
Mam też home asist w container station oraz jest apka w nieoficjalnym sklepie QnapClub
może dało by się też z tego coś zklecić... hmmm
Na QNAPach się nie znam, ale te rozwiażania NAS są do siebie dość podobne jeśli chodzi o możliwości. Wygląda, że bazę do działania już masz. Twój HA jest dość stary, ale z drugiej strony to demo na stronie HA jest na wersji chyba 0.26 i działa :) Nowe wersje w dużej mierze dodają obsługę kolejnych urządzeń i usrawniają działanie. Może nowa wersja nie byłąby ci do niczego potrzebna, ale jeśli masz Dockera czy też container station to instalaja i tak jest dalej prosta. W zasadzie to najważniejsy brak to brak tego co pozwoli komunikować się HA z EFC-02 czyli czegoś na kształt tego co zrobiłem dla Exta Life ja. To jest tutaj największa trudność, bo zainstalowanie HA to żaden problem, na prawdę.

To zacznij research i daj znać co wyszło :) W sumie brak stanów w Twoim przypadku to będzie jakiś minus, ale jeśli chcesz po prostu tchnąć automatyzację działań w Exta Free to się nada. A czujniki do tej automatyzacji możesz sobie dokoptować od innych producentów. Przestudiuj listę obslugiwanych urządzeń: https://www.home-assistant.io/components/ Jest na prawdę pokaźna

Powodzenia! :)
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: Exta Free oraz Home Assistant
« Odpowiedź #7 dnia: Listopada 27, 2018, 15:24:26 »
Postaram się do tego przysiąść w wolnej chwili.
Dockery zainstalowałem a jakie Ty masz wersje?
ExtaFree 12xSRP-02 2xROB-01 EFC-02

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Exta Free oraz Home Assistant
« Odpowiedź #8 dnia: Listopada 27, 2018, 18:06:46 »
Postaram się do tego przysiąść w wolnej chwili.
Dockery zainstalowałem a jakie Ty masz wersje?
Oto co pokazuje mój docker (komenda docker version):
Client:
 Version:      17.05.0-ce
 API version:  1.29
 Go version:   go1.8

Ale chyba nie musi to być jakiś super nowy Docker, chociaż mój jest z października. Nie wiem też czy Twój docker ma jakieś GUI, bo Synology zrobiło bardzo fajne i przydatne GUI dla DOckera więc nie trzeba bawić się w polecenia linuxowe w shellu. Jeśli nie to będziesz musiał się troszkę doszkolić z dockera i sterowania nim z linii komend.

MQTT na pewno także ci się przyda. W twoim przypadku będzie chyba więcej ręcznej konfiguracji, chyba, że EFC-02 jakoś paruje się z odbiornikami i potrafi zwrócić ich listę. Ale jeśli nie to nic - to żaden problem zrobić konfigurację ręcznie i zarejestrować urządzenie w HA. U mnie robi to program i rejestruje odbiorniki, które mam automatycznie. Jeśli dokupię kolejne, to dodadzą się same. Działa to w oparciu o funkcjonalność "Discovery" w komponencie MQTT w HA. Tyle, że i tak potem trzeba ręcznie dodać dany odbiornik do listy urządzeń w GUI, ale nie trzeba przynajmniej definiować jego parametrów tzn czy jest to światło, czy przełącznik czy czujnik oraz przypisywać parametrów MQTT do nich.

Jak prześledzisz ruch TCP to porównaj to z opisem komendy na naszej Wiki: https://www.forumextalife.pl/wiki/index.php?title=EFC-01:TCP/IP:Polecenia. Chodzi o komendę nr 20 - ControlDevice.
Wydaje mi się, że EFC-02 działa na zasadzie klonowania nadajników fizycznych, to wtedy trzeba będzie całe rozwiązanie zrobić trochę inaczej, ale zobaczymy.
« Ostatnia zmiana: Listopada 27, 2018, 18:12:26 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: Exta Free oraz Home Assistant
« Odpowiedź #9 dnia: Grudnia 04, 2018, 18:36:54 »
Hmm nie wiem dlaczego ale nie udaje się przechwycić żadnych pakietów z aplikacji Exta Free+. Robię wszystko poprawnie gdyż z innych aplikacji udaje się przechwycić bez problemu...
Dziwne to bardzo... jakieś pomysły?
ExtaFree 12xSRP-02 2xROB-01 EFC-02

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Exta Free oraz Home Assistant
« Odpowiedź #10 dnia: Grudnia 09, 2018, 13:55:20 »
Hmm nie wiem dlaczego ale nie udaje się przechwycić żadnych pakietów z aplikacji Exta Free+. Robię wszystko poprawnie gdyż z innych aplikacji udaje się przechwycić bez problemu...
Dziwne to bardzo... jakieś pomysły?
Nie spotkałem się jeszcze z taką sytuacją. Nie jestem pewny jakie protokoły przechwytuje ta apka, ale żeby nic nie przechwyciła to musiałaby być chyba szyfrowana transmisja (a wątpię, że Exat Free ją ma, bo Exta Life jej nie ma). Może znajdź w sklepie Google Play inną aplikację typu packet sniffer / capture i spróbuj ponownie.
Do tej pory moja apka działała w każdym przypadku z każdą aplikacją, jaką próbowałem.
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: Exta Free oraz Home Assistant
« Odpowiedź #11 dnia: Stycznia 31, 2019, 08:01:16 »
Ponownie przysiadłem do przechwycenia ruchu z EFC-02 zainstalowałem starą aplikację Exta Free (poprzednio testowałem Exta Free +)
Ponadto wziąłem tel. ze starszym androidem i nic.... nie rozumiem dlaczego tylko z tej jednej apki nie przechwytuje ruchu....
Czy może któryś z kolegów przechwycił ruch i mógłby podzielić się wiedzą? Zmotywowałem się nieco aby uruchomić HA i GA z Exta Free.
ExtaFree 12xSRP-02 2xROB-01 EFC-02

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Exta Free oraz Home Assistant
« Odpowiedź #12 dnia: Stycznia 31, 2019, 15:41:08 »
Ja też z ciekawości kiedyś w grudniu próbowałem to zrobić, tylko, że nie mam kontrolera EFC-02. Postanowiłem więc zrobić softwareowy mock-kontroler w Pythonie (prosty serwer TCP), ale aplikacja nie próbowała się nawet do niego podłączać  :-\ Widać jakoś inaczej zrobiony jest mechanizm wykrywania kontrolera. Ustawiłem w Exta Free+ dostęp zdalny, podałem IP i PORT, ale w serwerze w Pythonie w ogóle nie było widać przychodzącego połączenia. Może Exta Free jakoś uwierzytelnia kontroler? Nie wiem. Być może tam jest tak, że najpierw robi zawsze multicast UDP przed połączeniem i łączy dopiero jak multicast odpowie. Niestety nie wiem jakie są parametry tego multicasta. Bez fizycznego dostępu do kontrolera nic nie wskóram.
Jeśli się nie boisz to stwórz może specjalnego usera w EFC-02 z podstawowymi uprawnieniami i podaj mi dane do logowania na PW to może jakoś tak przechwycimy ten ruch.

A co do braków rezultatów. To jedyny możliwy powód jaki mi przychodzi do głowy to szyfrowanie pomiędzy aplikacją Exta Free a EFC-02. W tym przypadku aplikacja nie przechwyci ruchu. Ale to oznaczałoby, że Exta Free ma lepsze zabezpieczenia transmisji dla aplikacji niż Exta Life. Trochę nie chce mi się w to wierzyć...ale kto wie...
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

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Exta Free oraz Home Assistant
« Odpowiedź #13 dnia: Lutego 04, 2019, 11:06:23 »
Po długiej wymianie maili z kolegą wojtek06061989 udało mi się przechwycić ruch sieciowy w aplikacji Exta Free.
Nie mam dobrych wiadomości.

Fakt 1: Zamel zamiast TCP używa UDP. Dla znających podstawy teleinformatyki nie muszę komentować co to oznacza  :-X
Fakt 2: Protokół komunikacyjny to hybryda binarno-tekstowa. Komendy do kontrolera są wysyłane w postaci binarnej. Nie ma JSONa tak jak w Exta Life :( Część odpowiedzi jest binarna, a część tekstowa. Kaszanka  :-\

Odkodowanie tego i zaimplementowanie w swojej aplikacji/skrypcie jest oczywiście możliwe, ale to operacja znacznie bardziej czasochłonna i trudniejsza niż dla Exta Life...
Dla ciekawskich - screen:

Obraz Zamela z mojej perspektywy staje się coraz wyraźniejszy. Zapewne zdecydowano się na UDP, aby oszczędzić zasoby, ale tak jak w przypadku EFC-01 - dobrano zbyt słaby kontroler /"procesor" jak na stawiane przed nim cele. TCP już pewnie byłby zbyt wymagający w obsłudze. Tak więc EFC-02 z góry był skazany na porażkę jeśli chodzi o możliwości i snute w ulotkach informacyjnych wizje (funkcje logiczne, obsługa Z-Wave itp). Więcej o tym w poście kolegi Gadulowaty.
Niestety EFC-01 powtórzył błędy poprzednika i z wielkiej chmury mamy mały deszcz. Ograniczenia, ograniczenia, ograniczenia....
« Ostatnia zmiana: Lutego 04, 2019, 11:42:13 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

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Exta Free oraz Home Assistant
« Odpowiedź #14 dnia: Lutego 04, 2019, 13:53:55 »
OFFTOP
Pokusiłem się jeszcze o małe porównanie "serca" EFC-01 i innego, z kontrolera systemu Grenton. I okazuje się, że to co działa w EFC-01 jest nawet potężniejsze niż kontroler CLU Grentona. A mimo to Grenton daje większe możliwości. Czyli dochodzimy w tym miejscu po raz kolejny do wniosku, że nie sprzęt jest najważniejszy, a to jak ktoś potrafi go wykorzystać i oprogramować.

Grenton CLU - kontroler MK70FX512VMJ12
 Performance
– Up to 120 MHz Arm® Cortex®-M4 core with DSP
instructions delivering 1.25 Dhrystone MIPS per
MHz
• Memories and memory interfaces
– Up to 1024 KB program flash memory on nonFlexMemory devices
– Up to 512 KB program flash memory on
FlexMemory devices
– Up to 512 KB FlexNVM on FlexMemory devices
16 KB FlexRAM on FlexMemory devices
– Up to 128 KB RAM
– Serial programming interface (EzPort)
– FlexBus external bus interface
– DDR controller interface
– NAND flash controller interface
• Clocks
– 3 to 32 MHz crystal oscillator
– 32 kHz crystal oscillator
– Multi-purpose clock generator

Exta Life EFC-01 - kontroler STM32F429
Core: Arm® 32-bit Cortex®-M4 CPU with FPU,
Adaptive real-time accelerator (ART
Accelerator™) allowing 0-wait state execution
from Flash memory, frequency up to 180 MHz,
MPU, 225 DMIPS/1.25 DMIPS/MHz
(Dhrystone 2.1), and DSP instructions
• Memories
– Up to 2 MB of Flash memory organized into
two banks allowing read-while-write
– Up to 256+4 KB of SRAM including 64-KB
of CCM (core coupled memory) data RAM
– Flexible external memory controller with up
to 32-bit data bus: SRAM, PSRAM,
SDRAM/LPSDR SDRAM, Compact
Flash/NOR/NAND memories
• LCD parallel interface, 8080/6800 modes
• LCD-TFT controller with fully programmable
resolution (total width up to 4096 pixels, total
height up to 2048 lines and pixel clock up to
83 MHz)
• Chrom-ART Accelerator™ for enhanced
graphic content creation (DMA2D)
• Clock, reset and supply management
– 1.7 V to 3.6 V application supply and I/Os
– POR, PDR, PVD and BOR
– 4-to-26 MHz crystal oscillator
– Internal 16 MHz factory-trimmed RC (1%
accuracy)
– 32 kHz oscillator for RTC with calibration
– Internal 32 kHz RC with calibration
« Ostatnia zmiana: Lutego 04, 2019, 13:57:05 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