Correction de valeurs erronnées dans Domoticz
Rédigé par Nicolas Sulek
Aucun commentaire
Classé dans : Logiciel
Il peut arriver que Domoticz reçoive des valeurs totalement erronnées, par exemple, une consommation électrique de 7834658181252W.
Pour corriger ça, il faut aller modifier la base SQLite de Domoticz.
Ouverture de la base
La base de données se trouve à la racine du répertoire de Domoticz et s'appelle domoticz.db.file domoticz.db domoticz.db: SQLite 3.x databasePour la manipuler, il faut installer sqlite3 et procéder ainsi :
cd /home/domoticz/domoticz sqlite3 sqlite> .open domoticz.db sqlite> .headers on sqlite> .mode columnOn peut voir toutes les tables qu'utilisent Domoticz :
sqlite> .tables BackupLog LightSubDevices SceneTimers Cameras LightingLog Scenes CamerasActiveDevices Meter SetpointTimers CustomImages Meter_Calendar SharedDevices DeviceStatus MultiMeter Temperature DeviceToPlansMap MultiMeter_Calendar Temperature_Calendar EnoceanSensors MySensors Timers EventActions MySensorsVars ToonDevices EventMaster Notifications UV EventRules Percentage UV_Calendar Fan Percentage_Calendar UserVariables Fan_Calendar Plans Users FibaroLink Preferences WOLNodes Floorplans Rain Wind Hardware Rain_Calendar Wind_Calendar HttpLink SceneDevices ZWaveNodesLes deux tables à modifier :
- Meter enregistrant les consommation instantanées
- Meter_Calendar enregistrant la consommation totale.
Cas de la table Meter
Dans mon cas, l'erreur s'est produite le 2015-11-01 à 19:45:01 :sqlite> select * from Meter where date="2015-11-01 19:45:01"; DeviceRowID Value Usage Date ----------- ------------- ---------- ------------------- 17 7834658181252 498 2015-11-01 19:45:01On modifie en mettant une valeur arbitraire (j'ai pris la moyenne de la valeur précédant l'erreur et la suivante) :
sqlite> update Meter set Value=53137011 where date="2015-11-01 19:45:01";
Cas de la table Meter_Calendar
Pour cette table, il faut agir vite, car elle se base sur les valeurs de la table Meter qui ne sont conservées que 24h.select * from Meter_Calendar where Date="2015-11-01"; DeviceRowID Value Counter Date ----------- ----------- ----------- ---------- 17 78346070209 78346581812 2015-11-01
- Value correspond à la consommation totale sur 24h
- Counter correspond à la consommation totale sur l'année.
Pour éditer la base, il suffit ensuite de faire :
update Meter_Calendar set Counter=511372 where date="2015-11-01"; update Meter_Calendar set Value=28000 where date="2015-11-01";Et on obtient de nouveau des graphiques cohérents :