Bonjour,
Mieux que tout mutiplier par 1000 ou pas => Récupérer tout votre historique GAZPAR
metter ce shell dans votre répertoire domoticz_gaspar appeler le par exemple recup.sh
chmod 777 recup.sh
Code : Tout sélectionner
#!/bin/sh
SCRIPT=$(readlink -f "$0")
BASE_DIR=$(dirname "${SCRIPT}")
export BASE_DIR
CFG_FILE="domoticz_gaspar.cfg"
LOG_FILE="domoticz_gaspar.log"
update_db () {
cat "${BASE_DIR}"/req_maj.sql | /usr/bin/sqlite3 "${HOME}"/domoticz/domoticz.db
}
# check configuration file
if [ -f "${BASE_DIR}"/"${CFG_FILE}" ]
then
. "${BASE_DIR}"/"${CFG_FILE}"
export GASPAR_USERNAME
export GASPAR_PASSWORD
export DOMOTICZ_ID
update_db
else
echo "Config file is missing ["${BASE_DIR}"/"${CFG_FILE}"]"
exit 1
fi
Cela va lancer le fichier où l'on va mettre les requêtes dans le fichier req_maj.sql dans le même répertoire.
ATTENTION Sauvegarder votre base de données avant. Cela peut être risqué.
Exemple de requête pour injecter les données directement à partir du site GAZPAR après export Excel
Code : Tout sélectionner
INSERT INTO 'Meter_Calendar' (DeviceRowID,Value,Counter,Date) VALUES (604, '12000',0,'2019-05-16');
INSERT INTO 'Meter_Calendar' (DeviceRowID,Value,Counter,Date) VALUES (604, '12000',0,'2019-05-17');
INSERT INTO 'Meter_Calendar' (DeviceRowID,Value,Counter,Date) VALUES (604, '9000',0,'2019-05-18');
INSERT INTO 'Meter_Calendar' (DeviceRowID,Value,Counter,Date) VALUES (604, '17000',0,'2019-05-19');
INSERT INTO 'Meter_Calendar' (DeviceRowID,Value,Counter,Date) VALUES (604, '8000',0,'2019-05-20');
INSERT INTO 'Meter_Calendar' (DeviceRowID,Value,Counter,Date) VALUES (604, '8000',0,'2019-05-21');
INSERT INTO 'Meter_Calendar' (DeviceRowID,Value,Counter,Date) VALUES (604, '9000',0,'2019-05-22');
Vous pouvez comme cela récupérer tout votre historique depuis l'installation du compteur chez vous.
604 étant mon identifiant domoticz de mon compteur virtuel.
Mes valeurs sont multipliées par 1000 mais vous pouvez adapter
Vous pouvez essayer en créant un nouveau compteur virtuel puis ensuite échanger vos compteurs.
J'ai utilisé la formule suivante qui fonctionne dans google Sheet (ou excel )en se mettant sur la première ligne tout en haut colonne en prenant toutes les colonnes mesures de votre extraction.
Code : Tout sélectionner
=CONCATENER("INSERT INTO 'Meter_Calendar' (DeviceRowID,Value,Counter,Date) VALUES (604, '";E1*1000;"',0,'";ANNEE(A1);"-";TEXTE(MOIS(A1);"00");"-";TEXTE(JOUR(A1);"00");"');")
reste plus que lancer le script ./recup.sh
pour multiplier par 1000 la requête doit ressembler à cela ATTENTION JE N'AI PAS ESSAYE (Sauvegarder votre base et sachez aussi restaurer)
Code : Tout sélectionner
update 'Meter_Calendar' set Value=Value*1000 where DeviceRowID=604
Bonne Journée