Pakiet integracyjny Exta Life <-> Home Assistant

  • 104 Odpowiedzi
  • 23905 Wyświetleń
*

Offline shibby

  • ***
  • 193
    • Zobacz profil
Odp: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #15 dnia: Maja 22, 2019, 10:04:25 »
To mój pierwszy post więc Witam wszystkich.

Extalife mam od raptem kilku dni. Póki co zestaw startowy ale mam zamiar go szybko rozbudowywać. Trafiłem na to forum i zaiteresowałem się integracją z HA. Postawiłem debiana, w nim HA, mosquitto i wszystko co wymagane. Stanąłem na testrun który kończy się komunikatem:

./start_exta2ha.sh --testrun
Traceback (most recent call last):
  File "main_exta2ha.py", line 196, in <module>
    prog.main()
  File "main_exta2ha.py", line 181, in main
    self.ha_mqtt.ha_update_state_from_device(device)
  File "/home/rootmr/HA/ExtaLife_HA.py", line 742, in ha_update_state_from_device
    cfg_dict = self.HAConfig.get_from_device(i_device)
  File "/home/rootmr/HA/ExtaLife_HA.py", line 552, in get_from_device
    cfg_dict[objid] = self.cfg_dict[objid]      # may raise KeyError exception
KeyError: '1-1'

W logach wygląda to tak:
2019-05-22 09:57:12,781 INFO:>>PID<<
2019-05-22 09:57:12,781 INFO:18701
2019-05-22 09:57:12,782 INFO:No customizing file
2019-05-22 09:57:12,782 WARNING:Loading config from file failed
2019-05-22 09:57:12,784 INFO:Running with command parameter: --testrun
2019-05-22 09:57:12,784 INFO:No customizing file
2019-05-22 09:57:14,923 DEBUG:Applying filters
2019-05-22 09:57:14,923 DEBUG:[37, 38]
2019-05-22 09:57:14,923 DEBUG:json elements before: 3
2019-05-22 09:57:14,923 DEBUG:json elements after: 3
2019-05-22 09:57:14,923 DEBUG:Applying filters
2019-05-22 09:57:14,923 DEBUG:[37, 38]
2019-05-22 09:57:14,923 DEBUG:json elements before: 3
2019-05-22 09:57:14,924 DEBUG:json elements after: 3
2019-05-22 09:57:14,925 WARNING:No config found for device: 2
2019-05-22 09:57:14,925 INFO:About to publish MQTT config payload topic: {"command_topic": "homeassistant/light/2-1/switch", "state_topic": "homeassistant/light/2-1/state", "name": "Przedpokoj"}
2019-05-22 09:57:15,226 DEBUG:Publishing topics:
2019-05-22 09:57:15,226 DEBUG:[{'payload': 'OFF', 'topic': 'homeassistant/light/2-1/state'}]
2019-05-22 09:57:15,228 WARNING:No config found for device: 0
2019-05-22 09:57:15,229 INFO:About to publish MQTT config payload topic: {"command_topic": "homeassistant/light/0-1/switch", "state_topic": "homeassistant/light/0-1/state", "name": "Salon 1-2"}
2019-05-22 09:57:15,530 INFO:About to publish MQTT config payload topic: {"command_topic": "homeassistant/light/0-2/switch", "state_topic": "homeassistant/light/0-2/state", "name": "Salon 3"}
2019-05-22 09:57:15,831 DEBUG:Publishing topics:
2019-05-22 09:57:15,831 DEBUG:[{'payload': 'OFF', 'topic': 'homeassistant/light/0-1/state'}, {'payload': 'OFF', 'topic': 'homeassistant/light/0-2/state'}]
2019-05-22 09:57:15,833 WARNING:CONFIG: Unknown Exta Life sensor type: 2. Mapping failed
2019-05-22 09:57:15,833 WARNING:No config found for device: 1


Wcześniej bolał go ściemniacz - usunąłem z kontrolera bo i tak mam z nim problem. Później scena i logika powiązana ze ściemniaczem - usunąłem. Ale teraz zostały mi tylko ROP-21 i ROP-22, przycisk RNK-22 + czujnik temperatury oraz pilot 2-kanałowy, który realizuje 2 sceny: wyjście z domu - zgaś wszystkie światła, wejście do domu - zapal wybrane światła. Ot cała konfiguracja.

