Menu główne

Natywna integracja z Home Assistant (komponent)

Zaczęty przez admin, Listopad 14, 2019, 17:14:25

Poprzedni wątek - Następny wątek

Cezary.K

Niestety bez zmian, po restarcie całej bramki, dwukrotym serwera HA i EFC-01. Logi dot. błędu identyczne...
Może zmaniona jest ścieżka do python na bramce AIS?
Elementy systemu, których używam: Bramka AIS DEV3 "Jolka" + pilot+aplikacja WearOS, 32 urządzenia Exta Life z EFC-01, Mi-flora, Sonoff, ESP8266, ESP32 (ESPHome, Tasmota) Zigbee2mqtt, kamery IP, inteligentny głośnik w oparciu o AIS DEV1, urządzenia SIP.

admin

Cytat: Cezary.K w Marzec 21, 2020, 22:17:57
Niestety bez zmian, po restarcie całej bramki, dwukrotym serwera HA i EFC-01. Logi dot. błędu identyczne...
Może zmaniona jest ścieżka do python na bramce AIS?
Nie, to ewidentnie jest w kodzie integracji i występuje gdy odpowiedź z kontrolera ma niespodziewany format. Hmm to kicha. Postaram się pomyśleć nad tym jak to obejść. Tylko musisz mi podać więcej danych. MusE wiedzieć co dokładnie przysyła kontroler. To wymaga loga na poziomie debug. Error to za mało
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

Cezary.K

Informacyjnie:
"Logi procesów Asystenta domowego.

Procesami na bramce steruje Menedżer procesów PM2.
pm2.keymetrics.io
PM2 - Home

Advanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management, at a glance.

PM2 odpowiedzialny jest za zarządzanie stanami głównych aplikacji, to PM2 uruchamia procesy po starcie systemu, a następnie czuwa nad ich ciągłym działaniem."
Elementy systemu, których używam: Bramka AIS DEV3 "Jolka" + pilot+aplikacja WearOS, 32 urządzenia Exta Life z EFC-01, Mi-flora, Sonoff, ESP8266, ESP32 (ESPHome, Tasmota) Zigbee2mqtt, kamery IP, inteligentny głośnik w oparciu o AIS DEV1, urządzenia SIP.

admin

Cytat: Cezary.K w Marzec 21, 2020, 22:28:51
Informacyjnie:
"Logi procesów Asystenta domowego.

Procesami na bramce steruje Menedżer procesów PM2.
pm2.keymetrics.io
PM2 - Home

Advanced process manager for production Node.js applications. Load balancer, logs facility, startup script, micro service management, at a glance.

PM2 odpowiedzialny jest za zarządzanie stanami głównych aplikacji, to PM2 uruchamia procesy po starcie systemu, a następnie czuwa nad ich ciągłym działaniem."
Nie, chodzilo o log HA na poziomie debug. Instrukcja jak go uaktywnić: https://www.forumextalife.pl/index.php/topic,311.msg1837.html#msg1837.

A jeszcze jedno pytanie: jaka masz wersję softu EFC-01? Ja mam nadal 1.6.4
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

Cezary.K

Wersja na EFC 1.6.5
Logów cała masa. Spróbuję coś odfiltrować...
Elementy systemu, których używam: Bramka AIS DEV3 "Jolka" + pilot+aplikacja WearOS, 32 urządzenia Exta Life z EFC-01, Mi-flora, Sonoff, ESP8266, ESP32 (ESPHome, Tasmota) Zigbee2mqtt, kamery IP, inteligentny głośnik w oparciu o AIS DEV1, urządzenia SIP.

admin

Cytat: Cezary.K w Marzec 21, 2020, 22:46:34
Wersja na EFC 1.6.5
Logów cała masa. Spróbuję coś odfiltrować...
Tak, to efekt uboczny tego ustawienia. Masa informacji się loguje, bo to pomaga ustalić problemy
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

Cezary.K

W tym gąszczu logów nie ma słów extalife, custom czy adresu IP kontrolera.

Tak wygląda mój plik konfiguracji. Dopisałem logger dla extalife. Mam nadzieję, że dobrze.
Nic poza tym nie zmieniałem, wszystko śmigało do czasu aktualizacji AIS.
Elementy systemu, których używam: Bramka AIS DEV3 "Jolka" + pilot+aplikacja WearOS, 32 urządzenia Exta Life z EFC-01, Mi-flora, Sonoff, ESP8266, ESP32 (ESPHome, Tasmota) Zigbee2mqtt, kamery IP, inteligentny głośnik w oparciu o AIS DEV1, urządzenia SIP.

admin

#142
Cytat: Cezary.K w Marzec 21, 2020, 23:02:41
W tym gąszczu logów nie ma słów extalife, custom czy adresu IP kontrolera.

Tak wygląda mój plik konfiguracji. Dopisałem logger dla extalife. Mam nadzieję, że dobrze.
Nic poza tym nie zmieniałem, wszystko śmigało do czasu aktualizacji AIS.
Konfig wygląda dobrze. Logi powinny się tworzyć / zapisywać . A na jaki plik loga patrzysz? (nazwa i folder)?

W standardowym HA ten plik nazywa się 'home-assistant.log' w folderze config (w tym samym, w którym jest plik configuration.yaml)
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

admin

CZY KTOŚ MA TAKI SAM PROBLEM CO KOLEGA @Cezary.K ?? Używa ktoś HA i softu kontrolera 1.6.5?
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

admin

