Natywna integracja z Home Assistant (komponent) 2.2

  • 250 Odpowiedzi
  • 18350 Wyświetleń
*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #90 dnia: Października 22, 2022, 13:46:19 »
Wersja 2.2b5 wydana:
https://github.com/dgtal1/extalife_custom_component/releases/tag/2.2b5

To ostatnia wersja beta jeśli nie będzie więcej bugów. Kolejne ficzery czyli np otwarcie zaworu będą w kolejnej wersji 2.3
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: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #91 dnia: Października 22, 2022, 18:43:54 »
Ale jak dla mnie to potrzebowałbym tylko z 25
- last_sync
- valve_val
Kolego @SebiCo  a ten atrybut 'last_sync' to co oznacza? Ile minut temu czy sekund temu była ostatnia sychronizacja? Chciałbym zrobić sensor z odpowiednią jednostką niż taki generyczny bez jednostki.

A tu ciekawostka ;)


Zalążek już jest, ale wymaga jeszcze trochę pracy żeby nabrał finalnych kształtów
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: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #92 dnia: Października 22, 2022, 19:04:56 »
Super to widzieć :D
'last_sync' jest w sekundach i jest to czas od ostatniej synchronizacji głowicy z bramką, bardzo pomocny wskaźnik do sprawdzenia czy głowica się zawiesiła, co niestety sia zdarza.
I jeszcze taka mała uwaga 'valve_val' to procent zamknięcia głowicy... jakbyś mógł "zamienić na % otwarcia" było by bardziej czytelne ;)

Super, że coś się dzieje, THX!
« Ostatnia zmiana: Października 22, 2022, 19:23:54 wysłana przez SebiCo »

Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #93 dnia: Października 22, 2022, 21:53:52 »
Super to widzieć :D
:D
Cytuj
'last_sync' jest w sekundach i jest to czas od ostatniej synchronizacji głowicy z bramką, bardzo pomocny wskaźnik do sprawdzenia czy głowica się zawiesiła, co niestety sia zdarza.
I jeszcze taka mała uwaga 'valve_val' to procent zamknięcia głowicy... jakbyś mógł "zamienić na % otwarcia" było by bardziej czytelne ;)
O, to to. Bo tak to trzeba robić dodatkowy template sensor "odwracający":
- sensor:
  - name: "Valve Sypialnia"
    state_class: measurement
    unit_of_measurement: "%"
    state: >
      {% set valve = state_attr('sensor.termostat_sypialnia','valve_val') %}
      {% if valve == None %}
      {{ 0 | float() }}
      {% else %}
      {{ 100 - valve | float()  }}
      {% endif %}
Cytuj
Super, że coś się dzieje, THX!
Takoż


BTW nasłuch scen działa, tylko wygląda na to, że od czasu do czasu gubią się "starty". Ciekawe jak u Was?
« Ostatnia zmiana: Października 22, 2022, 21:55:48 wysłana przez Fantomas »
Elementy systemu, których używam: Bramka AIS DEV 3 + pilot, EFC-01, 3x ROP-01, 3x ROP-02, RDP-01, ROP-07, RNK-02, 5x RNK-04, RNP-01, P-257/2, 2x ROP-21, 3x ROP-22, 5x RNK-24, RCK-21, 3x RCR-21, RCM-21, 4x RGT-01, urządzenia Zigbee, kamera IP.

Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #94 dnia: Października 23, 2022, 13:30:22 »
Przyciski scen c.d.

Z reguły przychodzą tylko start=false, ale za to czasem przychodzą 2x (czyli raz naciskam, ale mam dwa zdarzenia).
Elementy systemu, których używam: Bramka AIS DEV 3 + pilot, EFC-01, 3x ROP-01, 3x ROP-02, RDP-01, ROP-07, RNK-02, 5x RNK-04, RNP-01, P-257/2, 2x ROP-21, 3x ROP-22, 5x RNK-24, RCK-21, 3x RCR-21, RCM-21, 4x RGT-01, urządzenia Zigbee, kamera IP.

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #95 dnia: Października 23, 2022, 18:02:26 »
Super to widzieć :D
'last_sync' jest w sekundach i jest to czas od ostatniej synchronizacji głowicy z bramką, bardzo pomocny wskaźnik do sprawdzenia czy głowica się zawiesiła, co niestety sia zdarza.
I jeszcze taka mała uwaga 'valve_val' to procent zamknięcia głowicy... jakbyś mógł "zamienić na % otwarcia" było by bardziej czytelne ;)

Super, że coś się dzieje, THX!

Dzięki za kolejną kawkę kolego @SebiCo! Zdecydowanie podniosła morale :)

Efektem kawki jest wersja testowa dla sensorów głowicy RGT-01: https://github.com/dgtal1/extalife_custom_component/tree/climate-config-sensors