Pytanie co go boli i jak to ugryźć.
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

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #16 dnia: Maja 22, 2019, 10:35:29 »
Przyjrzę się temu w wolnej chwili, ale uprzedzam, że to może potrwać parę dni, bo ciasno u mnie ostatnio z czasem.
Napisz dokładnie jakie urządzenia Exta Life masz sparowane z kontrolerem.

Ale tak na szybko - w logu widzę jedną podejrzana rzecz
Cytuj
CONFIG: Unknown Exta Life sensor type
. Być możę to jest problem. Wygląda jakbyś miał jakiś czujnik, którego skrypt nie obsługuje.
Spróbuj w pliku ExtaLife_HA.py w linii 89 zrobić zmianę - zamień [4,20,21]na[2,4,20,21]. Chodzi o dodanie cyfry 2. Być może to sensor z twojego RNK.
Zrób zmianę i daj znać czy pomogło. Jak nie to jeszcze dokładniej się temu przyglądnę.
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: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #17 dnia: Maja 22, 2019, 10:49:48 »
dodanie "2" pomogło :) testrun przechodzi. Walczę dalej.

2019-05-22 10:48:52,848 INFO:Running with command parameter: --testrun
2019-05-22 10:48:52,848 INFO:No customizing file
2019-05-22 10:48:54,989 DEBUG:Applying filters
2019-05-22 10:48:54,990 DEBUG:[37, 38]
2019-05-22 10:48:54,990 DEBUG:json elements before: 3
2019-05-22 10:48:54,990 DEBUG:json elements after: 3
2019-05-22 10:48:54,990 DEBUG:Applying filters
2019-05-22 10:48:54,990 DEBUG:[37, 38]
2019-05-22 10:48:54,990 DEBUG:json elements before: 3
2019-05-22 10:48:54,991 DEBUG:json elements after: 3
2019-05-22 10:48:54,992 WARNING:No config found for device: 2
2019-05-22 10:48:54,992 INFO:About to publish MQTT config payload topic: {"state_topic": "homeassistant/light/2-1/state", "command_topic": "homeassistant/light/2-1/switch", "name": "Przedpokoj"}
2019-05-22 10:48:55,293 DEBUG:Publishing topics:
2019-05-22 10:48:55,293 DEBUG:[{'topic': 'homeassistant/light/2-1/state', 'payload': 'OFF'}]
2019-05-22 10:48:55,295 WARNING:No config found for device: 0
2019-05-22 10:48:55,295 INFO:About to publish MQTT config payload topic: {"state_topic": "homeassistant/light/0-2/state", "command_topic": "homeassistant/light/0-2/switch", "name": "Salon 3"}
2019-05-22 10:48:55,596 INFO:About to publish MQTT config payload topic: {"state_topic": "homeassistant/light/0-1/state", "command_topic": "homeassistant/light/0-1/switch", "name": "Salon 1-2"}
2019-05-22 10:48:55,897 DEBUG:Publishing topics:
2019-05-22 10:48:55,898 DEBUG:[{'topic': 'homeassistant/light/0-2/state', 'payload': 'OFF'}, {'topic': 'homeassistant/light/0-1/state', 'payload': 'OFF'}]
2019-05-22 10:48:55,899 WARNING:No config found for device: 1
2019-05-22 10:48:55,900 INFO:About to publish MQTT config payload topic: {"state_topic": "homeassistant/sensor/1-1/state", "name": "Salon", "unit_of_measurement": "\u00b0C"}
2019-05-22 10:48:56,175 DEBUG:Publishing topics:
2019-05-22 10:48:56,177 DEBUG:[{'topic': 'homeassistant/sensor/1-1/state', 'payload': '23.8'}]

czyli sensor 2 to czujnik temperatury z RNK-22

zauważyłem też kolejny warning:
# ./start_exta2ha.sh --filediscovery
/home/rootmr/HA/ExtaLife_HA.py:574: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  self.cfg_dict = yaml.load(cfg_file)
« Ostatnia zmiana: Maja 22, 2019, 10:59:38 wysłana przez shibby »
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

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #18 dnia: Maja 22, 2019, 11:06:41 »
OK, to wypuszczę w najbliższych dniach poprawkę skryptu z dodaniem tego sensora. Postaram się też zrobić zmiany, aby skrypt był odporny na nieobsługiwane urządzenia. Nie powinien się wykrzaczać, tylko zignorować nieznane urządzenie i działać dalej. W przeciwnym przypadku nie będzie działał, gdy ktoś kupi jakiś nowy element Zamela, którego skrypt jeszcze nie obsługuje.
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: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #19 dnia: Maja 22, 2019, 11:39:31 »
dzięki i cieszę się, że mogłem pomóc.

