ZHA, Ikea TRADFRI on/off switch, odczyt atrybutów i OTA

Od niedawna posiadam bramkę ESP-POE-MM-v1.0, która na pokładzie ma BLE i Zigbee, Bluetooth śmiga, Zigbee niby też, jednak nie jestem w stanie odczytać atrybutów i wywołać żadnego polecenia.

Przy próbie odczytu chociażby wersji firmware dostaję błąd:

w logach:

Traceback (most recent call last):

File “/usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py”, line 26, in _handle_async_response

await func(hass, connection, msg)

File “/usr/src/homeassistant/homeassistant/components/zha/websocket_api.py”, line 827, in websocket_read_zigbee_cluster_attributes

success, failure = await cluster.read_attributes(

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File “/usr/local/lib/python3.11/site-packages/zigpy/zcl/init.py”, line 524, in read_attributes

result = await self.read_attributes_raw(to_read, manufacturer=manufacturer)

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File “/usr/local/lib/python3.11/site-packages/zigpy/zcl/init.py”, line 377, in request

return await self._endpoint.request(

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File “/usr/local/lib/python3.11/site-packages/zigpy/endpoint.py”, line 253, in request

return await self.device.request(

^^^^^^^^^^^^^^^^^^^^^^^^^^

File “/usr/local/lib/python3.11/site-packages/zigpy/device.py”, line 299, in request

await self._application.request(

File “/usr/local/lib/python3.11/site-packages/zigpy/application.py”, line 825, in request

await self.send_packet(

File “/usr/local/lib/python3.11/site-packages/zigpy_znp/zigbee/application.py”, line 1100, in send_packet

raise DeliveryError(

zigpy.exceptions.DeliveryError: Request failed after 5 attempts: <Status.MAC_NO_ACK: 233>

Próbuję dodać, a moze bardziej używać przyciski z Ikea (on/off i przycisk skrótu).
Niestety encje stają się niedostępne po dodaniu:

Szukajać po forum Home Assistant znalazłem informację, że aktualizacja firmware moze pomóc, jednak przy próbie wywołania aktualizacji wg opisu OTA Device Firmware Updates · zigpy/zigpy Wiki · GitHub (mam wpisy w configuration.yaml) dostaję następujący błąd:


a w logach:

Traceback (most recent call last):

File “/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py”, line 238, in handle_call_service

response = await hass.services.async_call(

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File “/usr/src/homeassistant/homeassistant/core.py”, line 2067, in async_call

response_data = await coro

^^^^^^^^^^

File “/usr/src/homeassistant/homeassistant/core.py”, line 2104, in _execute_service

return await target(service_call)

^^^^^^^^^^^^^^^^^^^^^^^^^^

File “/usr/src/homeassistant/homeassistant/helpers/service.py”, line 986, in admin_handler

await result

File “/usr/src/homeassistant/homeassistant/components/zha/websocket_api.py”, line 1361, in issue_zigbee_cluster_command

await zha_device.issue_cluster_command(

File “/usr/src/homeassistant/homeassistant/components/zha/core/device.py”, line 820, in issue_cluster_command

response = await getattr(cluster, commands[command].name)(

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

File “/usr/local/lib/python3.11/site-packages/zigpy/zcl/init.py”, line 411, in reply

return await self._endpoint.reply(

^^^^^^^^^^^^^^^^^^^^^^^^^^^

File “/usr/local/lib/python3.11/site-packages/zigpy/endpoint.py”, line 278, in reply

return await self.device.reply(

^^^^^^^^^^^^^^^^^^^^^^^^

File “/usr/local/lib/python3.11/site-packages/zigpy/device.py”, line 474, in reply

return await self.request(

^^^^^^^^^^^^^^^^^^^

File “/usr/local/lib/python3.11/site-packages/zigpy/device.py”, line 299, in request

await self._application.request(

File “/usr/local/lib/python3.11/site-packages/zigpy/application.py”, line 825, in request

await self.send_packet(

File “/usr/local/lib/python3.11/site-packages/zigpy_znp/zigbee/application.py”, line 1100, in send_packet

raise DeliveryError(

zigpy.exceptions.DeliveryError: Request failed after 5 attempts: <Status.NWK_NO_ROUTE: 205>

używam ZHA, czytałem o Zigbee2MQTT i zastanawiam się czy przejście na Z2M coś zmieni.
Czy ktoś miał/ma podobne problemy?

Testowem różną odległość przycisków od bramki, od kilku metrów, do przycisku leżącego tuż obok, dodawałem i usuwałem je kilkukrotnie, niestety bez zmian.

Przy rekonfiguracji dostaję taki rezultat:

Co może być przyczyną ew problemów? Czy muszę coś zmienić w ustawianiach ZHA? Czy winą są przyciski IKEA? Testowałem również przyciski MOES, tu również problemy z odczytem atrybutów.

1 polubienie

Fajnie, a co na to autor tego rozwiązania?
Można gdzieś kupić takie bramki? Za ile?

W dokumentacji, którą podlinkowałeś widzę opisaną tylko metodę integracji z Z2M.
W ogóle to ktokolwiek pod ZHA używa koordynatora wykorzystującego streamowanie seriala po Ethernecie?
To jest rozwiązanie identyczne konstrukcyjnie w kwestii kluczowych rozwiązań (ESP+CC2652) do tego w słynnych bramkach Sterniczuka.
(jeśli dobrze pamiętam to tam należało wyłączyć BLE by prawidłowo działało Zigbee, ale to mogły być przejściowe problemy związane z rozwojem zarówno komponentu github://oxan/esphome-stream-server jak i EBP).

Z tego co widzę konfiguracja ZHA powinna być mniej więcej taka
znp
socket://x.x.x.x:1234

PS masz jakieś urządzenia aktywne? przecież w Zigbee nie odpytuje się urządzeń bateryjnych…

PPS na bramce Sterniczuka (ktoś mi ją podesłał kiedyś do obadania) robiłem pod Z2M update firmware jakichś sprzętów ]z Ikei w ramach testów czy wszystko OK jeśli o to pytasz.
Od dawna nie mam ZHA ale kiedyś update firmware urządzeń robiło się zupełnie inaczej niż pokazałeś.

Bramki można kupić od autora (Bartłomiej Fincer) na grupie Home Assistant Polska - Home Assistant Polska | Facebook
Generalnie sama bramka działa bez problemu, jeden przycisk ruszył na jednej instancji (mam dwie bramki i dwie instancje HA, praktycznie 1:1).

Nie mam żadnych aktywnych urządzeń, tylko przyciski (IKEA i MOES).
Nie wiedziałem, że bateryjnych nie odzie odpytać? A sam update oprogramowania?

Mam mało urządzeń (6 przycisków), wiec spróbuję z Z2M, może tam zadziała.

Działa, urządzenie końcowe=bateryjne może wymagać wybudzenia, czyli trzeba kliknąć przyciskiem aby coś zaraportowało, ale nie pociągnę za rękę, bo już nic nie pamiętam, a procedura i tak najwyraźniej się zmieniła (te parę lat temu robiłem to na czuja z braku dokumentacji i jakoś nie stanowiło to problemu).

Update firmware urządzenia bateryjnego trwa nawet kilka godzin, więc jak zaczniesz to już nie grzeb w HA póki się nie skończy.
Teoretycznie jest to procedura w pełni bezpieczna = odporna na zanik zasilania zerwanie transmisji i inne katastrofy, mam jednak w szufladzie urządzenia w których wystąpił błąd podczas aktualizacji i zostały na zawsze na starej wersji.

Oczywiście należy mieć założoną świeżą i sprawną baterię, te z Ikei są beznadziejne, używaj ogniw dowolnego znanego producenta, np. Murata, GP, Panasonic itd. te najbardziej reklamowane marki nie sprzedają ogniw o dobrym stosunku jakości do ceny, w Ikei zawsze mieli bardzo dobre baterie i akumulatory, teraz się to zmieniło, ale i tak z jednym wyjątkiem - CR2032 chyba od zawsze były strasznym szajsem.

NIE używaj testowego serwera Ikei! nie trzeba go specyfikować wcale.

W małej sieci Zigbee można aktualizować równocześnie 3-4 urządzenia, zaleca się jedno, ale jeśli nie masz ruchu w sieci to możesz sobie pozwolić na więcej, aktualizacja sprzętu bateryjnego zajmuje tylko ułamek dostępnego pasma, więc równoczesna aktualizacja kilku egzemplarzy nie spowalnia pojedynczego procesu.
W sumie w przypadku routerów też aktualizowałem o kilka naraz - ale w przypadku urządzeń zasilanych sieciowo aktualizacje są znacznie szybsze - zwykle kilkanaście-kilkadziesiąt minut.

I jeszcze jedno - rozsądek to podstawa - nie kładź pilota pzry samej bramce - zbyt wysoki sygnał RF jest równie zły co za słaby.

Naprawdę używasz obu instalacji?
Może w jednej z nich możesz poeksperymentować z Z2M? - tu przynajmniej OTA jest w oczywistym GUI

Wczoraj dla testu wyciągnąłem żarówkę Aqara = Xiaomi Lumi ZNLD12LM z kartonu (jest na sprzedaż jeśli ktoś chętny).


dostała nową funkcję - zapamiętania stanu na wypadek zaniku zasilania

a tu obrazek z OTA urządzenia bateryjnego.


To do bani - nie będę się wiązał z FB tylko po to by tam zajrzeć…
a za ile?

250 zł + wysyłka, w cenie FV, we Wrocławiu odbiór osobisty.

Próbowałem odczytywać atrybuty jednocześnie używając przycisków (przycisk mam spięty z roletą poprzez automatyzację), roleta jeździła góra dół, a atrybutów jak nie szło tak nie idzie odczytać niestety.

Jedna instancja jest u mnie , a drugą uruchamiam u szwagra :slight_smile:

Taką samą sytuację miałem z Sonoff ZBDongle-P, tzn nie szło odczytać atrybutów i wywołać poleceń.

Ok, to robię backup i zabieram się za Zigbee2MQTT.

Urządzenie bateryjne raportuje stan samo z siebie, nie możesz go odpytywać.

W ogóle to sprawdź możliwości danego urządzenia w bazie, bo nawet urządzeń zasilanych sieciowo nie o wszystko można pytać.

i w

niestety ZHA nie ma podobnej bazy, ale jeśli w bazie Z2M masz opisane jakieś funkcje, to będą one działać analogicznie w ZHA tylko oczywiście pod warunkiem, że będzie ono obsługiwane w pełni w ZHA

Jeśli nie działa jak należy = nie jest w pełni obsługiwane = potrzebujesz quirks lub czasu aż ktoś dorobi obsługę oficjalną.

Generalnie jeśli masz urządzenie które powinno być obsługiwane a nie działa jak należy, to powinieneś je usunąć z sieci Zigbee i dodać ponownie tak by się zmieścić w okienku czasowym 4 minuty od momentu włączenia parowania w koordynatorze, jeśli nie robisz tego szybko i sprawnie to wywiad się nie uda - trzeba uruchomić parowanie natychmiast po włączeniu parowania w koordynatorze.
Czasem trzeba pobudzać urządzenia bateryjne w trakcie wywiadu - jak? zgodnie z rozsądkiem, czasem chodzi o krótkie wciśnięcia klawisza parowania czasem o zwyczajne wciskanie jakiegoś standardowego przycisku. To dotyczy tylko tych urządzeń które potrafią przysnąć w trakcie wywiadu.

1 polubienie

Uruchomiłem Zigbee2MQTT, różni się od ZHA i niestety mam blueprint’y do przerobienia, ale to już drobnostka.
Generalnie udało mi się wpiąć przyciski MOES i IKEA.
Z IKEA miałem dziwny objaw, bo pryz parowaniu urządzenie co chwila odłączało się i pojawiało ponownie, ale w końcu zaskoczyło (po ok 20 próbie).
Udało mi się również zrobić aktualizację oprogramowania w przycisku IKEA.

Z2M generalnie bardzo długo się uruchamia, mam DELL 5070 i na nim bezpośrednio zainstalowany HAOS i Z2M potrzebuje ok 5 minut na uruchomienie.
Z2M używam od wczoraj i nie wiem czy może to kwestia konfiguracji, czy po prostu tak ma.

Ujmę to tak - bardzo dziwne, zabiłeś/wyłączyłeś ZHA i je ewentualnie zignorowałeś?
5 minut to wręcz niemożliwe, chyba musisz mieć gdzieś zwaloną konfigurację…
10 sekund przy śmiesznie małej sieci uznałbym za normalne - zrestartowałem instalację testową i patrz na to

[13:40:34] INFO: Preparing to start...
[13:40:34] INFO: Socat not enabled
[13:40:35] INFO: Starting Zigbee2MQTT...
Zigbee2MQTT:info  2024-01-04 13:40:40: Logging to console and directory: '/config/zigbee2mqtt/log/2024-01-04.13-40-40' filename: log.txt
Zigbee2MQTT:info  2024-01-04 13:40:40: Starting Zigbee2MQTT version 1.35.0 (commit #unknown)
Zigbee2MQTT:info  2024-01-04 13:40:40: Starting zigbee-herdsman (0.30.0)
Zigbee2MQTT:info  2024-01-04 13:40:41: zigbee-herdsman started (resumed)
Zigbee2MQTT:info  2024-01-04 13:40:41: Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20230716,"transportrev":2},"type":"zStack3x0"}'
Zigbee2MQTT:info  2024-01-04 13:40:41: Set transmit power to '-5'
Zigbee2MQTT:info  2024-01-04 13:40:41: Currently 11 devices are joined:

instalacje HA mam na sprzęcie starszych generacji niż Wyse 5070, tak swoją drogą sama informacja, że to 5070 wcale nie definiuje jaki masz sprzęt, bo 5070 występował w przynajmniej kilku różnych wersjach

Normalnie to pytam o wykorzystanie zasobów w takich okazjach, konfigurację z wątku poniżej trzeba oczywiście dostosować do tego Wyse

edit - jeśli sobie podniosłeś HA na styczniową wersję, to zapomnij o linku powyżej
zamiast tego musisz użyć nowej dokumentacji

może masz zainstalowany talerzowy hdd zamiast ssd?

Nawet biorę pod uwagę, to że masz koordynator podpięty po sieci.
Zakładam, że oczywiście HA masz wpięty kablem Ethernet i koordynator też i żadne WiFi tu po drodze nie występuje, a między kontenerami łączysz się w sieci dockera i nie wychodzisz z lokalnym ruchem gdzieś na zewnątrz

PS tak w ogóle to okaż swoją konfigurację i screenshoty traktuj tylko jako narzędzie pomocnicze

wracam po szpitalu do tematu, wybaczcie przerwę.
Wyze 5070 ma dysk eMMC, ja ma mu siebie 32GB.

ZHA mam wywalone całkowicie, zostało tylko Zigbee2MQTT.
Po reinstalacji addon’a tak wyglądają logi z restartu:

[11:40:40] INFO: Preparing to start...
[11:40:40] INFO: Socat not enabled
[11:40:41] INFO: Starting Zigbee2MQTT...
Zigbee2MQTT:info  2024-01-11 11:40:44: Logging to console and directory: '/config/zigbee2mqtt/log/2024-01-11.11-40-44' filename: log.txt
Zigbee2MQTT:info  2024-01-11 11:40:44: Starting Zigbee2MQTT version 1.35.1 (commit #unknown)
Zigbee2MQTT:info  2024-01-11 11:40:44: Starting zigbee-herdsman (0.30.0)
Zigbee2MQTT:info  2024-01-11 11:40:47: zigbee-herdsman started (resumed)
Zigbee2MQTT:info  2024-01-11 11:40:47: Coordinator firmware version: '{"meta":{"maintrel":1,"majorrel":2,"minorrel":7,"product":1,"revision":20230507,"transportrev":2},"type":"zStack3x0"}'
Zigbee2MQTT:info  2024-01-11 11:40:47: Currently 4 devices are joined:
...
Zigbee2MQTT:info  2024-01-11 11:40:47: MQTT publish: topic 'zigbee2mqtt/MOES Scene Switch 1', payload '{"action":null,"battery":100,"linkquality":36,"voltage":3000}'
Zigbee2MQTT:info  2024-01-11 11:40:47: MQTT publish: topic 'zigbee2mqtt/IKEA TRADFRI ON/OFF switch w biurze', payload '{"action":null,"battery":20,"linkquality":98,"update":{"installed_version":604241926,"latest_version":604241926,"state":"idle"},"update_available":null}'
Zigbee2MQTT:info  2024-01-11 11:40:47: MQTT publish: topic 'zigbee2mqtt/MOES Scene Switch 4', payload '{"action":null,"battery":100,"linkquality":58,"voltage":3000}'
Zigbee2MQTT:info  2024-01-11 11:40:47: MQTT publish: topic 'zigbee2mqtt/IKEA TRADFRI Shortcut Button', payload '{"action":null,"battery":100,"linkquality":83,"update":{"installed_version":604241926,"latest_version":604241926,"state":"idle"},"update_available":null}'
Zigbee2MQTT:info  2024-01-11 11:40:47: Zigbee2MQTT started!

więc teraz ok 7 sekund.
wczesniej grzebałem po opcjach, teraz mam wszyskto na default’ach.

Tak wygląda zużycie procesora:


a tak ramu:

Jeśli chodzi o konfigurację, to mam kilka integracji:

zero skryptów, kilkanaście automatyzacji i to w sumie tyle.
Dopiero zaczynam zabawę z blueprintami, automatyzacjami, na resztę przyjdzie czas.

Wyse 5070 występuje w różnych konfiguracjach sprzętowych, 32GB eMMC sugeruje mocniejszy procek (ale jaki?).

Nie wiadomo ile masz RAMu, nie wiadomo jaka metoda instalacji HA.

O ile obciążenie procesora pokazałeś procentowo, to RAM już w wartościach bezwzględnych (gdybyśmy znali parametry sprzętu i/lub VM oraz sposób instalacji, to może by wartość bezwzględna wystarczyła, ale lepiej podać za dużo danych diagnostycznych niż za mało), nie pokazałeś wcale swapa.

Jakkolwiek systematycznie rosnące wykorzystanie RAM może świadczyć o wycieku pamięci w jakimś komponencie.
Używasz HACS, więc na pierwszy ogień idą komponenty niestandardowe (kumulacja - w jednym z nich masz błędy).

cdn. (też mi zdrowie radykalnie wysiadło i nie mam siły napisać całego posta naraz).

1 polubienie