Mise à jour de Domoticz en bash sauvegarde et restaurationProblèmes rencontrés
Depuis que j'utilise Domoticz , la mise à jour depuis le logiciel a toujours été un échec ; Pour éviter les problèmes , il est préférable de faire les mises à jour à partir de la console et un script qui assure aussi la sauvegarde et la restauration existe déjà sur Github: https://github.com/papo-o/domoticz_scripts/commit/a79ad5561ad3b85d3237534c21482b8fea9ef5a7 Merci à papo-o , https://pon.fr Je l'ai modifié légèrement afin de l'adapter à toutes les situations (système sur PI ou PC donc avec des répertoires différents) et en utilisant "systemd" , le remplaçant du démon "init system V" pour Linux
Le script sh
Enregister le fichier : NOM FICHIER.sh et(important) modifier les permissions sudo chmod +x NOM DU FICHIER Si vous utilisez notepad ou un éditeur sur Windows et Filezilla , vérifier la bonne écriture unix avec:
Lancer le script : ./NOM_DU_FICHIER.sh:
Choisir la fonction ; avant un update il est préférable de faire un backup.L'archive :
Problèmes rencontrés
Appareils Zwave perdus après la mise à jour Comme je l'ai indiqué, les mises à jour sont parfois difficiles; jusqu"à présent à chaque mise à jour j'ai du réveiller manuellement les noeuds alimentés sur piles zwave C'est un problème connu : Appareils Zwave perdus après la mise à jour 2021.1 #4800
https://github.com/domoticz/domoticz/issues/480rrozema commenté on 27 Apr 2 causes possibles pour que la liste des nœuds z-wave s'affiche comme la vôtre : 1 - vous n'avez pas attendu assez longtemps pour que le processus de réinterrogation se termine, 2 - le fichier ozwcache_0x*.xml a été corrompu. Vous avez coupé le haut de l'image, nous ne pouvons donc pas voir si le message concernant les nœuds réinterrogés est toujours là. Si le message est toujours là, veuillez patienter jusqu'à ce que la requête soit terminée. Ensuite, si vous actualisez la liste, les informations seront à nouveau complètes (les appareils fonctionnant sur batterie peuvent prendre plus de temps ou peuvent même nécessiter une nouvelle interrogation et un réveil manuel). Si toutefois l'interrogation est terminée et que tous les périphériques ne sont toujours pas affichés complets, le fichier ozwcache_xml peut être corrompu. J'ai également observé ce comportement et je pense qu'il pourrait être lié à SetCondenseWhiteSpace() dans ReadCache() de driver.cpp. Pour le vérifier, vous pouvez essayer ceci : Arrêtez domoticz. Renommez le ozwcache_0x*.xml en autre chose (afin qu'openzwave ne puisse plus ouvrir le fichier existant). Démarrez ensuite domoticz et attendez la fin du processus de requête. Les nœuds alimentés par le secteur et les nœuds compatibles FLIRS seront automatiquement réinterrogés, mais la plupart des nœuds alimentés par batterie devront être réinterrogés manuellement : ils s'afficheront toujours sous la forme 0000 avec des descriptions rouges. La re-interrogation se fait en mettant en surbrillance un nœud dans la liste des nœuds z-wave, puis appuyez sur le bouton "Actualiser les informations sur le noeud". Ensuite, allez au nœud physique et réveillez le nœud. La plupart du temps, il y a un bouton sur ou à l'intérieur de l'appareil sur lequel vous pouvez appuyer pour le réveiller. Attendez ensuite une minute ou deux que le NIF (Node Information Frame) soit reçu par domoticz/openzwave. Vous pouvez consulter le journal de domoticz pour voir si le NIF a été reçu : lorsqu'il est reçu, domoticz listera une ligne pour chaque classe de commande qu'il a reconnue à partir du NIF. Vous devez répéter cette opération pour chaque nœud qui n'a pas été correctement initialisé. Si les appareils sont correctement enregistrés à nouveau, vous pouvez continuer et comparer le nouveau fichier ozwcache_0x*.xml avec celui que vous avez renommé pour voir quelles sont les différences. Je suppose que la plupart du temps, il ne s'agira que d'espaces / commentaires.
decode json jusqu'à la version 2021.1, je pouvais avec dz event lire les messages json MQTT sans faire appel à une fonction pour decoder json , désormais il faut appeler la fonction: "dz.utils.fromJSON()" un exemple sur cette page
crée le 10/09/2021