Udało mi się odpalić HA, nawet pojawiły się czujniki i odbiorniki ale pojawiły się dopiero po skonfigurowaniu integracji MQTT: 127.0.0.1:1883, bez login i hasła, z zaznaczoną opcją wygrywania. Gdy teraz wejdę w tą integrację to pokazuje mi "Ta integracja nie ma żadnych urządzeń.". Pytanie czy tak ma być, bo nie widzę o tym wzmianki w opisie (albo mi to umknęło).

Mam też problem z "mapą". Za Chiny ludowe nie widzę opcji wczytania jakiegoś rzutu lub przypisania odbiorników, sensorów do pomieszczeń ale to może jeszcze za mało wiem - to moja pierwsza styczność z HA
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

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #20 dnia: Maja 22, 2019, 12:07:31 »
Udało mi się odpalić HA, nawet pojawiły się czujniki i odbiorniki ale pojawiły się dopiero po skonfigurowaniu integracji MQTT: 127.0.0.1:1883, bez login i hasła, z zaznaczoną opcją wygrywania. Gdy teraz wejdę w tą integrację to pokazuje mi "Ta integracja nie ma żadnych urządzeń.". Pytanie czy tak ma być, bo nie widzę o tym wzmianki w opisie (albo mi to umknęło).
Oczywiście - MQTT musi być aktywowane w configuration.yaml. Inaczej HA nie będzie w ogóle obsługiwał tego protokołu.
U mnie w widoku integracji też nie ma moich urządzeń Exta Life. W sumie nie wiem dlaczego, bo inne, która łączą się po WiFi (mam 1 Sonoff'a i jeden moduł na ESP32) tam są i są ich wszystkie encje.
Niemniej jednak to nie problem że ich tam nie ma. To co się liczy to ich widok w widoku encji/stanów - przycisk "< >" w menu bocznym w GUI. Tam ich poszukaj. Powinny tam się pojawić. Jeśli ich nie ma to prawddopodobnie niepoprawnie ustawiłeś konfigurację MQTT w HA i HA oczekuje innego prefiksu dla komunikatów MQTT od skryptu.

Cytuj
Mam też problem z "mapą". Za Chiny ludowe nie widzę opcji wczytania jakiegoś rzutu lub przypisania odbiorników, sensorów do pomieszczeń ale to może jeszcze za mało wiem - to moja pierwsza styczność z HA
Mapa nie działa out of the box. Nie jest oficjalnie częścią HA, ale są oczywiście rozszerzenia społeczności. Polecam ci odwiedzić ten wątek.
Generalnie HA podoba mi się coraz bardziej. Czytałem o planach na ten rok i w wersji 1.0 będzie jeszcze przyjaźniejszy w obsłudze, a plany co do współpracy z producentami sprzętu i certyfikowaniu integracji z nimi brzmią po prostu rewelacyjnie. To oznaca dla użytwkonikó, że system będzie działał po prostu dobrze i stabilnie ze sprzętem danego producenta.
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: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #21 dnia: Maja 23, 2019, 08:04:41 »
przyszedł mi nowy ściemniacz, podpiąłem, działa z HA bardzo ładnie. Przyjemna sprawa, że można sparować ściemniacz (bez scen czy logiki) z przyciskiem RNK-22 i za jego pomocą rozjaśniać i ściemniać (poprzez przytrzymanie) a nie tylko włączać/wyłączać.

Za około tydzień będę miał kolejne pastylki i przycisk 4-kanałowy RNK-24. Dam znać czy zostanie wykryty przez skrypt poprawnie czy będzie nowe ID sensora.
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

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #22 dnia: Maja 23, 2019, 14:47:35 »
przyszedł mi nowy ściemniacz, podpiąłem, działa z HA bardzo ładnie. Przyjemna sprawa, że można sparować ściemniacz (bez scen czy logiki) z przyciskiem RNK-22 i za jego pomocą rozjaśniać i ściemniać (poprzez przytrzymanie) a nie tylko włączać/wyłączać.
Elementy, które posiadam (zobacz moją stopkę) powinny działać dobrze z HA. Testowane na sobie codziennie od 6 miesięcy :)
A co do parowania ściemniacza z RNK - tu zgoda - Zamel ma niekiedy dobre pomysły, tylko gorzej z ich wykonaniem. Gdybym znalazł odpowiednik nadajnika puszkowego na Z-Wave to już pozbyłbym się klocków Exta Life, ale niestety nie znalazłem takich elementów.
Cytuj
Za około tydzień będę miał kolejne pastylki i przycisk 4-kanałowy RNK-24. Dam znać czy zostanie wykryty przez skrypt poprawnie czy będzie nowe ID sensora.
Tak jak powyżej - RNK-24 (a w zasadzie jego czujnik temperatury) będzie działać na 100% poprawnie ze skryptem. Sam używam, więc nie przewiduję z tym problemów u ciebie. RNK-22 to było moje ewidentne przeoczenie.
Gdybyś się natomiast wyposażył np w SLR-21/22 to daj znać, bo tego skrypt nie obsługuje, a nie znam dokładnych id tych urządzeń i info z loga byłoby pomocne, aby je zaimplementować.
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: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #23 dnia: Maja 24, 2019, 13:57:21 »
SLR nie planuję, przynajmniej na razie, gdyż nie mam żadnym ledów RGB u siebie. Planuję natomiast kupić głowice termostatyczne do grzejników ale to tak za miesiąc/dwa... Po instalacji kolejnych pastylek dopuszkowych czeka mnie wymiana wszystkich przycisków z monostabilnych na bistabilne, bo obecne zaczynają mnie irytować ;)
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

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #24 dnia: Maja 24, 2019, 16:28:31 »
SLR nie planuję, przynajmniej na razie, gdyż nie mam żadnym ledów RGB u siebie.
Zdaje się, że jeden SLR jest do RGB a drugi do zwykłych LED - chodzi o zasilanie i ściemnianie.
Cytuj
Planuję natomiast kupić głowice termostatyczne do grzejników ale to tak za miesiąc/dwa...
Obsługi głowic niestety nie dodam do skryptu, gdyż byłoby z tym trochę roboty, a bez dostępu do takiego urządzenia ciężko będzie to jakoś testować. Potrzebne byłyby komendy wysyłane przez aplikację, a bez sprzętu tego nie sprawdzę. Musiałbym też obadać jaka encja w HA mogłaby to reprezentować - może Climate, ale pewności nie ma. Na pewno nie dałoby się wszystkich feature'rów głowicy przenieść do HA. Harmonogramy to najlepszy przykład. Samą bieżącą temperatury to jeszcze jeszcze.
Tak czy owak potrzebne będzie uodpornienie skryptu na nieznane urządzenia. Sama głowica pewnie zostanie zignorowana, ale sensor temperatury głowicy już nie. Jak znajdę czas to popracuję nad skryptem trochę.
Cytuj
Po instalacji kolejnych pastylek dopuszkowych czeka mnie wymiana wszystkich przycisków z monostabilnych na bistabilne, bo obecne zaczynają mnie irytować ;)
Ale lepiej jak będziesz miał monostabilne - takie są preferowane do takich systemów, gdzie sterowanie najczęściej jest impulsem lub zmianą stanu. Dla pewności - monostabilne to typowo "dzwonkowe' łączniki
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: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #25 dnia: Maja 30, 2019, 08:28:32 »
Ale lepiej jak będziesz miał monostabilne - takie są preferowane do takich systemów, gdzie sterowanie najczęściej jest impulsem lub zmianą stanu. Dla pewności - monostabilne to typowo "dzwonkowe' łączniki

