Sauvegarde de la db de zigbee2mqtt

C’est que je dit a mes collègues commerciaux😀

Après oui ma façon fonctionne pour l’instant et est très dépendante de z2m, donc si il y a des modifications alors cela ne fonctionnera plus.

Ce que j’ai fait c’est uniquement pour test et si cela pouvait aider des personnes en attendant une solution bien meilleure.

1 « J'aime »

j’ai hate de voir la suite pour le restore :stuck_out_tongue:

Ca arrive, je test et je mets la procédure.

1 « J'aime »

Backup sur rpi nickel
Je compte le restore sur le nas ensuite j’ai vu deux trois truc dans la config a reverifié avant le restore de mon côté ^^

Je viens de finir le tuto pour sauvegarde la BD de l’intégration zigbee sur Raspeberry.

A vous de jouer si vous ne voulez pas réappairer tous vos devices.

2 « J'aime »

Cest parfait cela a tres bien fonctionné !

Sur NAS pas de commande supplémentaire à faire, c’est cool.

Absolument pas apres on peut le faire a la mano aussi en passant par dsm et en copiant les fichiers extrait ^^

Bonjour, j’ai fait une tentative de sauvegarde des 3 informations nécessaires à restaurer après un backup sur z2m.
Je pense que pour tester il suffit de :

  1. Configurer une instance Gladys avec z2m
  2. Arrêter Gladys
  3. Supprimer/arrêter le container docker z2m
  4. Déplacer/supprimer les informations du container
  5. Démarrer Gladys
  6. Vérifier que le fichier /var/lib/gladysassistant/zigbee2mqtt/z2m/configuration.yaml contient les mêmes « network_key / pan_id / channel » qu’avant
  7. Vérifier que les devices déjà enregistrés répondent toujours

N’ayant pas de dongle z2m, j’ai fait le dev à l’aveugle.
Je recommande de tester sur un environnement de test, plutôt que sacrifier votre « prod ».

L’image : atrovato/galdys:zigbee2mqtt

Merci, bon chance.

6 « J'aime »

:heart_eyes: ça va faire plaisir à du monde ça ! Merci beaucoup @AlexTrovato.

Au besoin, si personne se dévoue je ferais un test de mon côté, c’est vraiment une fonctionnalité importante.

Est-ce que tu gère le cas des instances existantes qui ont pas les paramètres en DB pour l’instant mais qui suite à une mise à jour devront sauvegarder cette clé ?

En théorie :

  1. le container z2m n’existe pas
  • si aucune information n’est stockée en DB : création du container avec des valeurs générées par l’image, puis lecture de ces valeurs pour sauvegarde en DB
  • si les valeurs sont en DB : création du container avec les valeurs stockées
  1. si le container z2m existe
  • sauvegarde en DB (override si les variables existent déjà)

La PR est pour l’instant uniquement sur mon espace perso

j’en ai profité pour modifier quelques lourdeurs dans les tests, et quelque logs.

1 « J'aime »

On en sait plus ici ?

Désolé j’avais zappé la PR ! C’est propre :slight_smile:

Les cas que tu décris ci-dessus c’est si jamais l’utilisateur demande d’installer un container Z2M ?

Si je restaure une sauvegarde sur une instance Gladys vide, est-ce que le service va relancer les containers ?

A tester sinon, moi ça me parait bien !

Sinon je sais pas ce que t’en pense, mais j’ai jamais été fan de mettre du code bash dans Gladys (c’est pas compté dans les unit-tests du coup, c’est un peu bancal)

Je parle du fichier server/services/zigbee2mqtt/docker/gladys-z2m-zigbee2mqtt-env.sh, à mon sens ça devrait être un fichier JS ! :smiley: Bon ça concerne pas forcément cette PR mais typiquement si on pouvait le mettre en JS à un moment ça serait pas mal ^^

@AlexTrovato Petite relance par rapport à mon message ci-dessus !

Oups désolé j’ai oublié

On est obligé d’installer un container Z2M via Gladys actuellement.

Oui, si les conditions car ce sont les variables en db qui conditionnent la création des containers.

Si le container z2m est déjà la, il mettra a jour les valeurs networkId et les autres dans le container z2m et le redémarre, seulement si elles sont différentes.

EDIT : pour les scripts bash, je suis en train de migrer service par service.

1 « J'aime »

ça me parait bon du coup !

Ca serait chouette d’avoir des testeurs par contre, mais bon en ce moment c’est calme plat sur le forum ^^

Je peux tester semaine prochaine. Il faudrait juste réfléchir aux différents scénarios

J’ai reçu mon dongle sonoff ce matin mais pas encore les périphériques :wink:
Si je peux aider…

J’ai reçu un Sonoff ZBMini-L
Je peux donc tester ceci:

  • Restauration sans service ZigBee (au cas où mais pas sur que ce soit si utile) ;
  • Restauration après migration de matériel (d’un Pi à l’autre, 32bit et 64bit) ;
  • Restauration du même matos avec et sans changement de port USB.

Je ne sais pas tester

  • Restauration avec changement de dongle (même ou autre modèle)
    Vous pensez à autre chose?

Par contre, aucune idée de comment créer une image de test au départ d’une PR, si vous voyez où je veux en venir :wink:

Édit: Typo

Pour info, en général, je génère une image de test :wink:
Je suis en train d’en générer une plus à jour sur le core commun (intégrer les dernière modifications), elle devrait être dispo d’ici 1 heure.

1 « J'aime »