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

wswsws

Co tam szpital, ja powoli to boję się do własnego domu wchodzić. hehe

wswsws

a więc kupiłem "Maline" zainstalowałem hassio. w katalogu config/custom_components wstawiłem katalog extalife z plikami .py
w pliku /config/configuration.yaml dodałem wpis
extalife:
  user: <root>
  password: <*******>
restart i nigdzie nic z extą znaleśc nie mogę
title: Invalid config
message: The following components and platforms could not be set up:

- [extalife](https://home-assistant.io/integrations/extalife/)

Please check your config.

wswsws

Error during setup of component extalife
Traceback (most recent call last):
  File "/config/custom_components/extalife/__init__.py", line 68, in setup
    controller = ExtaLifeAPI(conf[CONF_USER], conf[CONF_PASSWORD], host=controller_ip)
  File "/config/custom_components/extalife/pyextalife.py", line 102, in __init__
    raise TCPConnError(resp)
custom_components.extalife.pyextalife.TCPConnError: [{'command': 1, 'status': 'failure', 'data': {'code': -2}}]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/setup.py", line 176, in _async_setup_component
    component.setup, hass, processed_config  # type: ignore
  File "/usr/local/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/extalife/__init__.py", line 85, in setup
    host = controller.host if controller.host else 'unknown'
UnboundLocalError: local variable 'controller' referenced before assignment

admin

Czy używasz najnowszej wersji integracji? 1.0.1? Do pobrania z 1 posta na górze. Stara wersja tłumaczyłaby błędy. Jeśli masz najnowszą, to widzę, że jeszcze muszę zbadać temat i poprawić, aby nie sypało się przy nieprawidłowych danych logowania.

Ale bezpośrednią przyczyną błędu jest błędny login lub hasło (w logu widać odpowiedź kontrolera code:-2 co oznacza właśnie błędne dane logowania). Jak poprawisz login/hasło to powinno ruszyć. Upewnij się, że podajesz login/hasło bez klamerek <>

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

admin

#79
Witajcie,
Właśnie opublikowałem nową wersję integracji - 1.0.2

CHANGELOG:
* nowa usługa dostępna w HA: extalife.restart service
* mała poprawka dla usunięcia technicznego błędu w logu HA gdy połączenie z kontrolerem nie uda się podczas uruchamiania HA


Dla szczęśliwców używających integracji z HA dodałem nową usługę do integracji:
extalife.restart

Dzięki temu możliwy jest zdalny restart kontrolera EFC-01 bez fizycznego dostępu do niego. Tak samo jak z aplikacji Exta Life. Nic takiego powiecie - owszem, ale dzięki temu możliwe jest odzyskanie kontroli nad EFC-01 i zalogowanie się do niego potem przez aplikację Exta Life w sytuacji, gdy kontroler się zawiesi - a to sytuacja która zdarza się na wersji softu 1.6 dość często. Są o tym wzmianki na tym forum oraz na form Zamela - link.
I tutaj co ciekawe użytkownicy integracji z HA są w lepszej sytuacji niż pozostali użytkownicy bez integracji. Jak się bowiem okazuje - integracja z HA nadal działa mimo, że nie ma możliwości zalogowania się do aplikacji Exta Life!  :D I dlatego właśnie postanowiłem dodać tą funkcjonalność do integracji. Teraz gdy kontroler się zawiesi, a aplikacja Exta Life nie będzie się dała uruchomić - wystarczy wejść w GUI HA i uruchomić usługę extalife.restart i kontroler się zrestartuje, a my odzyskujemy nad nim kontrolę :) Początkowo myślałem, aby dodać to na zasadzie "fakeowej" encji switch.restart, ale nie doszedłem do wniosku, że mieszanie nieprawdziwych encji kontrolera z prawdziwymi nie ma sensu i zaciemni kod.

Dla tych, którzy jeszcze się nie oswoili z HA i nie wiedzą o czym mowa: wystarczy wejść w narzędzia deweloperskie w ekranie HA do sekcji Usługi i wywołać tą usługę nie podając żadnych parametrów przez naciśnięcie guzika.
Obrazuje to screen w załączniku.

O ironio - nieoficjalna integracja pozwala na więcej niż oficjalna aplikacja :) Zapewne jest to pozytywny skutek uboczny ciągłego podtrzymywania połączenia przez integrację z kontrolerem, ale trzeba przyznać, że stawia nas w dobrej sytuacji :) Przejmijcie kontrolę nad swoim EFC-01 dzięki HA.

PS. Nic nie stoi na przeszkodzie, by zrobić sobie teraz automatyzację w HA, która sama zrestartuje kontroler np co 24 godziny 🙂

Wesołych Świąt! 🎅🎄
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

wswsws


wswsws

wgrałem 1.0.2 wywaliłem <> z hasła i logina i ruszyło.

wswsws

Może małe głupie pytanko ,w zakładce podgląd wyświetlają się wszystkie moje czujniki ale nigdzie nie mogę znaleźć reszty urządzeń może mała podpowiedz gdzie ich szukać??

admin

Gratuluję 🙂
Cytat: wswsws w Grudzień 26, 2019, 01:31:40
Może małe głupie pytanko ,w zakładce podgląd wyświetlają się wszystkie moje czujniki ale nigdzie nie mogę znaleźć reszty urządzeń może mała podpowiedz gdzie ich szukać??
Domyślnie powinny być na ekranie głównym HA, ale jeśli ich tam nie ma to na pewno będą w narzędziach deweloperskich w GUI w ekranie 'Stany'.
A jeśli tam ich nie będzie to albo kontroler nie wysłał wszystkich stanów, albo nie używasz użytkownika root, albo jest błąd w integracji (mało prawdopodobne)
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

wswsws

W narzędziach deweloperskich ekran "stany" mam też tylko czujniki temp.. Mam tylko użytkownika root. Uruchomiłem od nowa efc, oraz HA i jest tak samo.

wswsws

w pliku /config/configuration.yaml wystarczy tylko to
extalife:
  user: root
  password: *******

admin

Cytat: wswsws w Grudzień 26, 2019, 11:51:50
w pliku /config/configuration.yaml wystarczy tylko to
extalife:
  user: root
  password: *******
Tak to wystarczy.

Jeśli nie działa to ustaw proszę najwyższy poziom logowania jak tym poście:
https://www.forumextalife.pl/index.php/topic,311.msg1837.html#msg1837

I wrzuć na forum linie z zawartością "extalife"
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

wswsws

czy to miało tak wyglądać nie wiem czy spacje też mają znaczenie

extalife:
  user: root
  password: ****
  controller_ip: 192.168.1.3
logger:
  logs:
    custom_components.extalife: debug   

admin

Tak, spacje w YAML mają znaczenie. Wcięcia i formatowanie to podstawa tego formatu (i główny czynnik powodujący błędy i trudności)
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

wswsws

 Connectivity error during executing EFC-01 ping
20:08 custom_components/extalife/pyextalife.py (ERROR)