[ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)

  • 13 Odpowiedzi
  • 7105 Wyświetleń
*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
[ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« dnia: Października 24, 2019, 16:23:59 »
Witajcie,
Kto obserwuje forum ostatnimi tygodniami mógł przeczytać, że pracuję nad jeszcze prostszą integracją pomiędzy Exta Life a Home Assistant. Obecny pakiet działa dobrze, ale wymaga nieco znajomości Linuxa, MQTT, więc wymaga trochę gimnastyki.
Ma swoje wady i zalety. Jest odporny na zmiany zachodzące w HA, ponieważ integracja MQTT jest mocno wspierana na HA i osoby odpowiedzialne za rozwój HA nie mogą pozwolić, aby jedna z podstawowych integracji nie działała. Ale wadą jest to, że pakiet używający MQTT wymaga komponentu pośredniego czyli skryptów w Python. Nie do końca mi się to podoba i postanowiłem rozpracować temat natywnej integracji. API Home Assistant wydaje się już całkiem stabilne i nie sądzę, że wprowadzone zostaną zmiany na tyle poważne, że trzeba będzie coś mocno dostosowywać.
Nie będzie to na razie integralna część HA, ponieważ to wymagałoby włączenia jej w proces deweloperski HA (a to rodzi trochę obowiązków, bo wymagania procesu deweloperskiego są konkretne), ale instalacja będzie banalnie prosta - będzie trzeba skopiować tylko folder z kilkoma plikami do folderu HA /config/custom_components przewidzianego dokładnie w celu uruchamiania nieoficjalnych integracji i dodać wpis w pliku konfiguracyjnym HA.

Chciałbym zbadać za wczasu zainteresowanie tym rozwiązaniem. Niezależnie od niego i tak to zrobię, bo sam jestem głównym zainteresowanym, ale będę potrzebował jakiś ochotników do testów.

Dajcie znać co myślicie i czy ktoś byłby chętny się tym trochę pobawić w przyszłości. Do pierwszej wersji, która będzie nadawała się do pierwszych testów brakuje mi jakieś 2-3 tygodnie.
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: [ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« Odpowiedź #1 dnia: Października 25, 2019, 08:48:43 »
Zamel powinien Ci płacić za otworzenie ich rozwiązania na inne systemy :). Byłbym pierwszy do testów, ale pozbyłem się ExtaFree, choć niektórych z ich rozwiązań mi brakuje np. włączników bateryjnych i odbiorników podtynkowych biorąc pod uwagę ich cenę. Niemniej kibicuje, może kiedyś warto będzie połączyć u siebie te dwa rozwiązania.

Odp: [ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« Odpowiedź #2 dnia: Października 25, 2019, 09:46:41 »
popieram przedmówcę!!
Zamel zamiast Cię banować powinien dziękować!  :P
Ja podobnie jak kolega Automatic pozbyłem się Exta Free i na tą chwilę już powoli montuję Ropam NeoGSM-IP,
Życzę powodzenia w integracji i mimo wszystko mam nadzieję że Exta Life nie podziali losów starszej siostry...
ExtaFree 12xSRP-02 2xROB-01 EFC-02

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: [ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« Odpowiedź #3 dnia: Października 25, 2019, 11:33:14 »
Jakby co ja pisze się na testy, mam co prawda tylko parę ROPów, ale na tym mogę testować.

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: [ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« Odpowiedź #4 dnia: Października 25, 2019, 15:40:09 »
Byłbym pierwszy do testów, ale pozbyłem się ExtaFree, choć niektórych z ich rozwiązań mi brakuje np. włączników bateryjnych i odbiorników podtynkowych biorąc pod uwagę ich cenę.
To prawda - patent Zamela z nadajnikami bateryjnymi a także sieciowymi jest na prawdę dobry i prawie unikalny  ???. Są one najmocniejszym hamulcem u mnie i sprawiają, że nie mogę pozbyć się Exty bo inaczej musiałbym robić rozpierduchę w ścianach i ciągnąć kable, aby móc sterować fizycznymi łącznikami. A tych na pewno nie będę chciał się pozbyć na rzecz sterowania smartfonem czy głosem (a propos - Google brickuje ostatnio głośniki GH felerną aktualizacją - miej się na baczności).
Cytuj
Niemniej kibicuje, może kiedyś warto będzie połączyć u siebie te dwa rozwiązania.
Hmm, możliwe (mój przykład), ale chyba nieoptymalne rozwiązanie. Zbyt dużo podobnych, ale jednak różnych systemów to kłopot w utrzymaniu tego wszystkiego w pionie. Ja mam już 3 u siebie (z-wave, Exta i na razie 1 Sonoff na WiFi, można doliczyć jeszcze czujniki bluetooth odczytywane przez HA) i mnie jużtego wystarczy. Choćby nie wiem co miało oferować Zigbee to jednak chyba podizękuję. Chyba, że okaże się, że urządzenia Zigbee będą znacznie tańsze niż zwave i przybędzie im znacząco sprzętu to może kiedyś, ale na razie słabo.

Ja podobnie jak kolega Automatic pozbyłem się Exta Free i na tą chwilę już powoli montuję Ropam NeoGSM-IP,
Życzę powodzenia w integracji i mimo wszystko mam nadzieję że Exta Life nie podziali losów starszej siostry...
Gratuluję zmiany! Czy dobrej to się okażę ;) chociaż faktycznie trudno, żeby ten system był gorszy od Exta Free. Jeśli robisz częściowo kablem, to już w ogle nie ma tematu. Kabel to kabel :) Czekamy na relację jak się sprawuje i jakie wrażenia.

Zamel powinien Ci płacić za otworzenie ich rozwiązania na inne systemy :)
popieram przedmówcę!!
Zamel zamiast Cię banować powinien dziękować!  :P
Cóż mogę powiedzieć. Nie oczekuję ani pieniędzy, ani nawet słowa dziękuję. Oczekiwałem natomiast dostępu do informacji, aby nie dochodzić do wszystkiego metodą reverse engineeringu (np mock-service JSON w Pythonie symulujący kontrolera ze wszystkimi dostępnymi urządzeniami Exta Life i patrzenie co aplikacja wysyła, dekompilowanie aplikacji Exta Life) oraz licznych prób i błędów. Niestety Zamel zupełnie zignorował moją prośbę. Pomijam to, że to JSON API to nie tajemnica narodowa ani coś, co mógłby rozszyfrować tylko najlepszy haker świata. To prosty system i łatwo można go rozłożyć na czynniki pierwsze. I tym bardziej mnie ich postawa dziwi. Dziwi tym bardziej, że wspomniałem do czego mi to jest potrzebne, i że dzięki temu Exta Life można pośrednio sterować przez Google Asystenta, a to już wg mnie bardzo konkretny driver sprzedażowy, który może im tylko pomóc w sprzedaży tego systemu. Wiele ułomności EFC-01 da się dzięki integracji z HA zniwelować. No cóż...muchy w nosie, albo zbyt duże ego nie pozwalają im chyba na udzielanie takich informacji. Może Exta faktycznie sprzedaje się w milionach egzemplarzy tylko my jeszcze o tym nie wiemy?  ::)