teraz mam bardzo standardowe Simony (przełącznik góra/dół) i żeby działało poprawnie musiałem w Zamelu na odbiorniku ustawić typ Monostabilny. Jak dla przykładu włączę światło przyciskiem, następnie wyłączę z aplikacji lub pilotem, to po ponownym wejściu do pokoju przełączam włącznik i nic się nie dzieje, bo dopiero przyciskiem wróciłem do pozycji "wyłączony", zatem muszę go przełączać 2x co jest irytujące.

Zamówiłem więc Simony 54 Premium (wczoraj przyszły, dziś będę montował) i są właśnie "dzwonkowe" i z tego co rozumiem, żeby działały poprawnie w Zamelu będę musiał zmienić typ wejścia na odbiornikach na bistabilny.
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

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #26 dnia: Maja 31, 2019, 10:58:41 »
Ale lepiej jak będziesz miał monostabilne - takie są preferowane do takich systemów, gdzie sterowanie najczęściej jest impulsem lub zmianą stanu. Dla pewności - monostabilne to typowo "dzwonkowe' łączniki

teraz mam bardzo standardowe Simony (przełącznik góra/dół) i żeby działało poprawnie musiałem w Zamelu na odbiorniku ustawić typ Monostabilny. Jak dla przykładu włączę światło przyciskiem, następnie wyłączę z aplikacji lub pilotem, to po ponownym wejściu do pokoju przełączam włącznik i nic się nie dzieje, bo dopiero przyciskiem wróciłem do pozycji "wyłączony", zatem muszę go przełączać 2x co jest irytujące.