Bazą jest wersja 2.2b5, więc ściągając to będziecie mieli najnowszy kod. Jeśli wszystko będzie stabilne to ta wersja stanie się wersją 2.3b0.

U mnie działa na zasadzie mockup dla komendy 25, ale jeśli to co przysłaliście mi w logu jest ok, to powinno działać również na rzeczywistym urządzeniu.

Dajcie znać czy działa ok.
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: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #96 dnia: Października 23, 2022, 18:25:08 »
Kolego @Gadulowaty - daj znać jak sfinalizujesz prace nad snifferem do przechwytywania nadajników Exta Life. Jak będzie gotowe i będize można toto zasilić z portu USB, to zamawiam 1 sztukę ;)

Jeśli komunikację masz na MQTT so super, bo chyba znalazłem patent jak to w miarę prosto zintegrować z naszą integracją wykorzystując wbudowany komponent MQTT z HA. Odpadnie implementacja klienta 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: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #97 dnia: Października 23, 2022, 18:57:45 »
Przyciski scen c.d.

Z reguły przychodzą tylko start=false, ale za to czasem przychodzą 2x (czyli raz naciskam, ale mam dwa zdarzenia).

Właśnie dzisiaj przetestowałem tą funkcjonalność i u mnie również przychodzą tylko zdarzenia "start: false", ale raczej nie zdarzyło się, by przyszły podwójnie. Sceny w Exta Life, za pomocą których się to odbywa są puste i może to jest powodem, że jest tylko jedno zdarzenie? Ale ciekawe, że akurat zatrzymanie sceny, a nie jej start  :) W sumie dla podstawowego celu do jakiego miałoby to służyć (wysterowanie z nadajników EL czegokolwiek obsługiwanego w HA) nie jest to problemem, tylko musiałem wskazać jako dane zdarzenia właśnie "start: false".

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #98 dnia: Października 23, 2022, 19:50:52 »
@admin niestety wali błędem

Logger: homeassistant.config_entries
Source: custom_components/extalife/__init__.py:406
Integration: Exta Life (documentation)
First occurred: 19:48:39 (1 occurrences)
Last logged: 19:48:39

Error setting up entry efc-01 for extalife
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/config_entries.py", line 365, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/data/data/com.termux/files/home/AIS/custom_components/extalife/__init__.py", line 194, in async_setup_entry
    return await initialize(hass, config_entry)
  File "/data/data/com.termux/files/home/AIS/custom_components/extalife/__init__.py", line 308, in initialize
    await data.async_start_polling(poll_now=True)
  File "/data/data/com.termux/files/home/AIS/custom_components/extalife/__init__.py", line 370, in async_start_polling
    await self.async_execute_status_polling()
  File "/data/data/com.termux/files/home/AIS/custom_components/extalife/__init__.py", line 377, in async_execute_status_polling
    await self._async_update_callback()
  File "/data/data/com.termux/files/home/AIS/custom_components/extalife/__init__.py", line 406, in _async_update_callback
    ch_config = resp.get("data")