Kolego @Cezary.K - jeśli nadal masz ten problem - spróbuj podmienić plik pyextalife.py na nową wersję z github: https://github.com/dgtal1/extalife_custom_component/blob/pyextalife_indexoutofrange/extalife/pyextalife.py
Zrobiłem drobną zmianę. Nie wiem czy pomoże i czy nie popsuje czegoś jeszcze bardziej (nie powinno). Skoro nie działa to nie ma chyba i tak nic do stracenia.
U mnie ten problem nie występuje, ale zasymulowałem takie zachowanie i przypuszczam, że problemem jest to, że kontroler nie przysyła żadnych danych przy wykonywaniu komendy. Być może to tylko kwestia jakiegoś opóźnienia i te dane spływają później niż u mnie, ale pierwszy przebieg pętli z pustymi danymi może faktycznie spowodować ten błąd.
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

Cezary.K

Problem jest (prawdopodobnie) po stronie AIS i zapisach, które powstają podczas aktualizacji HA na bramce. Po pełnym restarcie bramki czyli aplikacji asystent domowy i wgraniu kopi zapasowej konfiguracji wszystko działa prawidłowo. Jolka o tym ostrzega w dokumentacji i jej procedury/instrukcje działają na szczęście. Wiedzą o tym, że własne integracje użytkownika nie przenoszą się zawsze do HA tak aby serwer je rozpoznawał od startu. 
Elementy systemu, których używam: Bramka AIS DEV3 "Jolka" + pilot+aplikacja WearOS, 32 urządzenia Exta Life z EFC-01, Mi-flora, Sonoff, ESP8266, ESP32 (ESPHome, Tasmota) Zigbee2mqtt, kamery IP, inteligentny głośnik w oparciu o AIS DEV1, urządzenia SIP.

admin

Cytat: Cezary.K w Marzec 22, 2020, 11:43:34
Problem jest (prawdopodobnie) po stronie AIS i zapisach, które powstają podczas aktualizacji HA na bramce. Po pełnym restarcie bramki czyli aplikacji asystent domowy i wgraniu kopi zapasowej konfiguracji wszystko działa prawidłowo. Jolka o tym ostrzega w dokumentacji i jej procedury/instrukcje działają na szczęście. Wiedzą o tym, że własne integracje użytkownika nie przenoszą się zawsze do HA tak aby serwer je rozpoznawał od startu.
Z informacji, które podałeś wyglądało to jednoznacznie na problem z kodem integracji, która tak reagowała na nieprawidłowe (z jej punktu widzenia) dane z kontrolera. Wyglądało jakby Jolka ładowała tą integrację i podczas jej stratu występował ten błąd. Cieszę się jednak, że udało ci się to rozwiązać z poziomu Jolki
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

Cry

Witam
Wspomniałeś o zmianie strzałek do rolet i komendzie na to, ale tego nie dodałeś. Jest jakaś szansa, że jeszcze to ogarniesz bo trochę wkurzające jest wchodzenie do każdej rolety oddzielnie.
Pozdrawiam

admin

Cytat: Cry w Marzec 28, 2020, 22:43:16
Witam
Wspomniałeś o zmianie strzałek do rolet i komendzie na to, ale tego nie dodałeś. Jest jakaś szansa, że jeszcze to ogarniesz bo trochę wkurzające jest wchodzenie do każdej rolety oddzielnie.
Pozdrawiam
Witaj,
Od dawna planuję to zmienić to prawda. Ale przeszkodą było to, że nie udawało mi się tego zaimplementować w taki sposób w jaki chciałem. Tzn na porządnie, a nie robić prowizorki :) Pomysł na to polegał na wprowadzeniu dodatkowych opcji konfiguracyjnych do pliku configuration.yaml dla naszej integracji. I tutaj był problem jak to zapisać w składni walidatora konfiguracji. Po ostatnich 3 miesiącach grzebania w kodzie HA zrobiłem się trochę mądrzejszy i dzisiaj przysiadłem do tego ponownie i udało się!

Możesz ściągnąć wstępna wersję 1.1 integracji zawierającą wprowdzenie obsługi dodatkowej konfiguracji z tego linku: https://github.com/dgtal1/extalife_custom_component/archive/1.1.zip

Ta wersja po uruchomieniu zmieni sposób w jaki działają rolety w GUI HA. Od teraz będzie to działało w zgodzie z modelem abstrakcji dla platformy cover. Podstawowa różnica to to, że teraz suwak ustawiony w pozycji 100 będzie oznaczał roletę otwartą. Czyli odwrotnie niż w aplikacji Exta Life. To jedyny sposób, aby GUI HA (przyciski) działało poprawnie. Znaczenie przycisków góra, dół pozostaje bez zmian.
Będzie to oficjalny tzw breaking change w wersji 1.1 integracji.

Jeśli ci się nie spodoba, to będzie możliwość używania tego tak jak do tej pory bez potrzeby cofania kodu integracji do wcześniejszej wersji dodając dodatkowy wpis w konfiguracji:
  options:
    cover:
      inverted_control: True

Czyli całościowo wtedy wpis wyglądać będzie tak:
extalife:
  user: root
  password: mojemegahaslo
  options:
    cover:
      inverted_control: True


Finalną wersję opublikuję po wprowadzeniu jeszcze jednej dodatkowej zmiany (dla rozszerzenia mapowania ROP-ów jako świateł) i potwierdzeniu od ciebie, że to działa. To mapowanie także będzie oparte o tą dodatkową konfigurację i także czeka na wprowadzenie od dawna i było zablokowane z tego samego powodu.
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

admin

I jeszcze słowo komentarza. Nawet bez tej poprawki to nie jest tak, że nie można sterować roletą w ogóle z HA. W zakresie 1-99 przyciski działają poprawnie. A w pozycjach skrajnych można zamiast nich użyć suwaka pozycji i także otworzysz i zamkniesz roletę. Możesz także stworzyć skrypt lub scenę ustawiającą pozycje rolet 0 lub 100 i nie musisz niczego robić ręcznie.
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