Zamówiłem więc Simony 54 Premium (wczoraj przyszły, dziś będę montował) i są właśnie "dzwonkowe" i z tego co rozumiem, żeby działały poprawnie w Zamelu będę musiał zmienić typ wejścia na odbiornikach na bistabilny.
Akurat kwestię łączników Zamel rozwiązał dość dobrze (ale dopiero od roku, bo na początku działało tylko z dzwonkowymi). Typ łącznika można konfigurować. Do zwykłych SImonów trzeba ustawić bistabilny, wtedy każde przełączenie (dół lub góra) będzie zmieniało stan odbiornika. Natomiast do Twojego Simona 54 będziesz musiał zmienić typ łącznika na Monostabilny.
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: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #27 dnia: Września 16, 2019, 12:49:08 »
Jakiś czas temu testowo odpaliłem integrację na czystym debianie. Teraz chciałbym przenieść do na NASa: Netgear ReadyNAS Pro4, pod spodem Debian Jessie (doinstalowany przez apt-get python3 i doinstalowane przez pip3 moduły pyyaml paho-mqtt unidecode), w dockerze zaś homeassistant i mosquito.

Do HA dodana integracja MQTT, plik config.py zawiera poprawne dane. Próba uruchomienia skryptu kończy się błędem:
root@nas:/apps/docker-root/homeassistant/scripts# ./start_exta2ha.sh --testrun
Traceback (most recent call last):
  File "main_exta2ha.py", line 27, in <module>
    from ExtaLife_HA import ExtaLifeTCPStream
  File "/apps/docker-root/homeassistant/scripts/ExtaLife_HA.py", line 391
    cfg_ret = {**self.cfg_dict[ha_object_id[chn]]}
                ^
SyntaxError: invalid syntax

Prośba o pomoc.

PS Wczoraj zamontowałem dwie głowice RGT-01. Nie wiem czy to nie jest problemem...
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

  • *****
  • 1644
  • Twórca i moderator forum
    • Zobacz profil
    • Forum ExtaLife
Odp: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #28 dnia: Września 16, 2019, 13:48:12 »
@shibbby ten błąd wygląda mi raczej na problem ze zrozumieniem kodu przez interpreter Python. Czy zmieniałeś coś w pliku start_exta2ha.sh? Chodzi mi o to czy skrypt jest na pewno uruchamiany przez python 3 a dokładnie minimum 3.5?? Wstawianie / dodawanie elementów zmiennej typu dictionary do innej zmiennej typu dictionary jest wspierane dopiero od wersji Python 3.5. Między innymi dlatego moje skrypty wymagają Pythona minimum 3.5