Jakby co ja pisze się na testy, mam co prawda tylko parę ROPów, ale na tym mogę testować.
Super! W takim razie gdy będzie gotowe to odezwę się na forum i założę nowy wątek w tym samym dziale.

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 shibby

  • ***
  • 193
    • Zobacz profil
Odp: [ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« Odpowiedź #5 dnia: Listopada 06, 2019, 10:07:44 »
na mnie wiesz że możesz liczyć. Docker HA póki co wyłączony ale zawsze gotów do odpalenia i testów :)
Elementy systemu, których używam: EFC-01, 1x RNK-22, 2x RNK-24, P-457/2, ROP-21, 3x ROP-22, RDP-21, 2x RGT-01, SLR-21, SLR-22, 3x RCK, 2x RCM, RCZ, RCR

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: [ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« Odpowiedź #6 dnia: Listopada 10, 2019, 19:16:43 »
2 tygodnie minęły i myślę że na dniach opublikuję komponent do testów. Wygląda że coś z tego będzie 🙂
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: [ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« Odpowiedź #7 dnia: Listopada 11, 2019, 17:37:18 »
No i jak to w świecie oprogramowania bywa - odkryłem dzisiaj problem, który uniemożliwi wydanie komponentu do testów w najbliższym czasie. W pojedynczych klikach wszystko działa bardzo ładnie. W HA stan zmienia się także natychmiast, gdy ktoś zmieni stan odbiornika z aplikacji Exta Life oraz gdy zmieni się odczyt czujnika (nowość dla tych, co sterują z aplikacji ExtaLife lub dla tych, którzy chcą mieć dane z czujników na bieżąco np przyszłościowo czujnik ruchu).

Niestety problem pojawia się, gdy sterujemy ze scen lub grupą urządzeń (np grupa świateł sterowania z GUI jednym przełącznikiem). Problem polega na tym, że prawdopodobnie kontroler "nie wyrabia" z przetwarzaniem zapytań i gubi komendy :( Na razie nie mam jeszcze pomysłu jak się z tym uporać, gdyż HA z definicji nastawiony jest na wydajność i wszystko odbywa się asynchronicznie i równolegle. Wypadałoby jakoś opóźnić kolejne zapytania skierowane do kontrolera, ale na razie nie wiem jak to zrobić...Być może trzeba będzie wymyślić jakiś złożony mechanizm, aby w równolegle wysyłanych zapytaniach zakolejkować je jakoś, ale tak, aby uniknąć blokowania HA.
Będę myślał i odezwę się jak znajdę jakieś rozwiązanie, bo mnie samemu zależy na tym natywnym komponencie, ponieważ daje on nowe możliwości i rozwiązuje ograniczenia integracji przez skrypty MQTT.
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: [ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« Odpowiedź #8 dnia: Listopada 12, 2019, 14:49:16 »
Jeżeli jest możliwość bardzo chętnie przystąpię do testów. Mogę protestować sterowanie 10 rolet jednocześnie... Może w pierwszej wersji wystarczy uruchamianie sceny zapisanej w konfiguracji EFC do czasu rozwiązania problemu z HA...

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: [ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« Odpowiedź #9 dnia: Listopada 12, 2019, 15:50:31 »
Jeżeli jest możliwość bardzo chętnie przystąpię do testów. Mogę protestować sterowanie 10 rolet jednocześnie... Może w pierwszej wersji wystarczy uruchamianie sceny zapisanej w konfiguracji EFC do czasu rozwiązania problemu z HA...
Z problemem gubienia przez kontroler komend już sobie poradziłem. Rozwiązanie było jednak bardzo proste, ale skuteczne. Ale pojawił się inny problem. W typowym stress-test gdy intensywnie załącza się i wyłącza kilka urządzeń (scenariusz prawie nierzeczywisty, ale ukazuje być może szerszy problem) kontroler odcina komunikację i trzeba się łączyć ponownie. Podobne testy, które przeprowadziłem na integracji przez MQTT nie ukazują tego problemu.

Nawet gdy komunikacja zostaje wznowiona to sterowanie grupą urządzeń nie działa do czasu kolejnego odpalenia status pollingu, który uruchamia się co 5 minut.
To już trudniejszy orzech do zgryzienia, bo teraz nie wiem gdzie leży problem: czy w moim kodzie, czy w kontrolerze EFC-01 czy w HA. Muszę to jeszcze trochę rozpracować i mam nadzieje znajdę jakieś rozwiązanie.
Nie chcę upubliczniać takiej nie do końca stabilnej wersji, bo szkoda mi Waszego czasu na testy, które być może trzeba będzie powtórzyć kilka razy.
Myślę, że najlepiej będzie gdy upublicznię wersję do testów, gdy przejdzie ona moje własne wymagania QA :) Jeśli u mnie nie wykryję problemów to dam szansę Wam.
A na razie trzymajcie kciuki, żeby udało mi się znaleźć przyczynę obecnego zachowania.
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: [ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« Odpowiedź #10 dnia: Listopada 12, 2019, 17:29:08 »
No dobra, chyba jest jakieś światełko w tunelu!  ^-^ Wygląda na to, że znalazłem przyczynę i pierwsze testy z poprawionym kodem wypadają dobrze.
Problem był częściowo po stronie kontrolera (przeładowany zapytaniami przestawał wysyłać notyfikacje stanu operacji), ale musiałem także nieco zmodyfikować kod komponentu. Teraz dzięki temu stan encji w HA ma podwójne zabezpieczenie przed przekłamaniami i rozsynchronizowaniem się z EFC-01.

Potestuję to jeszcze jutro w miarę możliwości i jeśli nic nowego się nie przypałęta to jutro wieczorem albo w czwartek kod ujrzy światło dzienne i będziecie mogli zacząć go testować. Najbardziej usytasfakcjonowani powinni być ci, którzy najczęściej sterują Exta Life poprzez aplikację (z racji natychmiastowej zmiany stanu w HA dzięki ciągłemu monitorowaniu notyfikacji z kontrolera przy sterowaniu przez aplikację Exta Life) oraz ci, którzy oczekują natychmiastowych reakcji HA na zmianę stanu czujników, szczególnie czekających na wejście na rynek czujników ruchu. Możliwe będzie w końcu zbudowanie integracji w HA reagującej natychmiast a nie z 5 minutowym opóźnieniem. Czas reakcji HA bliski zeru umożliwi zrealizowanie scenariuszy sterowania w oparciu o czujki PIR :) Jest na co czekać :)
« Ostatnia zmiana: Listopada 12, 2019, 17:33:08 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 SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: [ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« Odpowiedź #11 dnia: Listopada 12, 2019, 19:15:31 »
no i super  ;D

Odp: [ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« Odpowiedź #12 dnia: Listopada 14, 2019, 08:39:00 »
Czekam z niecierpliwością :)

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: [ZAPOWIEDŹ] Natywna integracja z Home Assistant (komponent)
« Odpowiedź #13 dnia: Listopada 14, 2019, 17:17:24 »
Zgodnie z zapowiedzią - w nowym wątku opublikowałem nową integrację! :) Przez ostatnie 2 dni działa u mnie jako wersja produkcyjna i wygląda stabilnie, więc zdecydowałem, że jest gotowa do testów

Zamykam ten wątek.
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