Page 1 sur 1
Migration / récupération de certaines données
Publié : 18 nov. 2023, 11:46
par D3ni3d
Hello world
Suite à un déménagement, j'ai choisi de repartir à zéro et de monter un nouveau serveur DZ.
L'ancien serveur DZ fonctionne encore uniquement pour la téléinfo EDF (via shield PiTInfo) et je souhaiterais récupérer l'historique de ses données pour les intégrer au nouveau serveur : je suis déjà allé précédemment me balader dans la db de DZ avec sqlite3 (pour supprimer qlq valeurs erronées de temp...), mais sauriez vous m'orienter pour savoir dans quelles tables je dois aller pour récupérer l'ensemble des valeurs disponibles via l'interface DZ ? (logs KW total / Courant - sur la semaine, le mois, l'année passée)
DZ source : PI4 / DZ "standard" 2022.2 / buster
DZ source : PI4 / DZ docker 2023.1 /bullseye
Re: Migration / récupération de certaines données
Publié : 18 nov. 2023, 11:56
par Keros
Depuis que je parcours le forum, je n'ai pas vu de sujet là-dessous, car je pense que c'est très compliqué. Je dirais que cela doit être faisable, mais il faut avoir de solides connaissances en SQL et bien comprendre la structure de DomoticZ pour remettre les données en place.
Je t'aurais dit d'importer l'ancienne base de donnée dans le nouveau serveur et d'enlever tout ce que tu ne souhaitais pas conserver, mais je pense que ton nouveau DomoticZ est déjà en service.
Re: Migration / récupération de certaines données
Publié : 18 nov. 2023, 12:09
par D3ni3d
Merci Keros pour ton retour qui confirme qu'il n'y a pas beaucoup de personnes qui se sont exprimées sur ce sujet délicat ^^
Au demeurant, et peut être naïvement, je me dis que ce n'est "que" du SQL : le plus compliqué ici, c'est de comprendre la structure de la base et des tables concernées ... typiquement, je crois me souvenir que les valeurs des 7 derniers jours, de la semaine passée, du mois passé et de l'année passée sont dans des tables différentes ... manque "juste" cet éclairage pour ne pas faire d'impairs ^^
Avant tout, je pense mettre à jour pour avoir 2 versions de DZ identiques, histoire de ne pas subir un changement de structure de DB entre les 2 versions ...
Je vais également soumettre ma requête sur le forum US ... (ce sera pas du SQL pour le coup lol ^^)
Re: Migration / récupération de certaines données
Publié : 18 nov. 2023, 12:20
par Keros
Oui, mets toi bien a égalité entre les deux versions de DomoticZ.
Même si tu as la réponse sur le forum anglais, n'hésite pas à nous mettre un lien et nous faire un débriefing si tu y es arrivé et des difficultés que tu as rencontrées. Merci
Re: Migration / récupération de certaines données
Publié : 01 déc. 2023, 18:34
par Flying Domotic
Si on parle de consommation électrique simple (de format "<Valeur instantanée>:<Conso totale>"), la table est "Meter". On y trouve les valeurs du jour (en fait, du nombre de jours indiquées dans les préférences).
Les valeurs historisées sont dans la table "Meter_Calendar", avec une valeur par jour, là où sont prises les valeurs des affichages historiques (jour/semaine/mois/année).
Pour récupérer les données, il suffit de copier la table "Meter_Calendar", en ajustant l'IDX du capteur (la table "Meter" ne contient que les dernières valeurs, qui sont écrasées
Noter qu'on peut le faire soit par SQL, soit en utilisant .updateHistory dans un script dzVent, par exemple:
Code : Tout sélectionner
local mCounter = domoticz.devices('device name')
mCounter.updateHistory('2021-01-22', '10;1777193') -- Write to long term storage (meter_calendar table)
mCounter.updateHistory('2021-01-22 10:05:02', '10;1777193') -- Write to short term storage (meter table)
Bien penser à sauvegarder la base avant la manip, pour pouvoir la restaurer si besoin