Postaram się w najbliższym czasie wypuścić wersję skryptów uodpornioną na nowe, nieznane moduły. Jednak w mojej ocenie ten błąd, który się u ciebie pojawia to nie problem z nieznanym modułem, a właśnie wersją pythona którą posiadasz. Sprawdź proszę
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: Pakiet integracyjny Exta Life <-> Home Assistant
« Odpowiedź #29 dnia: Września 16, 2019, 14:30:33 »
a widzisz.... zainstalowałem "python3" i przez myśl mi nie przeszło, że w jessie`m jest wersja 3.4 i stąd problemy.

Postawiłem się pythona 3.6 w dockerze. Musiałem zrobić własny obraz by doinstalować brakujące moduły

root@nas:/apps/docker-root/homeassistant/scripts/docker# docker build -t python-ha .
Sending build context to Docker daemon  2.048kB
Step 1/3 : FROM python:3.6-stretch
 ---> 36509c62ad26
Step 2/3 : WORKDIR /scripts
 ---> Running in fda2b4d14805
Removing intermediate container fda2b4d14805
 ---> a2d0c93bd38e
Step 3/3 : RUN pip install --no-cache-dir pyyaml paho-mqtt unidecode
 ---> Running in 11c06795ca5c
Collecting pyyaml
  Downloading https://files.pythonhosted.org/packages/e3/e8/b3212641ee2718d556df0f23f78de8303f068fe29cdaa7a91018849582fe/PyYAML-5.1.2.tar.gz (265kB)
Collecting paho-mqtt
  Downloading https://files.pythonhosted.org/packages/25/63/db25e62979c2a716a74950c9ed658dce431b5cb01fde29eb6cba9489a904/paho-mqtt-1.4.0.tar.gz (88kB)
Collecting unidecode
  Downloading https://files.pythonhosted.org/packages/d0/42/d9edfed04228bacea2d824904cae367ee9efd05e6cce7ceaaedd0b0ad964/Unidecode-1.1.1-py2.py3-none-any.whl (238kB)
Building wheels for collected packages: pyyaml, paho-mqtt
  Building wheel for pyyaml (setup.py): started
  Building wheel for pyyaml (setup.py): finished with status 'done'
  Created wheel for pyyaml: filename=PyYAML-5.1.2-cp36-cp36m-linux_x86_64.whl size=415539 sha256=b856aa9ddb1ea26dc5f23979654f3713ddff028fb090276750e8c3875a4913a8
  Stored in directory: /tmp/pip-ephem-wheel-cache-gvfw5xex/wheels/d9/45/dd/65f0b38450c47cf7e5312883deb97d065e030c5cca0a365030
  Building wheel for paho-mqtt (setup.py): started
  Building wheel for paho-mqtt (setup.py): finished with status 'done'
  Created wheel for paho-mqtt: filename=paho_mqtt-1.4.0-cp36-none-any.whl size=48331 sha256=43e3fd53030a8293ee6a78c6c236941c60ad2cf68485bb329c50fa7a3057f467
  Stored in directory: /tmp/pip-ephem-wheel-cache-gvfw5xex/wheels/82/e5/de/d90d0f397648a1b58ffeea1b5742ac8c77f71fd43b550fa5a5
Successfully built pyyaml paho-mqtt
Installing collected packages: pyyaml, paho-mqtt, unidecode
Successfully installed paho-mqtt-1.4.0 pyyaml-5.1.2 unidecode-1.1.1
Removing intermediate container 11c06795ca5c
 ---> 19af89d87b1d
Successfully built 19af89d87b1d
Successfully tagged python-ha:latest

Teraz wysypuje się na
root@nas:/apps/docker-root/homeassistant/scripts# docker run -it --rm --name python3 -v /apps/docker-root/homeassistant/scripts:/scripts python-ha:latest python /scripts/main_exta2ha.py --testrun
Traceback (most recent call last):
  File "/scripts/main_exta2ha.py", line 196, in <module>
    prog.main()
  File "/scripts/main_exta2ha.py", line 181, in main
    self.ha_mqtt.ha_update_state_from_device(device)
  File "/scripts/ExtaLife_HA.py", line 742, in ha_update_state_from_device
    cfg_dict = self.HAConfig.get_from_device(i_device)
  File "/scripts/ExtaLife_HA.py", line 552, in get_from_device
    cfg_dict[objid] = self.cfg_dict[objid]      # may raise KeyError exception
KeyError: '13-1'

log:
2019-09-16 12:25:00,936 WARNING:CONFIG: Unknown Exta Life device. Mapping failed. Device Category: 1, Type: 16
2019-09-16 12:25:00,937 WARNING:No config found for device: 13

i to pewnie moje nieszczęsne głowice...

PS zauważyłem, że w opublikowanym skrypcie brakuje wsparcia dla sensora temperatury z RNK-22 - to co wcześniej rozmawialiśmy czyli e ExtaLife_HA.py w linii 89 dodać 2.
« Ostatnia zmiana: Września 16, 2019, 14:42:24 wysłana przez shibby »
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