Upgrade Zigbee
Tak jsem si po delší době doma zase trochu zabastlil, dokonce i pájku oprášil, a tak bude dneska i článek :).

Přinucen okolnostmi jsem se musel rozhodnout, zda dát dohromady rozbitý zigbee2mqtt, nebo se dokopat a využít skvělého návodu od Budulínka a přemigrovat celé Zigbee na Tasmotu (donucen proto, že po dvou výpadcích proudu v noci a nouzovém vypnutí serveru se mi rozbil databázový soubor zigbee2mqtt a celá síť se rozpadla).
Bohužel, včera nebyl zřejmě můj den a tak do čehokoli jsem se z toho pustil, tak ani se skvělým návodem mi prostě nefungovalo vlastně nic 🙂

Začal jsem flashováním pomocí Tasmotou doporučeným adaptérem. No, tak ten ani zaboha. Nejprve jsem myslel, že jsem si blbě napájel piny na připojení kablíků, nebo že jsem někde zapojil něco špatně. Ale proste nic. Neustále chyba “Unexpected error: ESP Chip Auto-Detection failed: Failed to connect to Espressif device: No serial data received.”. Když ani několikáté přeměření a překontrolování nepomohlo, zkusil jsem druhý adaptér. Naštěstí jsem totiž tenkrát objednal dle návodu od Budulínka oba dva.

A světe div se, fungoval napoprvé. Takže ponaučení číslo jedna, nespoléhat na oficiálně doporučené adaptéry a brát radši oba 🙂

Připojení do sítě pomocí ethernetu prošlo napoprvé a tak jsem pokračoval v nahrávání firmwaru do už flashnutého zařízení. I to proběhlo dobře a už jsem začínal mít pocit, že už bude jen dobře….
Nebylo :). Po restartu zařízení zahlásilo “zigbee not available” a nazdar. Skvělý. Takže jsem rozbil něco cestou při flashování?
Takže znova flash zpátky původního firmware, znova pokus na nový firmware, stažení i beta firmware…. a nic. Furt to stejné.

Tak jsem šel do logů. V nich nic neříkající hláška “ZGB: timeout, goto 99”. Ok, takže se zigbee zařízení nestihne ohlásit včas? A tak zas půl hodiny googlení.
Trvalo to, inženýři z Tasmoty se to snažili velmi úspěšně maskovat a schovat, ale našel jsem to. Problém není v Zigbee zařízení :).
Problém je (a ukáže se v logu, když dáte maximální detaily logování), že Tasmota se nedokáže připojit k NTP time serverům a synchronizovat čas, a proto zakáže Zigbee… ok.
Takže pokračovalo kolečko, proč se vlastně nedokáže připojit. Ukázalo se, že nefunguje DNS překlad NTP adresy. Ale proč..
No, odpověď pak už byla vcelku snadná. Protože mi výpadek elektriky sestřelil nejen Zigbee2mqtt VM, ale také PiHole DNS server. Takže ten přestal fungovat a zatímco ostatní zařízení umějí pracovat i se sekundárním DNS, které mám nastaveno, tak Tasmota ne.

Takže jsem cestou ještě obnovil zálohy PiHole VM, opravil DNS resolver a pak už tasmota najela včetně Zigbee adaptéru. Párování a nastavení Tasmoty pak šlo už naštěstí jako po másle, takže jsem jen následoval zmiňované návody.
A to až do fáze, kdy jsem začal propojovat Tasmotu s Loxone. Nakonec jsem se rozhodl nepoužít přímé propojení pomoci UDP parsování v Loxone, jelikož když jsem viděl, kolik dat se do Loxone hrne a že každý virtuální vstup musí data znovu a znovu parsovat. Proto jsem se nakonec rozhodl využít NodeRED a data předzpracovat. Přeci jen mám jen původní miniserver a takto jsem ho spamovat úplně nechtěl. Ale o tom v dalším článku.

Závěrem už jen poděkování Budulínkovi za jeho návody, ušetřilo mi to určitě hromadu dalšího času a nervů, a hlavně, celý systém mi teď přijde o dost stabilnější než původní Zigbee2Mqtt.
Seznam odkazů na návody na Tasmotu:
- https://www.vodnici.net/wiki/zigbee-pres-tasmotu-1-hardware/
- https://www.vodnici.net/wiki/zigbee-pres-tasmotu-2-napojeni-zigbee-senzoru-a-aktoru-na-loxone/
- https://www.vodnici.net/wiki/zigbee-pres-tasmotu-3-nezname-zigbee-zarizeni/
- https://www.vodnici.net/wiki/zigbee-pres-tasmotu-4-automaticke-posilani-dat-senzorem/