AttributeError: 'list' object has no attribute 'get'

Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #99 dnia: Października 23, 2022, 19:52:38 »
@admin niestety wali błędem
Mnie to samo  :(
Elementy systemu, których używam: Bramka AIS DEV 3 + pilot, EFC-01, 3x ROP-01, 3x ROP-02, RDP-01, ROP-07, RNK-02, 5x RNK-04, RNP-01, P-257/2, 2x ROP-21, 3x ROP-22, 5x RNK-24, RCK-21, 3x RCR-21, RCM-21, 4x RGT-01, urządzenia Zigbee, kamera IP.

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #100 dnia: Października 23, 2022, 20:25:58 »
@admin niestety wali błędem

Logger: homeassistant.config_entries
Source: custom_components/extalife/__init__.py:406
Integration: Exta Life (documentation)
First occurred: 19:48:39 (1 occurrences)
Last logged: 19:48:39

Error setting up entry efc-01 for extalife
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.10/site-packages/homeassistant/config_entries.py", line 365, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/data/data/com.termux/files/home/AIS/custom_components/extalife/__init__.py", line 194, in async_setup_entry
    return await initialize(hass, config_entry)
  File "/data/data/com.termux/files/home/AIS/custom_components/extalife/__init__.py", line 308, in initialize
    await data.async_start_polling(poll_now=True)
  File "/data/data/com.termux/files/home/AIS/custom_components/extalife/__init__.py", line 370, in async_start_polling
    await self.async_execute_status_polling()
  File "/data/data/com.termux/files/home/AIS/custom_components/extalife/__init__.py", line 377, in async_execute_status_polling
    await self._async_update_callback()
  File "/data/data/com.termux/files/home/AIS/custom_components/extalife/__init__.py", line 406, in _async_update_callback
    ch_config = resp.get("data")
AttributeError: 'list' object has no attribute 'get'

No tak, zapomniałem, że odpowiedź z API to tablica z dictionary w środku, a nie samo dictionary.
Mam nadzieję, że to rozwiąże problem:
https://github.com/dgtal1/extalife_custom_component/commit/0f469d168aaf513a8fc38efd1bbcdf3763fea95c
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: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #101 dnia: Października 23, 2022, 20:35:32 »
heh to już właśnie poprawiłem, ale nie widzę statusu zaworu?
to ma być jako dodatkowa encja?
No i bateria tez powinna być w głowicy odwrotnie
true -> wyładowana
false -> naładowana
taka oto logika  O0

*

Offline admin

  • *****
  • 1657
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #102 dnia: Października 23, 2022, 20:43:18 »
Co do baterii to mogę to tylko tak skomentować: 🤦‍♂️🤦‍♂️🤦‍♂️ Żelazna konsekwencją do kwadratu. W innych urządzeniach jest 0 i 1 gdzie 1 to naładowana, tu wszystko jest kompletnie odwrotnie i zamiast 0 i 1 jest true i false i do tego odwrotne znaczenie...🤦‍♂️ Da się to łatwo zmienić. Jutro postaram się coś podrzucić: zmiana w pliku /helpers/utils.py funkcja boolint_to_percentage.


Tak ma być osobna encja. Widocznie coś dalej jest nie tak z odpowiedzią z kontrolera. Zalacz log, szczególnie linia zawierająca "LOGGER.debug("Extending channel %s data with config"
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: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #103 dnia: Października 23, 2022, 20:48:18 »
Przyciski scen c.d.

Z reguły przychodzą tylko start=false, ale za to czasem przychodzą 2x (czyli raz naciskam, ale mam dwa zdarzenia).

Właśnie dzisiaj przetestowałem tą funkcjonalność i u mnie również przychodzą tylko zdarzenia "start: false", ale raczej nie zdarzyło się, by przyszły podwójnie. Sceny w Exta Life, za pomocą których się to odbywa są puste i może to jest powodem, że jest tylko jedno zdarzenie? Ale ciekawe, że akurat zatrzymanie sceny, a nie jej start  :) W sumie dla podstawowego celu do jakiego miałoby to służyć (wysterowanie z nadajników EL czegokolwiek obsługiwanego w HA) nie jest to problemem, tylko musiałem wskazać jako dane zdarzenia właśnie "start: false".
U mnie jest zarówno start true jak i false. Może Zamel coś zmienił w nowszym sofcie. Ja mam soft 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

*

Offline SebiCo

  • ***
  • 225
    • Zobacz profil
Odp: Natywna integracja z Home Assistant (komponent) 2.2
« Odpowiedź #104 dnia: Października 23, 2022, 20:53:33 »
Tak ma być osobna encja. Widocznie coś dalej jest nie tak z odpowiedzią z kontrolera. Zalacz log, szczególnie linia zawierająca "LOGGER.debug("Extending channel %s data with config"

2022-10-23 20:46:05.589 DEBUG (MainThread) [custom_components.extalife.pyextalife] Sending:  b'{"command": 25, "data": {"id": "9", "channel": "1"}}\x03'
2022-10-23 20:46:07.312 DEBUG (MainThread) [custom_components.extalife.pyextalife] _async_run_once, msg: {"command":25,"status":"failure","data":{"code":-13}}
2022-10-23 20:46:07.312 DEBUG (MainThread) [custom_components.extalife.pyextalife] on_message(), resp: {'command': 25, 'status': 'failure', 'data': {'code': -13}}
2022-10-23 20:46:07.312 DEBUG (MainThread) [custom_components.extalife.pyextalife] _handle_notification(), resp: {'command': 25, 'status': 'failure', 'data': {'code': -13}}
2022-10-23 20:46:07.405 DEBUG (MainThread) [custom_components.extalife] Extending channel 9-1 data with config: {'code': -13}
2022-10-23 20:46:07.405 DEBUG (MainThread) [custom_components.extalife.pyextalife] Sending:  b'{"command": 25, "data": {"id": "8", "channel": "1"}}\x03'
2022-10-23 20:46:09.211 DEBUG (MainThread) [custom_components.extalife.pyextalife] _async_run_once, msg: {"command":25,"status":"failure","data":{"code":-13}}
2022-10-23 20:46:09.211 DEBUG (MainThread) [custom_components.extalife.pyextalife] on_message(), resp: {'command': 25, 'status': 'failure', 'data': {'code': -13}}
2022-10-23 20:46:09.211 DEBUG (MainThread) [custom_components.extalife.pyextalife] _handle_notification(), resp: {'command': 25, 'status': 'failure', 'data': {'code': -13}}
2022-10-23 20:46:09.262 DEBUG (MainThread) [custom_components.extalife] Extending channel 8-1 data with config: {'code': -13}