Oby to oznaczało kolejny okres stabilności
Niestety… mam dwa czujniki ruchu Sonoff na Zigbee jeden w kuchni, drugi w łazience - po wykryciu ruchu zapalają światło w łazience i kuchni na określony czas. W automatyzacji wykorzystane są włączniki Sonoff na Wifi. Niestety teraz to działa bardzo niestabilnie raz światło się zapala a za chwilę już nie… tak samo żarówka Ikea Tradfrii na korytarzu jak już się zapali to nie zawsze wyłącza się po czasie …
No i wszystko co dobre kiedyś się kończy
Od wczoraj wieczora integracja Zigbee2MQTT zaczęła wariować
Komunikacja pomiędzy urządzeniami na Conbee II jest, wszystko widać na podglądzie w brokerze MQTT a także na panelu zigbee2mqtt, działa sterowanie gniazdkami z panelu i z MQTT, statusy w panelu i w MQTT aktualne a encje w AIS świrują. A przede wszystkim to prawie wszystkie encje mają nieznany status, a sterujące przekaźnikami nie sterują nimi. Wszystkie czujniki o 5 rano dostały sygnał encja niedostępna i poustawiały się w stan zamknięte a poziom baterii jest nieznany. Zmiany stanu nie mają odzwierciedlenia w encjach.
Co mogło się złego wydarzyć?
Restart usługi zigbee2mqtt nie pomaga. Restart HA nie pomaga. Wyciągnięcie i włożenie z powrotem Conbee nie pomaga. Restart całej bramki też nie pomaga.
Jakieś pomysły?
Na podstawie tego można powiedzieć, że jest jakiś problem w komunikacji AIS z brokerem MQTT. Czy inne urządzenia zintegrowane przez MQTT również “swirują”?
Nie. Supla działa OK i encje Supli też.
Co ciekawe dotyczy to chyba tylko zapamiętania stanu danego urządzenia…
Mam gniazdko, którego stan encji pokazuje wyłączone (pomimo, że jest włączone). Po kliknięciu włącz w AIS jest wysyłany komunikat do MQTT set=ON. Jeśli akurat stan jest OFF to gniazdko się włącza, jeśli ma już stan ON to pozostaje ON. Ale w AIS encja wraca do stanu OFF, czyli nie odczytuje z MQTT potwierdzenia tego stanu.
A może działa nadal publikowanie a przestała działać subskrypcja?
Sprawdziłem większość urządzeń. Wszystkie stany odwzorowywane są na MQTT. A tylko z jednego urządzenia aktualizuje się stan encji w AIS, pozostałe encje się nie aktualizują.
A czy chociaż ktoś mógłby dać nadzieję, że ponowna zabawa z 32 urządzeniami przy wywaleniu wszystkiego i ustawieniu od nowa da jakiś rezultat czy to tylko zmarnowany czas będzie? A może ktoś zna jakąś drogę na skróty? Trochę mi doskwiera brak działania urządzeń zigbee z konsoli AIS
Dodaj przy urządzeniach retain i zobacz czy pomoglo
'0x00158d000422fde9':
friendly_name: '0x00158d000422fde9'
retain: true
Jak nie to musisz wszystko opisać, pokazać mqtt, z2m, konfigurację żeby można było dojść co masz źle… Bo coś ewidentnie jest.
Po zmianie konfiguracji i restarcie zigbee2mqtt dostałem coś takiego w logach
2|ais | 2021-08-24 23:40:25 INFO (MainThread) [homeassistant.components.mqtt.mixins] Ignoring unchanged update for: binary_sensor.okno_na_dach_contact
2|ais | 2021-08-24 23:40:25 INFO (MainThread) [homeassistant.components.mqtt.mixins] Got update for entity with hash: ('binary_sensor', '0x00124b0022d33571 battery_low') '{'availability': [{'topic': 'zigbee2mqtt/bridge/state'}], 'device': {'identifiers': ['zigbee2mqtt_0x00124b0022d33571'], 'manufacturer': 'SONOFF', 'model': 'Contact sensor (SNZB-04)', 'name': 'ZBK27_0x00124b0022d33571', 'sw_version': 'Zigbee2MQTT 1.20.0'}, 'device_class': 'battery', 'json_attributes_topic': 'zigbee2mqtt/ZBK27_0x00124b0022d33571', 'name': 'ZBK27_0x00124b0022d33571_battery_low', 'payload_off': False, 'payload_on': True, 'state_topic': 'zigbee2mqtt/ZBK27_0x00124b0022d33571', 'unique_id': '0x00124b0022d33571_battery_low_zigbee2mqtt', 'value_template': '{{ value_json.battery_low }}', 'platform': 'mqtt'}'
2|ais | 2021-08-24 23:40:25 INFO (MainThread) [homeassistant.components.mqtt.mixins] Ignoring unchanged update for: binary_sensor.okno_na_dach_battery_low
2|ais | 2021-08-24 23:40:25 INFO (MainThread) [homeassistant.components.mqtt.mixins] Got update for entity with hash: ('sensor', '0x00124b0022d33571 battery') '{'availability': [{'topic': 'zigbee2mqtt/bridge/state'}], 'device': {'identifiers': ['zigbee2mqtt_0x00124b0022d33571'], 'manufacturer': 'SONOFF', 'model': 'Contact sensor (SNZB-04)', 'name': 'ZBK27_0x00124b0022d33571', 'sw_version': 'Zigbee2MQTT 1.20.0'}, 'device_class': 'battery', 'json_attributes_topic': 'zigbee2mqtt/ZBK27_0x00124b0022d33571', 'name': 'ZBK27_0x00124b0022d33571_battery', 'state_class': 'measurement', 'state_topic': 'zigbee2mqtt/ZBK27_0x00124b0022d33571', 'unique_id': '0x00124b0022d33571_battery_zigbee2mqtt', 'unit_of_measurement': '%', 'value_template': '{{ value_json.battery }}', 'platform': 'mqtt'}'
2|ais | 2021-08-24 23:40:25 INFO (MainThread) [homeassistant.components.mqtt.mixins] Ignoring unchanged update for: sensor.okno_na_dach_battery
dla każdego czujnika a w encjach faktycznie nic się nie zmieniło
EDIT:
Zrestartowałem jeszcze raz zigbee2mqtt a potem HA. Wszedłem do panelu i okazało się, że encje się uaktualniły… czary…
Jeszcze jedna sprawa, może dużo kombinowałeś i baza mqtt jest zaśmiecona
Usuń (możesz skopiować w razie czego) w z2m plik database i restart, będzie czysta i urządzenia przy logowaniu się przedstawią, może masz coś poduplikowane.
Jak masz problemy i je rozwiązujesz to restart całej bramki i wtedy patrzysz czy jest dobrze szczególnie jak nie wiesz gdzie jest dokładnie problem.
Restartowałem co się dało
Wydaje mi się że problem był z HA bo po ostatniej aktualizacji wszystko znowu pięknie działa a nic nie robiłem z programowaniem dongla Zigbee… Tylko aktualizacja HA 2021.9.0b8 i Zigbee 1.21.1 do najnowszej wersji.
A u mnie dziś niespodzianka:
4|zigbee | , finished
4|zigbee | You have triggered an unhandledRejection, you may have forgotten to catch a Promise rejection:
4|zigbee | Error: ENOENT: no such file or directory, open 'dist/.hash'
4|zigbee | at Object.openSync (fs.js:462:3)
4|zigbee | at Object.readFileSync (fs.js:364:35)
4|zigbee | at checkDist (/data/data/pl.sviete.dom/files/home/zigbee2mqtt/index.js:61:25)
4|zigbee | at processTicksAndRejections (internal/process/task_queues.js:97:5)
4|zigbee | at async start (/data/data/pl.sviete.dom/files/home/zigbee2mqtt/index.js:69:5)
PM2 | App [zigbee] with id [4] and pid [10879], exited with code [0] via signal [SIGINT]
PM2 | Starting execution sequence in -fork mode- for app name:zigbee id:4
PM2 | App name:zigbee id:4 online
4|zigbee | Building Zigbee2MQTT... (initial build)
4|zigbee | , finished
4|zigbee | You have triggered an unhandledRejection, you may have forgotten to catch a Promise rejection:
4|zigbee | Error: ENOENT: no such file or directory, open 'dist/.hash'
4|zigbee | at Object.openSync (fs.js:462:3)
4|zigbee | at Object.readFileSync (fs.js:364:35)
4|zigbee | at checkDist (/data/data/pl.sviete.dom/files/home/zigbee2mqtt/index.js:61:25)
4|zigbee | at processTicksAndRejections (internal/process/task_queues.js:97:5)
4|zigbee | at async start (/data/data/pl.sviete.dom/files/home/zigbee2mqtt/index.js:69:5)
PM2 | App [zigbee] with id [4] and pid [11917], exited with code [0] via signal [SIGINT]
PM2 | Starting execution sequence in -fork mode- for app name:zigbee id:4
PM2 | App name:zigbee id:4 online
4|zigbee | Building Zigbee2MQTT... (initial build)
Zigbee przestało działać… Czy może kto wskazać w czym jest problem?
Error: ENOENT: no such file or directory, open 'dist/.hash'
EDIT:
Brak komunikatu głosowego przy wyciąganiu i wkładaniu Conbee II do gniazda USB.
Poszło przywracanie z kopii zigbee i po restarcie całej bramki, wyjęciu i włożeniu Conbee II - usługa ruszyła i sieć widoczna. Czyli sukces bez ale poznania przyczyny…
A u mnie co jakiś czas urządzenia Zigbee przestają być dostępne
Chyba się zigbee2mqtt restartuje.
Chyba tu znajdziesz odpowiedź na twój problem:
Więc dołączam się do grona… Aktualizacja z aplikacji asystenta, przebiegła bezproblemowo. Zigbee działało przez jakiś czas prawidłowo, więc uważam, że nadal nie znam przyczyny.