Przywrócenie kopii Conbee II z AIS

A pokażesz loga do kompletu (po zatrzymaniu i ponownym starcie)
tak patrzę na te klucze i nijak mi nie pasuje hex

0305000d0f00ad06040600c17090b080

do listy dec

na moje oko to
3, 5, 0, 13, 15, 0, 173, 6, 4, 6, 0, 193, 112, 144, 176, 128

a ddddddddddddd
to 221, 221, 221, itd…

Gratuluję spostrzegawczości. :wink: Rzeczywiście początkowo wklejałem tu parametry z wartością “HIDE”, a później z wartością podobną, gdyż nie wiedziałem, czy będę mógł je kiedykolwiek zmienić w ramach bezpieczeństwa.

Dopiero jak je rozszyfrowałem to przekonałem się, iż w starych wersjach Z2M większość użytkowników uzyskiwała takie klucze. Zatem odpuściłem sobie dalsze “maskowanie” i wkleiłem gotowy kod.

Jako ciekawostkę dodam, że obecnie funkcja ‘GENERATE’ tworzy zdecydowanie silniejsze i unikalne klucze.

To akurat się zgadza, lecz w logu pojawił się błąd:

error: z2m: Error: ExtendedPanID must be an 8 digits long array, got

Dlatego zamiast 16x 221 zdecydowałem się na powyższy zapis, choć można by było w tej sytuacji spróbować też 8x 221.

Faktycznie, mimo, iż się odpala to pojawiają się błędy dotyczące wersji:

[2024-09-30 23:27:17] e[32minfoe[39m: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'offline'
[2024-09-30 23:27:17] e[32minfoe[39m: 	z2m: Disconnecting from MQTT server
[2024-09-30 23:27:17] e[32minfoe[39m: 	z2m: Stopping zigbee-herdsman...
[2024-09-30 23:27:18] e[32minfoe[39m: 	z2m: Stopped zigbee-herdsman
[2024-09-30 23:27:18] e[32minfoe[39m: 	z2m: Stopped Zigbee2MQTT
[23:27:20] INFO: e[32mPreparing to start...e[0m
[23:27:20] INFO: e[32mSocat not enablede[0m
[23:27:21] INFO: e[32mStarting Zigbee2MQTT...e[0m
Starting Zigbee2MQTT without watchdog.
[2024-09-30 23:27:22] e[32minfoe[39m: 	z2m: Logging to console
[2024-09-30 23:27:22] e[32minfoe[39m: 	z2m: Starting Zigbee2MQTT version 1.40.1 (commit #unknown)
[2024-09-30 23:27:22] e[32minfoe[39m: 	z2m: Starting zigbee-herdsman (0.57.3)
[2024-09-30 23:27:23] e[32minfoe[39m: 	z2m: zigbee-herdsman started (resumed)
[2024-09-30 23:27:23] e[31merrore[39m: 	z2m: Failed to start zigbee
[2024-09-30 23:27:23] e[31merrore[39m: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
[2024-09-30 23:27:23] e[31merrore[39m: 	z2m: Exiting...
[2024-09-30 23:27:23] e[31merrore[39m: 	z2m: Error: Get coordinator version Error: TypeError [ERR_INVALID_ARG_TYPE]: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received type number (28)
    at DeconzAdapter.getCoordinatorVersion (/app/node_modules/zigbee-herdsman/src/adapter/deconz/adapter/deconzAdapter.ts:347:23)
    at Zigbee.start (/app/lib/zigbee.ts:125:65)
    at Controller.start (/app/lib/controller.ts:140:27)
    at start (/app/index.js:154:5)
[23:27:23] INFO: e[32mPreparing to start...e[0m
[23:27:23] INFO: e[32mSocat not enablede[0m
[23:27:24] INFO: e[32mStarting Zigbee2MQTT...e[0m
Starting Zigbee2MQTT without watchdog.
[2024-09-30 23:27:25] e[32minfoe[39m: 	z2m: Logging to console
[2024-09-30 23:27:25] e[32minfoe[39m: 	z2m: Starting Zigbee2MQTT version 1.40.1 (commit #unknown)
[2024-09-30 23:27:25] e[32minfoe[39m: 	z2m: Starting zigbee-herdsman (0.57.3)
[2024-09-30 23:27:26] e[32minfoe[39m: 	z2m: zigbee-herdsman started (resumed)
[2024-09-30 23:27:26] e[32minfoe[39m: 	z2m: Coordinator firmware version: '{"meta":{"maintrel":0,"majorrel":38,"minorrel":120,"product":0,"revision":"0x26780700","transportrev":0},"type":"ConBee2/RaspBee2"}'
[2024-09-30 23:27:26] e[32minfoe[39m: 	z2m: Currently 0 devices are joined.
[2024-09-30 23:27:26] e[32minfoe[39m: 	z2m: Zigbee: disabling joining new devices.
[2024-09-30 23:27:27] e[32minfoe[39m: 	z2m: Connecting to MQTT server at mqtt://core-mosquitto:1883
[2024-09-30 23:27:27] e[32minfoe[39m: 	z2m: Connected to MQTT server
[2024-09-30 23:27:27] e[32minfoe[39m: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
[2024-09-30 23:27:27] e[32minfoe[39m: 	z2m: Started frontend on port 8099
[2024-09-30 23:27:27] e[32minfoe[39m: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/config', payload '{"commit":"unknown","coordinator":{"meta":{"maintrel":0,"majorrel":38,"minorrel":120,"product":0,"revision":"0x26780700","transportrev":0},"type":"ConBee2/RaspBee2"},"log_level":"info","network":{"channel":11,"extendedPanID":"0xdddddddddddddddd","panID":6654},"permit_join":false,"version":"1.40.1"}'
[2024-09-30 23:27:27] e[32minfoe[39m: 	z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload 'online'
[2024-09-30 23:27:27] e[32minfoe[39m: 	z2m: Zigbee2MQTT started!
[2024-09-30 23:27:32] e[32minfoe[39m: 	z2m:mqtt: MQTT publish: topic 'homeassistant/binary_sensor/1221051039810110150109113116116_0x00124b0014dbe4d3/connection_state/config', payload '{"device":{"hw_version":"ConBee2/RaspBee2 0x26780700","identifiers":["zigbee2mqtt_bridge_0x00124b0014dbe4d3"],"manufacturer":"Zigbee2MQTT","model":"Bridge","name":"Zigbee2MQTT Bridge","sw_version":"1.40.1"},"device_class":"connectivity","entity_category":"diagnostic","name":"Connection state","object_id":"zigbee2mqtt_bridge_connection_state","origin":{"name":"Zigbee2MQTT","sw":"1.40.1","url":"https://www.zigbee2mqtt.io"},"payload_off":"offline","payload_on":"online","state_topic":"zigbee2mqtt/bridge/state","unique_id":"bridge_0x00124b0014dbe4d3_connection_state_zigbee2mqtt","value_template":"{{ value }}"}'

Kiedyś można było podmienić wersje w pliku konfiguracyjnym backup.json danego dodatku i zaktualizować do starszej wersji, czy to jeszcze działa nie wiem.
1.Robisz kopię dodatku.
2. Edytujesz plik backup.json wewnątrz spakowanego pliku dodatku.
3. Zapisujesz i przywracasz kopię zapasową, powinno zaciągnąć wersję którą wpiszesz w pliku backup.json .


{
    "addons": [{
            "name": "Music Assistant Server",
            "size": 0.0,
            "slug": "d5369777_music_assistant",
            "version": "2.1.1"
        }
    ],
    "compressed": true,
    "crypto": null,
    "date": "2024-08-13T19:24:38.286714+00:00",
    "docker": {
        "registries": {}
    },
    "folders": [],
    "homeassistant": null,
    "name": "addon_d5369777_music_assistant_2.1.1",
    "protected": false,

1 Like

Jeśli chodzi o klucz to rozumiem, że masz taki z dokumentacji, przy którym było od zawsze napisane, żeby go nie wklejać u siebie w konfiguracji tylko zmienić na własny… a jak się okazuje cała masa użytkowników Z2M ma ten sam klucz skopiowany z dokumentacji… więc może jednak czas na ponowne parowanie na jakimś losowym kluczu.

ALE

Nie ruszając nic w konfiguracji sparuj ponownie jedno z urządzeń - jakieś takie na którym najmniej Ci zależy (podejrzewam, ze nadal jest jakiś problem z kluczami sieci)
Nie wiem na ile udałą Ci się migracji reszty konfiguracji HA z AIS (i czy w ogóle ta walka ma sens).
Teoretycznie urządzenia Zigbee w Integracji są identyfikowane po ich adresach ieee, więc nawet po ponownym parowaniu z innymi kluczami sieci powinny nadal zostać zidentyfikowane jako te same urządzenia i nadal pasować do konfiguracji po stronie HA (i ile w Z2M pozostanie struktura urządzeń - tłumacząca fizyczne adresy na ich aliasy).

No i nie wiem jak przyklejasz te logi - zrób to po prostu z przeglądarki, bo jakieś białe znaki zaciemniają obraz.

PS Zajrzałem do dokumentacji a tam taka ciekawostka - conbee2 nie wspiera przywracania backupu (nie wiem na ile aktualne to ostrzeżenie)

backup and restore support which is so far only implemented for the Zstack adapter (Texas Instruments adapters). Backup and restore is not supported for any other adapters (ConBee/Raspbee, EZSP and Zigate).

chodzi tu o backup sieci Zigbee, który normalnie siedzi w NVRAM dongla
(jakkolwiek to wciąż nic nie zmienia póki nie nadpiszesz NVRAM w donglu)
natomiast mapowanie fizycznych adresów na mniej lub bardziej przyjazne aliasy jest zapisywane w konfiguracji Z2M

Mam taki, jaki nadał mi skrypt AI-Speakera, gdyż tam konfiguracja odbywała się bezobsługowo w tle. Podejrzewam, że wtedy Z2M nie korzystało z funkcji ‘GENERATE’ i stąd tak liczna grupa identycznych kluczy.

No właśnie widząc, jak ta konfiguracja była nieudolnie generowana w AIS, myślę, iż dalsze przywracanie mija się z celem … Mimo że mam potencjalne pomysły jak ją finalnie przywrócić m.in. podmieniając plik database.db to wolę zacząć od czystej, elastycznej konfiguracji.

Użytkownicy zwykłego HA też go wykorzystywali masowo, bo wystarczało skopiować gotową konfigurację z dokumentacji (nie wiem czy w AIS był jakikolwiek skrypt, no nie miałem bramki).
Tak, generate wymyślono sporo później - gdy się okazało, że jest mnóstwo przypadków identycznych kluczy.

Stworzyłem na nowo konfigurację w configuration.yaml, ale w międzyczasie zaktualizowałem dodatek Zigbee2MQTT i teraz nie mam pewności, czy to wina aktualizacji, czy błędu w konfiguracji.

Logi:

[2024-10-06 20:42:31] error: 	z2m: Error while starting zigbee-herdsman
[2024-10-06 20:42:31] error: 	z2m: Failed to start zigbee
[2024-10-06 20:42:31] error: 	z2m: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
[2024-10-06 20:42:31] error: 	z2m: Exiting...
[2024-10-06 20:42:31] error: 	z2m: Error: Error: Not supported, cannot set

Też nie wiemy.

Jeśli konfiguracja jest prawidłowa zazwyczaj aktualizacja Z2M przechodzi bezboleśnie.

Prawdę mówiąc chyba nikt nie wie co robisz, ja się poddałem parę postów wyżej.

Tu chyba kluczowa jest wiedza jak działa koordynator Zigbee i jakie dane gdzie są przechowywane.

Obecnie wygląda tak:

homeassistant: true
advanced:
  network_key:
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
  pan_id: HIDE
  ext_pan_id:
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
    - HIDE
mqtt:
  server: mqtt://core-mosquitto:1883
  user: addons
  password: HIDE
serial:
  port: /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2485816-if00
frontend:
  port: 8099

Bez przesady. :stuck_out_tongue: Wspólnie się poddaliśmy widząc, że to “gra nie warta świeczki”. :wink:

Co sugerujesz?

Właściwie nawet nie wiem do jakiego celu dążysz.

Jeśli do budowy nowej sieci od zera to należałoby posiąść wiedzę jak wyczyścić NVRAM w tym konkretnie donglu i nie rzeźbić konfiguracji ręcznie (tzn. ja nie widzę w tym sensu, ale jeśli chcesz to możesz).

Jeśli do przywrócenia działania starej sieci to aktualizacja Z2M (nie wiadomo z czego na co, ani nawet czy poprzednia konfiguracja działała) jest dla mnie totalnie niezrozumiałym ruchem.

I dlatego się poddaję - nie widzę żadnej konsekwencji w działaniach.

Chcę stworzyć nową sieć. Pomożesz?

A masz drukowaną instrukcję?

Bo ta sytuacja przerasta moje wyobrażenie o “dobrym niemieckim sprzęcie” - w instrukcjach dostępnych online jest zero informacji o tym jak wykonać “factory reset” (czyli czyszczenie NVRAM), na forach ludzie jakieś bzdury wypisują, a dokumentacja producenta jest skrajnie skąpa.
Robiłeś aktualizacje firmware? na zdrowy rozsądek flaszer powinien mieć opcję czyszczenia NVRAM, ale jego dokumentacja też jest bardziej niż skromna…

Firmware man najnowszy. Reset konfiguracji dongla z poziomu komputera też robiłem, ale wciąż ten sam błąd w logach.

Brakuje definicji adaptera (u mnie działa):

serial:
    port: /dev/ttyACM0
    adapter: deconz

Mam Z2M jako dodatek na HAOS:
Zigbee2MQTT version 1.40.2
Coordinator type: ConBee2/RaspBee2
Coordinator revision 0x26720700

2 Likes

Próbowałem zarówno

port: /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE2485816-if00

jak i

port: /dev/ttyACM0

ale problemem było brak wpisu:

adapter: deconz

Dziękuję @macek ! :slightly_smiling_face:

No i teraz po wsze czasy (tzn. póki będziesz używał tego egzemplarza conbee2) zostaw sobie

wraz z

Tak własnie zrobiłem. :wink: