Re: Script Véolia
Publié : 25 janv. 2020, 18:39
Salut,
Le script ramène les infos de conso journalière pour le mois en cours (ou pour le mois précédent pendant les 3 premiers jours du mois en cours).
Si les données du jour J sont déjà dans la base de données alors on fait un UPDATE sinon on fait un INSERT.
Ce qui compte dans la table Meter_Calendar (table qui enregistre les conso journalière) c'est la valeur de 'Value' , la valeur de Counter ne sert pas (hormis pour le rapport), la valeur du compteur est enregistrée dans la table DeviceStatus.
Lorsque l'on a une nouvelle valeur on fait donc un INSERT (et donc on insert une 'Value') , si on a déjà la valeur on va juste mettre à jour le compteur. Ce n'est pas normal que tes 'Value' soient constamment à 0??
.
Veola Mediterrannée propose désormais la conso horaire (bon c'est pas encore tout à fait au point de leur côté, vérifier sur le site de Veolia pour voir si vous n'avez pas des jours avec des consos horaires négatives
!). J'ai fait un nouveau script qui permet désormais d'avoir des enregistrements dans la table Meter (et donc la conso horaire). Ce script n'utilise plus le code HTML (et ne nécessite donc plus la librairie simple_html_dom.php) mais importe les fichiers CSV . Le code est simplifié et plus facile à lire.
Ce nouveau code permet également de récupérer la valeur vraie du compteur (Veolia Méditerranée donne cette valeur de temps à autre dans le fichier CSV des consos journalières).
Pour le reste tout est comme dans la version précédente. Vous n'avez rien à modifier dans le fichier de config water.inc.
Pour une nouvelle install, lire les instructions dans le fichier README.md.
On peut remplir la BdD plusieurs années en amont (comme avec le code précédent).
Il suffit après l'install de taper :
% /chemin/vers/code/water.php YYYY MM
avec YYYY = année de début d'enregistrement et MM mois de début. Puis on relace la commande en encrémentant MM , puis YYYY jusqu'au mois précédent celui de l'installation de ce code.
C'est à dire par exemple:
% /chemin/vers/code/water.php 02 2017
% /chemin/vers/code/water.php 03 2017
% /chemin/vers/code/water.php 04 2017
...
...
% /chemin/vers/code/water.php 12 2017
% /chemin/vers/code/water.php 01 2018
% /chemin/vers/code/water.php 02 2018
... etc ...
jusque
% /chemin/vers/code/water.php 12 2019
si on installe ce code en janvier 2020.
Remarque : Ne pas tenir compte de la fin de ce code (dans mon domoticz j'ai ajouté un interrupteur virtuel de type 'doorbell' qui me permet de lancer ce script (en plus du cron) et ce code insère une information dans cet interrupteur qui me permet de savoir si la dernière mise à jour a importé de nouvelles données ou si ce n'est que de l'UPDATE).
Le code est sur https://github.com/domcars0/DomoticzVeolia/releases
Le script ramène les infos de conso journalière pour le mois en cours (ou pour le mois précédent pendant les 3 premiers jours du mois en cours).
Si les données du jour J sont déjà dans la base de données alors on fait un UPDATE sinon on fait un INSERT.
Ce qui compte dans la table Meter_Calendar (table qui enregistre les conso journalière) c'est la valeur de 'Value' , la valeur de Counter ne sert pas (hormis pour le rapport), la valeur du compteur est enregistrée dans la table DeviceStatus.
Lorsque l'on a une nouvelle valeur on fait donc un INSERT (et donc on insert une 'Value') , si on a déjà la valeur on va juste mettre à jour le compteur. Ce n'est pas normal que tes 'Value' soient constamment à 0??
.
Veola Mediterrannée propose désormais la conso horaire (bon c'est pas encore tout à fait au point de leur côté, vérifier sur le site de Veolia pour voir si vous n'avez pas des jours avec des consos horaires négatives
Ce nouveau code permet également de récupérer la valeur vraie du compteur (Veolia Méditerranée donne cette valeur de temps à autre dans le fichier CSV des consos journalières).
Pour le reste tout est comme dans la version précédente. Vous n'avez rien à modifier dans le fichier de config water.inc.
Pour une nouvelle install, lire les instructions dans le fichier README.md.
On peut remplir la BdD plusieurs années en amont (comme avec le code précédent).
Il suffit après l'install de taper :
% /chemin/vers/code/water.php YYYY MM
avec YYYY = année de début d'enregistrement et MM mois de début. Puis on relace la commande en encrémentant MM , puis YYYY jusqu'au mois précédent celui de l'installation de ce code.
C'est à dire par exemple:
% /chemin/vers/code/water.php 02 2017
% /chemin/vers/code/water.php 03 2017
% /chemin/vers/code/water.php 04 2017
...
...
% /chemin/vers/code/water.php 12 2017
% /chemin/vers/code/water.php 01 2018
% /chemin/vers/code/water.php 02 2018
... etc ...
jusque
% /chemin/vers/code/water.php 12 2019
si on installe ce code en janvier 2020.
Remarque : Ne pas tenir compte de la fin de ce code (dans mon domoticz j'ai ajouté un interrupteur virtuel de type 'doorbell' qui me permet de lancer ce script (en plus du cron) et ce code insère une information dans cet interrupteur qui me permet de savoir si la dernière mise à jour a importé de nouvelles données ou si ce n'est que de l'UPDATE).
Le code est sur https://github.com/domcars0/DomoticzVeolia/releases