Fa uns dies vaig publicar una entrada on deia que havia canviat el firmware del meu SonOFF USB zigbee que fa de coordinador de la xarxa Zigbee de casa, per posar-li un firmware multiprotocol que funcionava juntament amb un add-on de HomeAssistant anomenat “Silabs Multiprotrocol“. Doncs bé, després de dies provant aquest firmware he tornat enrera i he tornat a posar el firmware Zigbee NCP.
Tots aquests dies que he tengut aquest firmware en “producció” he tengut problemes de desconnexions de sensors, llums que no s’encenien o s’encenien varis segons després, dispositius que desapareixien de z2m sense cap explicació… he estat llegint bastant i he vist que al propi repo dels firmware ( https://github.com/darkxst/silabs-firmware-builder/tree/main) diu que el firmware multiprotocol no està recomanat perquè a una mateixa radio (antena) no és estable tenir els dos protocols a la vegada perquè afegeix molta complexitat.
Note! Beware that the RCP MultiPAN in multiprotocol mode is no longer recommended because running multi-protocol with multiple active networks on a single radio adapter has proven to not be stable when using Zigbee and Thread network protocols simultaneously on the same radio adapter, it also increases the complexity of software component dependencies needed, so if already using RCP Multi-PAN then it is highly recommended that you plan to migrate to separate dedicated radio adapters instead, (using Zigbee NCP and Thread RCP firmware respectively), even if using RCP MultiPAN on a single radio adapter dongle has been working fine for you so far.
L’autor dels firmware recomana tenir dos radios diferents (dos aparells USB), un per a cada protocol. Idò dit i fet, vaig comprar un altre USB Sonoff exactament igual que el que tenia per així poder migrar de firmware sense passar pena de tenir la casa “aturada” durant el temps que estic fent proves, per a que la familia no es posi “nerviosa”…
El nou Sonoff
Una vegada rebut el nou USB, vaig procedir a actualitzar-lo al darrer firmware de ZigBee que hi havia disponible, així ja estarà actualitzat, ja que amb el dispositiu vé un fiwmware bastant antic… en el moment d’escriure aquesta entrada la darrera versió és la 7.4.3.0, disponible aquí: (https://github.com/darkxst/silabs-firmware-builder/tree/main/firmware_builds/zbdonglee)
Per a actualitzar-lo he provat vàries eines, però la que m’ha resultat més senzilla ha estat la versió web del propi usuari “darkxst” que compila els firmware, i que està disponible aquí: https://darkxst.github.io/silabs-firmware-builder/ És necessari un navegador webkit (google chrome o brave, per exemple) i a més l’usuari de sistema que executa el navegador ha de tenir permisos d’escriptura al port usb on està el dongle. En el cas del meu Archlinux, el port és el /dev/ttyACM0, el qual necessita que l’usuari estigui al grup “uucp” que és el grup que té escriptura a aquest tipus de dispositius.
Amb això, ja es pot actualitzar el firmware. Una vegada el posem a la màquina virtual de homeassistant i tornem a configurar el z2m com estava abans, ens l’ha de reconèixer així:
z2m: Coordinator firmware version: '{"meta":{"maintrel":"3 ","majorrel":"7","minorrel":"4","product":13,"revision":"7.4.3.0 build 0"},"type":"EZSP v13"}'
Una altre cosa que m’ha sorprés és que el propi z2m es dona compte que el coordinador ha canviat d’adreça MAC de ZigBee i, si abans s’ha fet una còpia de seguretat, es restauren tots els dispositius que estaven associats a l’anterior dispositiu, bravo !! Així no s’ha de reemparellar cada dispositiu, que en el meu cas ja són 32 aparells…
Arribats aquí, ja tenc els dispositius zigbee que tornen a respondre amb la latència normal, no han desaparegut ni han fet coses rares… bien !
USB de “sobres”
Com ara tenc un dispositiu USB que me “sobra” se m’ha ocorregut posar-li el firmware OpenThread per a tenir una segona radio separada per a poder tenir dispositius thread, i com que encara no en tenc cap, per ara l’empraré per a fer proves de firmware i demés, amb l’entorn de “pre” que he muntat aquests dies a la meva màquina d’escriptori.
Ah! Amb la mateixa pàgina web d’actualització també es pot posar el firmware d’OpenThread: