Voici comment récupérer sur votre raspberry et domoticz les informations de consommation provenant des sites de SUEZ. Pour les détails vous rendre sur la page de présentation ici.
Menu :
- Présentation
- Etape 1 – Récupérer votre ID sur le site
- Etape 2 – Création du Compteur dans domoticz
- Etape 3 – Script
- Etape 4 – Pour aller plus loin
- Liste des sites testés.
Etape 3 – Script :
/!\ avant toute manipulation je vous conseille de faire une sauvegarde de votre base de donnée voir de votre carte sd Rasberry. En cas de perte de données vous êtes le seul responsable ! /!\
Préparation : Ce script nécessite le shell ksh et sqlite3 pour les installer si vous ne les avez pas déjà vous pouvez les installer en tapant :
sudo apt-get update sudo apt-get install ksh sudo apt-get install sqlite3
Dans cette étape on va utiliser les données récupérées dans l’étape 1 et utiilser un script qui va aller chercher les données sur le site pour les intégrer dans domoticz. Je ne suis pas expect en scripting, il y a certainement des améliorations à apporter au script, mais ça fonctionne très bien depuis plusieurs mois.
Créer le répertoire de travail
En tant que root sur votre rasberry :
cd /home/pi/ mkdir EAU
Votre répertoire de travail « EAU » est créé. On va maintenant ajouter le script :
cd /home/pi/EAU curl -O https://raw.githubusercontent.com/Sirus10/domoticz/master/updateConsoEau.sh chmod +x updateConsoEau.sh
Vous pouvez aussi le télécharger ici : https://github.com/Sirus10/domoticz
Exécution
En tant que root ajustez les droit du fichier et exécuter le :
chmod +x /home/pi/EAU/updateConsoEau.sh /home/pi/EAU/updateConsoEau.sh
Lors du premier lancement si le fichier setup_perso n’existe pas, le script va vous poser des questions pour configurer les identifiants de connexion, le fournisseur d’eau, et le numéro de compteur dans domoticz. Si besoin vous avez toujours la possibilité de l’éditer par la suite à la main.
Une fois les informations renseignés le script va s’exécuter et collecter les informations :
root@raspberrypi:/home/pi# /home/pi/EAU/updateConsoEau.sh - PART 1 Get the data from $PROVIDER for 2015-07 /home/pi/EAU/2015-07.dat generated - PART 2 Update .dat file /home/pi/EAU/2015-07.dat Updated - PART 3 Generate SQL /* vous devriez voir ici les requettes SQL */ - PART 4 Update the db File size is NOT zero -> DB update needed Stoping Domoticz ! Domoticz stopped Update DB START Update Values Update Status Update DB END Starting Domoticz ! 2015-07-30 18:02:52.253 Domoticz V2.2286 (c)2012-2015 GizMoCuz 2015-07-30 18:02:52.255 System: Raspberry Pi 2015-07-30 18:02:52.256 Startup Path: /home/pi/domoticz/ domoticz: Domoticz is starting up.... Domoticz started
Vous devriez maintenant voir les données de votre consommation dans domoticz :
Planification
Pour planifier l’exécution de ce script j’utilise la crontab suivante ( tout les jours à 6h15 et 10h15):
#Get data for WATER : 15 6,10 * * * /home/pi/EAU/updateConsoEau.sh > /tmp/updateConsoEau.log
Remarques
- le premier graphique (par heure) n’est pas utilisable car la mise à jour ne se fait qu’une fois par jour.
- sur le site sdei les données ne sont visiblement pas mise à jour sur le weekend et les jours fériés, soyez patient un ou deux jours de plus…
- à cause du point précédent, si les weekend tombent en fin de mois (ex dimanche 31) le lundi vos donnes du mois précédent ne seront pas mise à jour, il faut utiliser une astuce détaillée dans le prochain post.
- pour récupérer les données du mois d’octobre 2014 vous pouvez utiliser la commande comme cela :
/home/pi/EAU/updateConsoEau.sh 2014 10
Pour aller plus loin :
Les explications en détail de ce script son sur cette page : Génération compteur EAU domoticz – détail du script.
Etape suivante : comment ajouter les données plus anciennes (en construction)…
Vous avez aimé cet article ? Lassez un commentaire, ça fait toujours plaisir 🙂 !!
Bonsoir,
Merci pour la suite de tes articles 🙂
Cela ma fait remettre au taff :=)
Après le raspain sur raspberry, le domoticz sur raspian ! Voila maintenant le script pour BDD domoticz !
Une bonne grosse journée de frappe dans un terminal 🙂
Mais bon je reviens vers toi car j’ai une erreur lors de l’execution du script sur la partie 3 quand je suis en « root »:
- PART 3 Generate SQL
/home/pi/EAU/updateConsoEau.sh: line 122: * 100: arithmetic syntax error
comm: /home/pi/EAU/temps.generated.2015-08.sql: Aucun fichier ou dossier de ce type
update DeviceStatus set lastupdate = '-- 19:07:51' where id = 6;
mv: impossible d'évaluer « /home/pi/EAU/temps.generated.2015-08.sql »: Aucun fichier ou dossier de ce type
- PART 4 Update the db
File size is zero -> DB update NOT needed
### END ###
et une variante en utilisateur « pi »:
- PART 1 Get the data from website for 2015-08
EAU/updateConsoEau.sh[75]: /home/pi/EAU/2015-08.dat: cannot create [Permission denied]
/home/pi/EAU/2015-08.dat generated
rm: impossible de supprimer « /home/pi/EAU/cookiefile »: Aucun fichier ou dossier de ce type
- PART 2 Update .dat file
EAU/updateConsoEau.sh[94]: /home/pi/EAU/2015-08.dat: cannot create [Permission denied]
/home/pi/EAU/2015-08.dat Updated
- PART 3 Generate SQL
sed: impossible de lire file3: Aucun fichier ou dossier de ce type
EAU/updateConsoEau.sh: line 122: * 100: arithmetic syntax error
EAU/updateConsoEau.sh[143]: /home/pi/EAU/only_new_generated.2015-08.sql: cannot create [Permission denied]
update DeviceStatus set lastupdate = '-- 19:00:52' where id = 6;
mv: impossible d'évaluer « /home/pi/EAU/temps.generated.2015-08.sql »: Aucun fichier ou dossier de ce type
- PART 4 Update the db
File size is zero -> DB update NOT needed
### END ###
En complément d’information
Le raspberry est sortie du carton de ce matin.
Donc domoticz auss, il n’a seulement le comptage d’eau de ta création pour l’instant et pas d’autres informations.
l’ID dans domoticz est « 6 »
Une idée du problème ?
pas de ID6 dans la BDD de domoticz ?
Cordialement
Salut!
Tu as bien fait cela avant :
sudo apt-get update
sudo apt-get install ksh
sudo apt-get install sqlite3
Et il y a bien cette ligne dans ton script?
LC_ALL=C
Le fichier .dat contient des données?
Bonjour,
Merci pour la réponse !
Après relecture de la discutions avec Jacques68
Le fichier .dat vide !
Problème d’identification au le site SDEI !
Faute d’inattention: la lyonnaise dans mon secteur à le nom de « Eaux de Senart » !
Solution: Rajout d’un nouveau Provider:
PROVIDER=SENART
et des urls en correspondances:
elif [[ $PROVIDER == 'SENART' ]]
then
loginpage="https://www.eauxdesenart.com/mon-compte-en-ligne/connexion/validation"
datapage="https://www.eauxdesenart.com/mon-compte-en-ligne/statJData/$dateY/$dateM/$SDEI_CODE"
🙂
Merci pour votre aide !
J’aurai certainement des questions après quelques jours d’utilisation.
Cordialement
Trop cool et ça fonctionne avec ce bout de code en plus et les url plus haut ?
Si c’est le cas je mettrai à jour le code source …
Oui cela fonctionne à la perfection :-).
Et voila c’est fait, j’ai ajouté au script…
ici : https://github.com/Sirus10/domoticz
j’ai même mis en place le script sur github ca se sera pour moi plus simple a maintenir…
cd /home/pi/EAU
curl -O https://github.com/Sirus10/domoticz/raw/master/updateConsoEau.sh
chmod +x updateConsoEau.sh
A+ !
Salut a tous !
il y avait une erreur dans le script c’est maintenant corrigé. J’en ai profité pour modifier un peu la façon pour ajouter les données perso dans le script: maintenant il n’y a que le fichier setup_perso à modifier, cela évitera de devoir éditer le fichier updateConsoEau.sh à chaque mise à jour.
La procédure sur cette page à été mise également à jour.
Bon dimanche !
bonjour,
Le site https://www.eau-olivet.fr peut-il, en théorie, fonctionner sur le même principe ?
en paramétrant loginpage=https://www.eau-olivet.fr/mon-compte-en-ligne/connexion/validation je n’arrive pas à récupérer les infos.
merci d’avance de votre réponse.
Cordialement.
Bonjour Ricco,
Effectivement ca resemble beaucoup au page des autre site donc je suppose que ca doit fonctionner pareil.
Je viens de modifier le script pour ajouter « www.eau-olivet.fr » , je te conseille de le mettre à jour avec le dernier script :
Pour cela :
Ensuite tu edites le fichier setup_perso comme ça :
Et tu testes en root :
Si ca marche pas regarde le contenu du fichier .dat généré et si besoin poste le ici 🙂
bonjour
je suis chez Véolia peut on adapté le scrip ?
Bonjour à l’auteur principal et à tous les autres.
Merci pour cet article et son suivi.
J’ai installé tout ce qu’il fallait et après avoir bataillé avec les droits des fichiers et répertoire, la récupération des données sur le site de SDEI est opérationnelle, mais: soeur Anne, ne vois tu rien venir ? Non, je ne vois rien dans domoticz, les fichiers de la base données sont remplis de données, le numéro d’idx est correct dans la config_perso mais rien n’apparaît dans domoticz; Chercher l’erreur !
Aurai-je zapper quelque chose ?
Si quelqu’un à eu ce problème, je suis à l’écoute de la solution, sachant que je ne suis peux être pas le seul ayant ce petit couac.
Merci de votre participation.
Installation: Raspi avec Debian, RFXtrxCOM usb, Domoticz, capteur courant OWL 3 phases, Divers capteurs Oregon (THGN132,THGR810,etc)
Salut Joel,
J’ai le meme probleme, as tu reussi à trouver la solution ?
a+
Salut PiBen et Bonne Année à Tout le monde.
Pour trouver la solution j’ai sauvegardé la base de données de domoticz sur mon pc, ensuite j’ai lu le fichier avec le programme SQLiteManager (à télécharger sur google), en allant dans la partie « Data » j’ai constaté que certains champs étaient inversés, (date et value ou date et Counter, de mémoire). Je suis allé dans domoticz avec putty et j’ai modifié en conséquence les champs dans le fichier de rapatriement des données du compteur. A présent j’ai les valeurs sur les graphiques des jours précédents, évidement le jour même est toujours à zéro puisque par encore téléchargé, il faudrait modifier le paramètre d’affichage pour afficher le jour j-1, ainsi on aurai au moins une valeur pour le jour précédent. Pour le moment je n’ai rien fait sur ce point.
Merci Joel et bonne année a toi egalement!
J’ai fouillé dans la base et effectivement je vois aussi quelques soucis dans Meter_Calendar au moins au niveau des index, je vais creuser.
Merci pour la piste.
@Manu, tu n’as pas eu ces soucis de ton côté ?
a+
Bonjour Manu,
Félicitations pour ces post, au top! et très utile pour surveiller sa consommation. Ca m’a permis de me rendre compte que j’avais une fuite lente quelque part avec 1L consommé tous les 2 jours 🙁
Je me demandais si tu avais trouvé une solution pour le cas ou les weekend tombent en fin de mois.
A bientot!
Salut ben,
oui pour les cas ou le weekend tombent en fin de mois il suffit d’installer le script :
cd /home/pi/EAU
curl -O https://raw.githubusercontent.com/Sirus10/domoticz/master/updateConsoEau_M-1.sh
chmod +x updateConsoEau_M-1.sh
et de le plannifier comme ceci en cron :
#Get data for Water M-1
15 7 1-7 * * « /home/pi/EAU/updateConsoEau_M-1.sh > /tmp/updateConsoEauM-1.log »
voir ici les détails :
http://domotique.web2diz.net/?p=188
Désolé pour la réponse tardive …
hello
un petit up sur ce topic
le scrip semble ne plus fonctionner avec la SDEI
le fichier DAT ne se remplit pas de donne mais de code HTML
Redirecting to /erreur
une idée?
en tout cas merci pour le boulot
Bonjour et désolé pour le délais.
c’est corrigé il suffit de mettre a jour le script voir ici : http://domotique.web2diz.net/?p=702
Bonne fin de journée.
Lufop
Excellent le tuto et le script mis à jour.
Reinstallation finger in the noise en 3 minutes sans les galeres que j’avais rencontrée il y a 1 an
Bonjour
tout fonctionnait tres bien mais probleme depuis le 10 janvier 2017
– PART 3 Generate SQL
./updateConsoEau.sh: line 151: * 100: arithmetic syntax error
comm: /home/pi/EAU/temps.generated.2017-01.sql: No such file or directory
update DeviceStatus set lastupdate = ‘– 18:01:55′ where id = 50;
mv: cannot stat `/home/pi/EAU/temps.generated.2017-01.sql’: No such file or directory
Idem que pour http://domotique.web2diz.net/generation-compteur-eau-domoticz-liste-des-sites/#comment-1282
tu devrais tester de remplacer SUEZ dans le fichier setup_perso et relancer…
tiens moi au jus
A+
merci pour ton retour rapide
J utilisais jusqu a present SDEI
et dans le script je peux juste utiliser « SDEI | SOGEST | SEERC | SOBEP | EEF | SENART | OLIVET | SIEVA | SEE »
il n’y a pas SUEZ, d’ailleurs j’ai retesté les 9 possibilité ci-dessus sans succés …
bonne soirée
Bonjour David,
as-tu changé quelque chose dans le répertoire EAU, je te conseille de vérifier les droits du répertoire EAU et des fichiers contenu !
j’ai testé avec SUEZ sans succés
sinon c’est mon site https://www.toutsurmoneau.fr/
Bonne soirée
Bonjour,
j’ai trouvé la cause du problème.
je pense pouvoir vous proposer une solution dans la journée avec une mise a jour du script 🙂
Je vous tiens au courant ici
Corrigé !
tada : http://easydomoticz.com/forum/viewtopic.php?f=7&t=711&p=29885#p29885
🙂
j’attends vous retours 🙂
Bonjour Manu,après mise à jour, tout rentre dans l’ordre. Merci encore une fois de ta réactivité et ton dévouement.
Pour info la « Lyonnaise des Eaux » est devenue « SUEZ » depuis quelques mois dans notre secteur « 95340 » sans avoir eu d’effet sur le fonctionnement de Domoticz et sans avoir reconfiguré la récupération des données.
Super trop fort 🙂
Encore merci ca fonctionne super bien !
Bonne semaine
Bonjour Manu, j’ai oublié de te demander de quoi il retournait pour que cela ne marche plus, merci si tu peux éclairer notre lanterne, ça nous aidera a être meilleur observateur et analyste pour le futur.
Le site tout-sur-mon eau à été mis à jour, certainement lié a l’intégration des autres sites dans le groupe SUEZ.
Il a fallut ajuster la façon dont le script se connecte c’est tout
La plupart des site du groupe SUEZ utilisent maintenant le site toutsurmoneau donc je pense que pour l’ensemble de ces site la configuration avec PROVIDER=SUEZ devrait marcher.
En plus j’en ai profité pour ajouter quelques lignes de plus en cas de problème pour le mancer en debug avec une log plus parlante 🙂
Merci en tout cas pour vos retour 🙂
Bonjour
est ce que vous savez s’il existe l’équivalent pour gazpar?
mon compteur de gaz vient d’être installé :-).
Bonne journée
Salut,
Moi je suis chez eaudemarseille.fr et je n’arrive pas à faire la même chose.
J’ai bien essayer de tracer les appels et de modifier le script en fonction, mais je n’arrive à rien.
Personne n’aurais déjà travaillé dessus?
Merci
Bonjour Supermat,
il me semble que eau de marseille fait parti du groupe Veolia et non de SUEZ. Du coup la « moulinette » qui récupère les donnée du site est totalement différente. En plus ton compter envoi-t-il bien les informations de façon journalière au site eau de marseille ? Il y a sur le site eau de Marseille une vue qui te permet de voir ta consommation au jour le jour ?
A+
Salut,
Effectivement, je te confirme que j’ai bien un compteur RF et une interface WEB permettant de voir et d’exporter mes conso journalières.
Le script n’est effectivement pas du tout le même, je m’en suis juste inspiré pour le cookies, et tout le reste..
Mais je n’arrive pas à mes fin, je ne suis pas assez calé.
Bonjour,
Pour ceux que cela interesse, j’ai adapté ce script pour qu’il fonctionne sur un synology (DSM 6) :
#!/usr/bin/bash
#######################################################################################
# This script will get the data from SDEI/SOGEST website and insert into domoticz.db
# Site : http://domotique.web2diz.net/
# Detail : http://domotique.web2diz.net/?p=131
# List of working provider : http://domotique.web2diz.net/?p=320
# Source : https://github.com/Sirus10/domoticz/blob/master/updateConsoEau.sh
# License : CC BY-SA 4.0
#
# Usage:
# ./updateConsoEau.sh [year] [month]
# Debug:
# ./updateConsoEau.sh DEBUG
#
#######################################################################################
#
# PART 0 Common variables and Conf file
#
#######################################################################################
# Temp set global C local
LC_ALL=C
DEBUG=TRUE
ERRORMSG= »try to run with ./updateConsoEau.sh DEBUG »
# Date setup (if not set = today)
if [ « $1″ != » ] && [ « $2″ != » ] && [[ « $1 » == +([0-9]) ]] && [[ « $2 » == +([0-9]) ]] ; then
dateY=$1
dateM=$2
else
dateY=`date « +%Y »`
dateM=`date « +%m »`
fi
if [[ « $1 » == ‘DEBUG’ ]] ; then
DEBUG=true
fi
if [[ « $DEBUG » == ‘true’ ]] ; then
echo -e « \n START DEBUG MODE \n »
fi
# SQL Files setup for temporary and final file
#chemin a adapter selon votre configuration
workingDIR=/volume1/homes/monuser/monrepertoire/
sqlfinalfile=$workingDIR/only_new_generated.$dateY-$dateM.sql
sqlpreviousfile=$workingDIR/previous.generated.$dateY-$dateM.sql
sqltmpfile=$workingDIR/temps.generated.$dateY-$dateM.sql
# Database file setup
dbfile=/usr/local/domoticz/var/domoticz.db
# Export file :
export_file=$workingDIR/$dateY-$dateM.dat
filetmp=$workingDIR/filetmp
# Configuration file check, it will create new one is not exist
if [ -s $workingDIR/setup_perso ] ; then
echo -e « \n Using Configuration from file $workingDIR/setup_perso »
. $workingDIR/setup_perso
else
echo « ####################################### »
echo » NEED FOR CONFIG FILE CREATION : »
echo « ####################################### »
echo « Personnal counter number ( see http://domotique.web2diz.net/?p=137) »
read CODE
echo « Email adress : »
read EMAIL
echo « Password : »
read PASSWD
echo « Provider (copy/paste) : »
echo « SUEZ | SDEI | SOGEST | SEERC | SOBEP | EEF | SENART | OLIVET | SIEVA | SEE »
read PROVIDER
echo « Your virtual device ID in domoticz (see step2 here http://domotique.web2diz.net/?p=138 ) »
read devicerowid
echo « SDEI_CODE=$CODE
SDEI_EMAIL=$EMAIL
SDEI_PASSWD=$PASSWD
PROVIDER=$PROVIDER
devicerowid=$devicerowid » > $workingDIR/setup_perso
echo « ####################################### »
echo » CONFIG FILE setup_perso CREATED WITH : »
echo « ####################################### »
cat $workingDIR/setup_perso
echo « ####################################### »
. $workingDIR/setup_perso
fi
#######################################
#
# PART 1 get the data
#
######################################
echo -e « \n – PART 1 Get the data from website for $dateY-$dateM »
if [[ $PROVIDER == ‘SDEI’ ]] ; then website= »www.toutsurmoneau.fr »
elif [[ $PROVIDER == ‘SOGEST’ ]] ; then website= »www.toutsurmoneau.fr »
elif [[ $PROVIDER == ‘SEERC’ ]] ; then website= »www.toutsurmoneau.fr »
elif [[ $PROVIDER == ‘SOBEP’ ]] ; then website= »www.toutsurmoneau.fr »
elif [[ $PROVIDER == ‘EEF’ ]] ; then website= »www.toutsurmoneau.fr »
elif [[ $PROVIDER == ‘SUEZ’ ]] ; then website= »www.toutsurmoneau.fr »
elif [[ $PROVIDER == ‘SENART’ ]] ; then website= »www.eauxdesenart.com »
elif [[ $PROVIDER == ‘OLIVET’ ]] ; then website= »www.eau-olivet.fr »
elif [[ $PROVIDER == ‘SIEVA’ ]] ; then website= »www.eau-en-ligne.com »
elif [[ $PROVIDER == ‘SEE’ ]] ; then website= »www.eauxdelessonne.com »
fi
# Special pages for eau-en-ligne.com
if [[ ! -n $loginpage ]] ; then
loginpage= »https://$website/mon-compte-en-ligne/je-me-connecte »
datapage= »https://$website/mon-compte-en-ligne/statJData/$dateY/$dateM/$SDEI_CODE »
fi
if [[ « $DEBUG » == ‘true’ ]] ; then
echo « ########## debug URL START ############### »
echo login page : $loginpage
echo datapage page : $datapage
echo « ########## debug URL END ############### »
fi
############# 1 GET THE TOKEN #################
agent= »Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30″
csrftoken=`curl -c $workingDIR/cookiefile -b $workingDIR/cookiefile $loginpage -A « $agent » -s |grep _csrf_toke | head -1 | cut -d' »‘ -f6`
if [[ « $DEBUG » == ‘true’ ]] ; then
echo « ########## debug csrftoken START ############### »
echo csrftoken :
echo $csrftoken
echo « ########## debug csrftoken END ############### »
fi
if [[ -n $csrftoken ]] ; then
echo » – TOKEN OK »
else
echo » – TOKEN NOT OK !! $ERRORMSG »
fi
############# 2 LOGIN #################
curl -L $loginpage -A « $agent » -s \
-c $workingDIR/cookiefile \
-b $workingDIR/cookiefile \
-d « _username=$SDEI_EMAIL&_password=$SDEI_PASSWD&_csrf_token=$csrftoken&signin[username]=$SDEI_EMAIL&signin[password] » |grep -e « se déconnecter » -e « Connexion en cours » > /dev/null
CR=$?
if [[ « $CR » == « 0 » ]] ; then
echo » – LOGIN OK »
# else
# echo » – LOGIN NOT OK !! $ERRORMSG »
fi
############# 3 GET DATA #################
curl -s $datapage -b $workingDIR/cookiefile > $export_file
CR=$?
if [[ « $DEBUG » == ‘true’ ]] ; then
echo « ########## debug export_file START ############### »
cat $export_file
echo « ########## debug export_file END ############### »
fi
if [[ -s $export_file ]] ; then
echo » – DATA collection OK »
echo -e « \n $export_file generated »
else
echo » Error not able to get data !! $ERRORMSG »
fi
#Remove cooki file
rm $workingDIR/cookiefile
#######################################
#
# PART 2 set the file to be usable
#
######################################
echo -e « \n – PART 2 Update .dat file »
sed -e ‘s/\\//g’ -e ‘s/\],\[/\n/g’ -e ‘s/\[\[/\n/g’ -e ‘s/\]\]/\n/g’ $export_file > $filetmp
sed -e ‘s/\ »//g’ $filetmp |grep -v « ,0,0 » |grep -e ‘^$’ -v |grep -v ERR > $export_file
if [[ « $DEBUG » == ‘true’ ]] ; then
echo « ########## debug .dat file START ############### »
cat $export_file
echo « ########## debug .dat file END ############### »
fi
echo -e « \n $export_file Updated »
#######################################
#
# PART 3 Generate SQL
#
######################################
echo -e « \n – PART 3 Generate SQL »
# create the previous file is does not exits
if [ ! -f « $sqlpreviousfile » ] ; then touch $sqlpreviousfile ; fi
IFS=,
while read date val val2 ; do
#### DATE ####
dd=`echo $date |awk -F/ ‘{print $1}’`
mm=`echo $date |awk -F/ ‘{print $2}’`
yy=`echo $date |awk -F/ ‘{print $3}’`
hh=`date +%H:%M:%S`
#### VAL1 ####
val1=`echo « dummy » | awk « BEGIN {print $val*100.0} »`
if [[ « $val » == « 0 » ]] && [[ ! -z « $prevVal2 » ]] ; then
# float val1=$((100 * ($val2-$prevVal2)))
val3=$($val2-$prevVal2)
echo $val3
val1=`echo « dummy » | awk « BEGIN {print $val3*100.0} »`
echo $val1
fi
prevVal2=$val2
### Generation ###
echo « DELETE FROM \`Meter_Calendar\` WHERE devicerowid=$devicerowid and date = ‘$yy-$mm-$dd’; INSERT INTO \`Meter_Calendar\` (DeviceRowID,Value,Counter,Date) VALUES (‘$devicerowid’, » \’$val1\’, \’$val2\’, \’$yy-$mm-$dd\’ « ); » >> $sqltmpfile
done $sqlfinalfile
if [[ « $DEBUG » == ‘true’ ]] ; then
echo « ########## debug sqlfinalfile file START ############### »
cat $sqlfinalfile
echo $DEVICESTATUS1
echo « ########## debug sqlfinalfile file END ############### »
fi
cat $sqltmpfile
cat $sqlpreviousfile
cat $sqlfinalfile
mv $sqltmpfile $sqlpreviousfile
#echo -e « \nSQL with « `wc -l $sqlfinalfile |awk ‘ {print $1}` » line(s) generated : $sqlfinalfile »
#######################################
#
# PART 4 Update the db
#
######################################
echo -e « \n – PART 4 Update the db »
if [ -s $sqlfinalfile ] ; then
echo -e « \nFile size is NOT zero -> DB update needed »
echo » Stoping Domoticz ! »
sudo synopkg stop domoticz
echo » Domoticz stopped »
echo » Update DB START »
echo » Update Values »
sudo cat $sqlfinalfile |sqlite3 $dbfile
echo » Update Status »
sudo echo $DEVICESTATUS1 |sqlite3 $dbfile
echo » Update DB END \n »
echo » Starting Domoticz ! »
sudo synopkg start domoticz
echo » Domoticz started »
else
echo -e « \nFile size is zero -> DB update NOT needed »
fi
echo -e « \n ### END ###\n »
Et voici le script pour le aller chercher les archives, appellant le srcipt précédent :
#!/usr/bin/bash
#######################################################################################
# This script will get the data for previous month
# from SDEI/SOGEST (and others) website and insert into domoticz.db
# It requiere updateConsoEau.sh to be setup.
# Site : http://domotique.web2diz.net/
# Detail : http://domotique.web2diz.net/?p=131
# List of working provider : http://domotique.web2diz.net/?p=320
# Source : https://github.com/Sirus10/domoticz/blob/master/updateConsoEau_M-1.sh
# License : CC BY-SA 4.0
#
# Usage:
# ./updateConsoEau_M-1.sh
#
#######################################################################################
#
# PART 0 Common variables
#
#######################################################################################
#remplacer 60 par le nombre de mois souhaités
for i in $(seq 1 60); do
dateY=$(date +%Y -d « $i month ago »)
dateM=$(date +%m -d « $i month ago »)
echo « $dateY » « $dateM »
#adapter monuser et monrepertoire en fonction de la configuration souhaitée
sh /volume1/homes/monuser/monrepertoire/updateConsoEau.sh $dateY $dateM
done
Et celui pour le mois M-1 :
#!/usr/bin/bash
#######################################################################################
# This script will get the data for previous month
# from SDEI/SOGEST (and others) website and insert into domoticz.db
# It requiere updateConsoEau.sh to be setup.
# Site : http://domotique.web2diz.net/
# Detail : http://domotique.web2diz.net/?p=131
# List of working provider : http://domotique.web2diz.net/?p=320
# Source : https://github.com/Sirus10/domoticz/blob/master/updateConsoEau_M-1.sh
# License : CC BY-SA 4.0
#
# Usage:
# ./updateConsoEau_M-1.sh
#
#######################################################################################
#
# PART 0 Common variables
#
#######################################################################################
dateY=$(date +%Y -d « 1 month ago « )
dateM=$(date +%m -d « 1 month ago « )
echo « $dateY » « $dateM »
#######################################################################################
#
# PART 1 Run the main script with the M-1 variables
#
#######################################################################################
#adpater le chermin a votre config
sh /volume1/homes/monuser/monrepertoire/updateConsoEau.sh $dateY $dateM
A lancer en mode root (sudo) sous ssh.
On peut aussi les planifier dans le plannificateur du synology en les appelant en mode root.
Il faudra peut être donner les droits d’écriture sur le fichier domoticz.db (base de données de domoticz).
J’espère que cela pourra en aider quelques uns.
Bonne soirée.
Génial !
Merci pour ces scripts de la part de tout ceux qui utilisent synology !
Bonjour et merci pour les adaptations pour Syno!
Malheureusement cela depasse mes compétences pour l’install…
Faut il les pre requis codtés en debut de l’article à savoir « Ce script nécessite le shell ksh et sqlite3 »?
J’ai tenté de lancer le script sur mon Syno DS918+ avec la commande sh, sans succès 🙁
merci d’avance pour ton aide!
– PART 3 Generate SQL
comm: /home/pi/EAU/temps.generated.2018-01.sql: No such file or directory
mv: cannot stat `/home/pi/EAU/temps.generated.2018-01.sql’: No such file or directory
cela fonctionnait tres bien depuis plusieurs mois, et j’ai ce message d erreur
j’ai crée un fichier /temps.generated.2018-01.sql histoire de faire croire qu’il existe mais rien n’y fait et a la fin ca finit par
SQL with 0 line(s) generated : /home/pi/EAU/only_new_generated.2018-01.sql
– PART 4 Update the db
File size is zero -> DB update NOT needed
### END ###
As tu une idee du probleme?
je te remercie d’avance
Bonjour David, Tout d’abord Tous mes Voeux pour une Anneé 2018 pleine de Belles surprises de toutes natures.
Pour info j’ai le même problème qui est apparu depuis le 18 décembre 2017, depuis cette date je n’obtiens plus aucune donnée de la Lyonnaise des eaux, bug ou changement dans le procèdè de gestion des données chez la Lyonnaise ! ?
En lançant la procèdure manuellement je n’obtiens rien de plus; Personnellement je patiente un peu avant de me pencher sur le problème.
Bonjour,
avez vous les données plus récentes dans le portail de SUEZ ?
A+
Bonjour
merci bonne année a vous également, oui oui il y a des données lorsque je connecte sur le portail moi je n’ai plus de donnée depuis le 16 decembre sous domoticz et je suis chez suez PROVIDER=SDEI
j’ai essayé de tout reinstaller depuis zero, mais rien n’y fait
je vous remercie d’avance pour votre aide je suis null en programmation malheureusement 🙁
Bonne soirée
Bonjour David et Manu, Effectivement la date d’arrêt des données transférées est bien le 16/12/2017 et non pas le 18 comme je l’avais dit auparavant, le 15/12 les données ont bien été récupérées et le 16 plus de données récupérées jusqu’à ce jour, sur mon système je n’ai rien modifié il y a déja un moment, quand tout fonctionne bien pourquoi intervenir ? Mais à présent il y aura surement quelque chose à modifier si David et moi avons ce problème je présume que beaucoup d’autres doivent aussi l’avoir ! On a pas tous les jours le nez dans les compteurs si tout ronronne, certains vont probablement s’en appercevoir d’ici peu.
Bonjour,
Pour ma part je n’ai plus de compte SUEZ car j’ai déménagé.
Pouvez-vous me dire si il y a vos données récente sur le site https://www.toutsurmoneau.fr ?
Manu
Bonjour Manu,
Oui, il y a bien des données à jour sur le site.
Voila l’erreur du script en activant le DEBUG si ça te dit quelque chose 🙂
Le fichier généré est vide.
START DEBUG MODE
Using Configuration from file /home/pi/EAU/setup_perso
– PART 1 Get the data from website for 2018-01
########## debug URL START ###############
login page : https://www.toutsurmoneau.fr/mon-compte-en-ligne/je-me-connecte
datapage page : https://www.toutsurmoneau.fr/mon-compte-en-ligne/statJData/2018/01/XXXXX276584
########## debug URL END ###############
^[[5~########## debug csrftoken START ###############
csrftoken :
dfFKKdmq6lVveYSiQ0jv3CE6GhCs_RFoRiFItHy4Sxo
########## debug csrftoken END ###############
– TOKEN OK
– LOGIN OK
########## debug export_file START ###############
[« ERR », »Aucune consommation n’a \u00e9t\u00e9 enregistr\u00e9e sur cette p\u00e9riode »]########## debug export_file EN D ###############
– DATA collection OK
/home/pi/EAU/2018-01.dat generated
– PART 2 Update .dat file
########## debug .dat file START ###############
########## debug .dat file END ###############
/home/pi/EAU/2018-01.dat Updated
Merci,
donc tu as bien les données de consommation de Janvier sur le graphique sur le site https://www.toutsurmoneau.fr ?
c’est bien ça ?
Désolé d’inciser c’est pour être sur de comprendre.
Manu
correct, toutes les données jusqu’au 8 janvier
Le site toutsurmoneau.fr était en maintenance pendant les fêtes, ils ont peut être fait des modifs qui impactent le script
Merci,
je viens de poster un commentaire ici :
http://easydomoticz.com/forum/viewtopic.php?f=7&t=711&p=47550#p47550
si tu peux regarder si tu arrives a trouver la bonne url avec quelque chose qui ressemble a des données de consommation…
Manu
https://www.toutsurmoneau.fr/mon-compte-en-ligne/statJData/2018/1/7138812323?_=1515599483907
C’est l’URL ou l’on voit clairement les données présentent sur la lyonnaise des eaux, si cela peut aider. J’ai fait une copie d’écran des trois index les plus parlant : Headers, Preview et Response, si cela peut interresser quelqu’un pour aider à rsoudre l’énigme les copies sont disponible en pdf.
Bonjour
Est ce que une personne peut nous aider ?
Je vous remercie de avance
Bonjour David,
Tout est expliqué sur ce forum http://easydomoticz.com/forum/viewtopic.php?f=7&t=711&p=47550#p47550
bye
Bonjour
« Vous pouvez changer le ficher setup_perso uniquement en modifiant la ligne sdeicode et ainsi garder le script tel quel. Normalment ca devrait marcher. »
désolé je n’ai pas compris ce que je dois faire, je dois mettre quoi sdeicode ? est ce qu’il y autre chose à faire ?
je vous remercie d’avance
Bonjour David,
Il faut y copier les chiffres récupérés de l’url des données comme expliqué dans cette réponse
http://easydomoticz.com/forum/viewtopic.php?f=7&t=711&p=47550#p47553
bye
Hello
ca fonctionne super bien
désolé je n’avais pas compris merci beaucoup Piben
Bonjour
Est ce que il existe un script équivalent pour gazpar ? Et le linky EDF ? Merci et bonne journée
Bonjour,
J’ai un souci depuis le 30 mars 2018 (j’ai fait une reinstallation du script et verifier que le chiffre URL n’a pas changé) mais ca ne fonctionne plus ….
– PART 3 Generate SQL
./updateConsoEau.sh: line 203: * 100: arithmetic syntax error
comm: /home/pi/EAU/temps.generated.2018-04.sql: No such file or directory
mv: cannot stat `/home/pi/EAU/temps.generated.2018-04.sql’: No such file or directory
SQL with 0 line(s) generated : /home/pi/EAU/only_new_generated.2018-04.sql
Pouvez vous m’aider?
Bonne journée
David
Bonsoir,
même problème…
Pourtant j’ai bien la consommation sur le site…
[[« 01\/04\/2018 »,0.213,188.891],[« 02\/04\/2018 »,0.587,189.478],[« 03\/04\/2018 »,0.295,189.773],[« 04\/04\/2018 »,0.719,190.492],[« 05\/04\/2018 »,0.339,190.831],[« 06\/04\/2018 »,0.276,191.107],[« 07\/04\/2018 »,0.448,191.555],[« 08\/04\/2018 »,0.427,191.982],[« 09\/04\/2018 »,0.267,192.249],[« 10\/04\/2018 »,1.117,193.366],[« 11\/04\/2018 »,0.086,193.452],[« 12\/04\/2018 »,0.11,193.562],[« 13\/04\/2018 »,0.129,193.691],[« 14\/04\/2018 »,0.099,193.79],[« 15\/04\/2018 »,0,193.79],[« 16\/04\/2018 »,0.129,193.919],[« 17\/04\/2018 »,0.187,194.106],[« 18\/04\/2018 »,0.229,194.335],[« 19\/04\/2018 »,0.376,194.711]
Ci dessous le résultat du script et encore dessous le contenu du fichier.dat
Si vous avez des idées, je suis preneur. Merci d’avance
—————————————————-
/home/pi/EAU/updateConsoEau.sh
—————————————————-
Using Configuration from file /home/pi/EAU/setup_perso
– PART 1 Get the data from website for 2018-04
– TOKEN OK
– DATA collection OK
/home/pi/EAU/2018-04.dat generated
– PART 2 Update .dat file
/home/pi/EAU/2018-04.dat Updated
– PART 3 Generate SQL
/home/pi/EAU/updateConsoEau.sh: line 203: * 100: arithmetic syntax error
comm: /home/pi/EAU/temps.generated.2018-04.sql: No such file or directory
mv: cannot stat `/home/pi/EAU/temps.generated.2018-04.sql’: No such file or directory
SQL with 0 line(s) generated : /home/pi/EAU/only_new_generated.2018-04.sql
– PART 4 Update the db
File size is zero -> DB update NOT needed
### END ###
—————————————————-
fichier data
—————————————————-
<meta http-equiv=refresh content=1;url=https://www.toutsurmoneau.fr/mon$
Redirecting to https://www.toutsurmoneau.fr/mon-compte-en-ligne/$
Redirecting to <a href=https://www.toutsurmoneau.fr/mon-compte-en-ligne$
Super réalisation.
J’ai pu ainsi récupérer dans Domoticz toutes les consommations d’eau chez SUEZ pour 2018.
Seul problème rencontré : trouver le numéro personnel du compteur qui n’est pas indiqué sur le site « toutsurmoneau.fr »
La solution proposée dans la procédure(avec Chrome) ne fonctionne pas avec Firefox.
J’ai utilisé une solution simple:
Sur le site SUEZ, aller à la page historique de consommation, et noter dans l’URL correspondant à l’exportation des données vers Excel le numéro de compteur (les 10 chiffres à la fin de l’URL.
Bonjour,
Le CAPTCHCA mis en place par SUEZ et bloquant le fonctionnement du script a été désactivé (du moins pour mon compte).
Par contre le format de récupération des données est au format EXCEL et est donc mal interprété au niveau du script.
Serait-il possible de corriger le script d’importation pour remettre en service cette fonctionnalité très intéressante dans Domoticz?
Bonjour,
Je vois que le topic date mais je tente une question!
J’ai un compteur intelligent et donc plus de possibilité de capter les impulsions (ce que je faisais avant le passage au 3 ème millénaire).
Votre solution me tente mais je suis dans le nord de la FRANCE et chez NOREADE, fournisseur inconue dans votre script. Je peux visualiser sur leur site ma consommation mais est ce que votre script peux fonctionner et quels sont les adaptations à réaliser pour visualiser sur DOMOTICZ?
J’espere avoir une réponse! en tout cas super travail, moi je suis un utilisateur des scripts je n’ai certainement pas le niveau requis pour réaliser cela.
Fréd