Brak encji urządzeń z zigbee2mqtt

Postanowiłem, ze odinstaluję Mosquitto brokera, Zigbee2mqtt. Oczywiście Zigbee Home Automation (ZHA) wyłączyłem i odinstalowałem już na samym początku.
Więc od początku:

  • instaluję Mosquitto brokera, urachamiam go. W konfiguracji mam
logins: []
require_certificate: false
certfile: fullchain.pem
keyfile: privkey.pem
customize:
  active: false
  folder: mosquitto

Wchodzę w jego konfigurację w zakładce Urządzenia oraz Usługi, Konfiguracja, Ponownie Skonfiguruj MQTT, kopiuję sobie ten kod

  • instaluję Zigbee2MQTT, wchodzę w jego konfigurację i mam tam
data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt: {}
serial: {}

W kilku poradnikach widziałem, że wpis ten powinien być inny. Brakuje network key`sów.


brakuje też tu wpisów user i password.
na razie uzupełniam o:

data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt: {}
serial:
  port: >-
    /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2674587-if00
  adapter: deconz

Urochamiam.
Wszystko OK. Mogę dodawać urządzenia, są encje !
Więc temat właściwie zamknięty, ale (tak juz z czystej ciekawości)
Dla czego nie mam tego wpisu rozbudowanego o network keysy, login i hasło
(a wszystko chodzi)

Dziękuję za dotychczasową pomoc.

Na moje ok, nie jestem specjalistą i mogę się mylić.


login i hasło pobiera z addons MQTT

U mnie pusto. Ale póki co chodzi.

Nie, homeassistant to jest zastrzeżony użytkownik systemowy, nie powinieneś go wykorzystywać do niczego innego oprócz Integracji MQTT w HA (oraz ewentualnie innych sytuacji, gdy zostanie automagicznie użyty, ale ja nie znam innego zastosowania niż połączenie MQTT z HA), użytkownik addons (również automagicznie konfigurowany) jest tym którego powinny wykorzystywać Dodatki (w szczególności mam na myśli Z2M, bo wtedy to jest połączenie między Z2M a MQTT, daje to brokerowi podstawową możliwość rozróżnienia czy klientem MQTT jest HA czy jakiś Dodatek).

W tym całym wydarzeniu jakim jest obsługa Zigbee za pomocą Zigbee2MQTT w HA biorą udział 3 osobne serwery “żyjące w różnych światach”: serwer Z2M (skrót od Zigbee2MQTT, to jest rozwiązanie “niezależne od platformy” i jako jedyny sposób komunikacji wykorzystuje MQTT), broker MQTT (tu akurat Mosquitto) stanowiący serwer wymiany informacji między różnymi platformami, oraz serwer HA.

Co do klucza to ustaw sobie taki jaki miałeś dotychczas, bo w przeciwnym razie będziesz musiał ponownie parować sprzęt (to samo dotyczy ID sieci i kanału).

PS Sama deinstalacja Dodatków w wielu wypadkach nie usuwa ich konfiguracji (konfiguracje są w podkatalogach katalogu /configuration/ lub /share/)

PPS Stare tutoriale dotyczą w pełni ręcznej konfiguracji, obecnie Mosquitto jako Dodatek może wykorzystywać też dowolnych użytkowników HA bez jawnego ich wylistowania (wystarcza, że w systemie jest taki użytkownik z danym hasłem i można z niego korzystać).

Konfigurację można robić dowolną metodą, ale w przypadku Dodatków każdy z nich zawiera minitutorial w zakładce Dokumentacja, tam są też przedstawione np. podstawy ręcznej konfiguracji Mosquitto, jeśli nie zamierasz używać autokonfiguracji.

Dzięki to mnie naprowadziło na na rozwiązanie tego samego problemu. Cała integracja to rzeczywiście bajka. Super. Od dziś zigbee :slight_smile:

Mam takie pytanie czy zigbee2mqtt tworzy jakis plik backup który ładuje po przeładowaniu HA. Wczoraj zmieniłem dongla na ze starego cc2531, na SONOFF Zigbee 3.0 USB Dongle Plus - Bramka Zigbee ZigBee2MQTT.Zmieniłem konfigurację na

data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt: {}
serial:
  port: >-
    /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20240220101325-if00
  adapter: ezsp

Po zładowaniu zigbee2mqtt są wszystkie urządzenia ,nie musiałem parować od nowa, wszystko działa ok jak na razie.
Problem się pojawia gdy zaktualizuje zigbee do wersji wyższej niż ta którą mam 1.26.0-1,po aktualizacji też jest ok, ale już po restarcie HA jest problem giną wszystkie encje switch przełączników i gniazdek(inne są np encje napięcia ,zużycia )encje przełącznikow staja sie niewidoczne w HA .Co dziwne w samym zigbee są widoczne i można sterować, zmieniają stan.
Po aktualizacji i ponownym uruchomieniu mqtt broker i zigbee2mqtt też jest ok, tylko przeładowanie HA robi taki problem.
Na starym donglu tez próbowałem, efekt taki sam. Próbowałem też usunąć i dodac na nowo, nic to nie zmienia.
Tak się zastanawiam czy przeładowanie HA nie ładuje jakiejś konfiguracji z backup, albo cos podobnego,chociaż w samym zigbee tego nie widać.
Zależy mi na wyzszej wersji ,bo od kolejnej wspierany jest przełącznik z pomiarem energii.

Ktoś się spotkał z takim przypadkiem,gdzie szukać przyczyny?

Tworzy.

HA nie ma nic do tego Z2M jest osobnym serwerem i ma własny backup.

Stare encje mogą być przechowywane przez broker MQTT (jeśli miały ustawiony retain, to jest też powód dla którego je widzisz ale nie działają).

ALE
Nie można “bezkarnie” zmieniać dongli, backup pasuje tylko do tego samego, bo on ma unikalny ieee-adres, ten adres w donglu można zmienić tylko raz (zapis do pamięci OTP), więc ewentualnie istnieje droga migracji, ale nie zawsze warto z niej korzystać.
Jeśli to migracja z innej instalacji to przełóż dotychczasowego dongla.

Ponieważ najprawdopodobniej migrujesz z Zigbee 1.2 (bo miałeś CC2531) na Zigbee3.0 i generalnie powinieneś użyć ponownego parowania. nie wiem co to jest “dogle plus”- na jakim jest chipsecie? (jeśli texas instruments to być może migracja jest możliwa w tą stronę ale z pewnością nie odwrotnie - sieci Zigbee3 nie da się zmigrować na 1.2

Po aktualizacji zigbee2 mqtt próbowałem usunięcia urządzeń i ponownego parowania z nowym SONOFF Zigbee 3.0 USB Dongle Plus - Bramka Zigbee ZigBee2MQTT, niestety problem dalej jest. Możesz powiedzieć jak to rozwiazać ?Jakie kroki. Czy np.odinstalowanie zigbee i ponowna instalacja rozwiąże problem.

Usunięcie Dodatku nie usuwa jego konfiguracji.

Jeśli chcesz wystartować od zera, to powinieneś usunąć zawartość katalogu
/homeassistant/zigbee2mqtt
lepiej jednak sobie zgrać te pliki gdzieś na bok.

Usuwanie musisz zrobić gdy Dodatek jest zatrzymany (może też być odinstalowany)

Jeśli mimo wszystko masz nadal jakieś stare encje to można się ich pozbyć z poziomu integracji MQTT albo przez MQTT explorera.

1 polubienie

ok, dzięki będę próbował.
tak dla pewnosci jeszcze zapytam, na proxmox stworzylem sobie testową maszynę z ha z ta samą konfiguracją ,mam teraz dwie druga do testów. Czy podczas testowania muszę główna zatrzymać ,obie korzystają z tego samego dongla zigbee

Aktualnie na zapasowym Ha odinstalowałem zigbee2mqtt ,usunąłem w pliki z konfiguracją.Ponowna instalacja już najnowszej wersji zigbee2mqtt i konfiguracja.Reatart wszystkiego i uruchomienie dodatku.Wstał działa,nie ma żadnych urządzeń . Dodawanie urządzeniu, wyżej wymieniony przełącznik na szynę i gniazdka dopisane.Zmienione nazwy i zaznaczone zmień w Ha.Po sprawdzeniu encji w Ha dalej problem,wszystkie encje poboru energii i podobne są,nie ma encji switch. Są niewidoczne chociaż w samym zigbee2mqtt są i działają.Nie wiem co jest nie tak.Po backupie wszystko działa,ale wersja zigbee2mqtt to 1,26 i ten przekaźnik na szynę się dodaje ,ale jest w nieobsługiwany.( Jest jakiś sposób żeby ręcznie wymusić obsługę tego urządzenia

Jeśli konfiguracja jednej jest dokładnym klonem drugiej, to tak musisz jedną z nich zatrzymać - nie tylko Z2M może mieć konflikty, wiele integracji sieciowych również będzie miało problemy (jeśli używają tokenów generowanych niezależnie od sprzętu i sklonujesz te tokeny) a już w szczególności chmurowe które korzystają np. z ograniczonych darmowych pul żądań.

Integracje związane z Zigbee to już w ogóle hardkorowy przypadek, co wynika z samej budowy sieci Zigbee w której może być jeden i tylko jeden koordynator i w dodatku jest wykorzystywany jego sprzętowy adres, więc gdybyś chciał eksperymenty robić na jednej sieci, to nie dość że musiałbyś zatrzymać to jeszcze przekładać tego samego dongla, jeśli sobie zbudujesz natomiast 2 osobne sieci użytkową i testową to powinny być one na osobnych koordynatorach i na róznych kanałąch…

Tak naprawdę nie zrozumiałem wszystkich fikołków które wykonałeś…

Jeśli jakiś sprzęt w jednej instalacji o określonej wersji i modelu koordynatora z jakąś wersją jego firmware działa, to w innej instalacji po spełnieniu tych samych warunków też musi.

Aktualizacja Ha nowa kondiguracja zigbee2mqtt chyba rozwiązała problem.Narazie działa i wszystkie urządzenia dodane .

Cześć,

Mam problem z Z2M. Mam wszystko skonfigurowane, broker, z2m. Są sparowane i widoczne w z2m czujniki. Problemem jest brak encji w HA. Próbowałem już wszystkiego (chyba)
Moja konfiguracja:
ha

Konfiguracja brokera:

logins: []
require_certificate: false
certfile: fullchain.pem
keyfile: privkey.pem
customize:
  active: false
  folder: mosquitto

Konfiguracja z2m:

data_path: /config/zigbee2mqtt
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt:
  server: mqtt://core-mosquitto:1883
  user: mqtt_user
  password: moje haslo
serial:
  port: >-
    /dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_PlusXXXX
  adapter: ember

ostatnie logi brokera:

2024-11-23 08:28:31: New client connected from 172.30.33.5:33636 as mqttjs_09b55180 (p2, c1, k60, u'mqtt_user').
2024-11-23 08:28:52: New connection from 172.30.32.2:55722 on port 1883.
2024-11-23 08:28:52: Client <unknown> closed its connection.
2024-11-23 08:30:52: New connection from 172.30.32.2:55554 on port 1883.
2024-11-23 08:30:52: Client <unknown> closed its connection.
2024-11-23 08:32:52: New connection from 172.30.32.2:55060 on port 1883.
2024-11-23 08:32:52: Client <unknown> closed its connection.
2024-11-23 08:34:52: New connection from 172.30.32.2:32826 on port 1883.
2024-11-23 08:34:52: Client <unknown> closed its connection.
2024-11-23 08:36:23: Saving in-memory database to /data//mosquitto.db.
2024-11-23 08:36:52: New connection from 172.30.32.2:36758 on port 1883.
2024-11-23 08:36:52: Client <unknown> closed its connection.
2024-11-23 08:38:52: New connection from 172.30.32.2:52828 on port 1883.
2024-11-23 08:38:52: Client <unknown> closed its connection.
2024-11-23 08:40:52: New connection from 172.30.32.2:50212 on port 1883.
2024-11-23 08:40:52: Client <unknown> closed its connection.
2024-11-23 08:42:52: New connection from 172.30.32.2:46912 on port 1883.

i logi z2m:

[2024-11-23 08:46:59] debug: 	z2m: Received Zigbee message from 'Czujnik ruchu i światła', type 'attributeReport', cluster 'manuSpecificLumi', data '{"illuminance":65558}' from endpoint 1 with groupID 0
[2024-11-23 08:46:59] debug: 	zhc:lumi: RTCGQ14LM: Processed data into payload {}
[2024-11-23 08:46:59] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Czujnik ruchu i światła', payload '{"battery":33,"detection_interval":30,"device_temperature":null,"illuminance":22,"linkquality":255,"motion_sensitivity":"medium","occupancy":true,"trigger_indicator":false,"update":{"installed_version":-1,"latest_version":-1,"state":null},"update_available":null,"voltage":2900}'
[2024-11-23 08:47:31] info: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/Czujnik ruchu i światła', payload '{"battery":33,"detection_interval":30,"device_temperature":null,"illuminance":22,"linkquality":255,"motion_sensitivity":"medium","occupancy":false,"trigger_indicator":false,"update":{"installed_version":-1,"latest_version":-1,"state":null},"update_available":null,"voltage":2900}'

broker działa prawidłowo, mam zrobioną w Node-Red integrację z Airly i działa prawidłowo. Tu mam problem.

Czy masz tego usera w HA i z takim haslem?

Najpierw
TY → Ustawienia użytkownika → Tryb zaawansowany → WŁĄCZ

potem
Ustawienia → Osoby → Użytkownicy → tu masz mieć tego użytkownika z tym hasłem

Po tym wszystkim restart całego systemu (OSa, a nie samego HA)

A w Integracji MQTT masz się połączyć “jak leci” bez grzebania w ustawieniach (jeśli już grzebałeś tu usuń i dodaj ponownie), tak by Supervisor skonfigurował Integrację sam.

PS

-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus

ten model nie działa na sterowniku ember ani ezsp
więc następnym razem zanim usuniesz ważne informacje się zastanów co usuwasz, bo chyba część modelu usunąłeś i nie wiadomo co masz

Jest user skonfigurowany (z innym ale prawidłowym hasłem). Broker pracuje prawidłowo. Odbiera dane z integracji z Airly (skonfigurowanej w Node-RED. Dongel Sonoff pracuje prawidłowo, są sparowane czujniki, w z2m są dane z czujników. Problemem jest brak encji w HA, tak jakby z2m nie przesyłał danych do brokera

No przecież o tym pisałem - broker nie zna użytkownika i/lub hasła, bo go nie skonfigurowałeś ani w brokerze, ani w HA.