[Tuto] Consomation d'eau ajout simple dans DomoticZ

Vous avez créé un script LUA dont vous êtes fier, un .sh génial, un programme Python hors du commun, un Tuto, c'est ici que vous pouvez les partager.
jacques68
Messages : 241
Inscription : 10 mai 2015, 12:21

Re: [TUTO] Consomation d'eau ajout dans domoticz - SDEI

Message par jacques68 »

Merci je vais tester de suite!!! :D
jacques68
Messages : 241
Inscription : 10 mai 2015, 12:21

Re: [TUTO] Consomation d'eau ajout dans domoticz - SDEI

Message par jacques68 »

:oops: :oops: :oops:
Bon toujours pas mieux... toujours cette foutue erreur arithmetic.
J'ai donc repris mon fichier 2015-08.dat modifié manuellement pour voir ce que ca donne.
Ca bloque a l'etape 4.... J'ai ceci:

Code : Tout sélectionner

 - PART 4 Update the db

File size is NOT zero -> DB update needed
 Stoping Domoticz !
 Domoticz stopped
Update DB START
Update Values
Error: near line 1: attempt to write a readonly database
Error: near line 2: attempt to write a readonly database
Error: near line 3: attempt to write a readonly database
Error: near line 4: attempt to write a readonly database
Error: near line 5: attempt to write a readonly database
Error: near line 6: attempt to write a readonly database
Error: near line 7: attempt to write a readonly database
Update Status
Error: near line 1: attempt to write a readonly database
Update DB END
 Starting Domoticz !
2015-08-11 20:03:46.034  Domoticz V2.2713 (c)2012-2015 GizMoCuz
2015-08-11 20:03:46.035  System: Raspberry Pi
2015-08-11 20:03:46.037  Startup Path: /home/pi/domoticz/
domoticz: Domoticz is starting up....
Je pense un probleme de droit en ecriture......mais ou?

EDIT: Bon ce soucis est réglé, probleme de droit sur le fichier DB mais le compteur est toujours a zero.....
jacques68
Messages : 241
Inscription : 10 mai 2015, 12:21

Re: [TUTO] Consomation d'eau ajout dans domoticz - SDEI

Message par jacques68 »

Requetes sql obtenues:

Code : Tout sélectionner

- PART 3 Generate SQL
DELETE FROM `Meter_Calendar` WHERE devicerowid=68 and date = '2015-08-01'; INSERT INTO `Meter_Calendar` VALUES ('68', (100*18                                                         5), '468.902', '2015-08-01' );
DELETE FROM `Meter_Calendar` WHERE devicerowid=68 and date = '2015-08-02'; INSERT INTO `Meter_Calendar` VALUES ('68', (100*34                                                         4), '469.246', '2015-08-02' );
DELETE FROM `Meter_Calendar` WHERE devicerowid=68 and date = '2015-08-03'; INSERT INTO `Meter_Calendar` VALUES ('68', (100*44                                                         5), '469.691', '2015-08-03' );
DELETE FROM `Meter_Calendar` WHERE devicerowid=68 and date = '2015-08-04'; INSERT INTO `Meter_Calendar` VALUES ('68', (100*58                                                         1), '470.271', '2015-08-04' );
DELETE FROM `Meter_Calendar` WHERE devicerowid=68 and date = '2015-08-05'; INSERT INTO `Meter_Calendar` VALUES ('68', (100*43                                                         3), '470.704', '2015-08-05' );
DELETE FROM `Meter_Calendar` WHERE devicerowid=68 and date = '2015-08-06'; INSERT INTO `Meter_Calendar` VALUES ('68', (100*50                                                         8), '471.212', '2015-08-06' );
DELETE FROM `Meter_Calendar` WHERE devicerowid=68 and date = '2015-08-07'; INSERT INTO `Meter_Calendar` VALUES ('68', (100*41                                                         6), '471.628', '2015-08-07' );
update DeviceStatus set lastupdate = '2015-08-07 22:22:38' where id = 68;
sirus
Messages : 131
Inscription : 05 mai 2015, 18:09
Contact :

Re: [TUTO] Consomation d'eau ajout dans domoticz - SDEI

Message par sirus »

Heu le saut de ligne entre 18 et 5 est pas normal. Tu es sur qu'il est bien en format unix?
Si tu veux utiliser ton fichier .dat il faut enlever le 100 * dans la requette. Le reste semble ok.

Si te veux juste tester le requete tu peux faire:
sqlite3 /home/pi/doloticz/doloticz.db
Puis tu tapes ta requeete sql...

Tu as aussi sqlite3browther que est plus convivial pour pc. Il te suffit juste a recupere ta db sur ton pc (voa sauvegarde par ex)... Ca te permetra de debuger tes requettes sql.
Raspberry B+ & PI2 / Domoticz / RFXtrx433E / multiple homemade devices
My blog/tutos for domoticz / electronics stuff : domotique.web2diz.net
jacques68
Messages : 241
Inscription : 10 mai 2015, 12:21

Re: [compteur d'eau ajout dans domoticz - SDEI

Message par jacques68 »

Bon après un reboot de tout le "tointoin"....j'obtiens ceci.... :)

Code : Tout sélectionner

root@raspberrypi:/home/pi# /home/pi/SDEI/updateConsoEau.sh
/home/pi/SDEI/updateConsoEau.sh[18]: [: argument expected

 - PART 1 Get the data from SDEI for 2015-08

 /home/pi/SDEI/2015-08.dat generated
rm: impossible de supprimer « /home/pi/SDEI/cookiefile »: Aucun fichier ou dossier de ce type

 - PART 2 Update .dat file

 /home/pi/SDEI/2015-08.dat Updated



 - PART 3 Generate SQL
DELETE FROM `Meter_Calendar` WHERE devicerowid=69 and date = '2015-08-01'; INSERT INTO `Meter_Calendar` VALUES ('69', (100*185), '468.902', '2015-08-01' );
DELETE FROM `Meter_Calendar` WHERE devicerowid=69 and date = '2015-08-02'; INSERT INTO `Meter_Calendar` VALUES ('69', (100*344), '469.246', '2015-08-02' );
DELETE FROM `Meter_Calendar` WHERE devicerowid=69 and date = '2015-08-03'; INSERT INTO `Meter_Calendar` VALUES ('69', (100*445), '469.691', '2015-08-03' );
DELETE FROM `Meter_Calendar` WHERE devicerowid=69 and date = '2015-08-04'; INSERT INTO `Meter_Calendar` VALUES ('69', (100*581), '470.271', '2015-08-04' );
DELETE FROM `Meter_Calendar` WHERE devicerowid=69 and date = '2015-08-05'; INSERT INTO `Meter_Calendar` VALUES ('69', (100*433), '470.704', '2015-08-05' );
DELETE FROM `Meter_Calendar` WHERE devicerowid=69 and date = '2015-08-06'; INSERT INTO `Meter_Calendar` VALUES ('69', (100*508), '471.212', '2015-08-06' );
DELETE FROM `Meter_Calendar` WHERE devicerowid=69 and date = '2015-08-07'; INSERT INTO `Meter_Calendar` VALUES ('69', (100*416), '471.628', '2015-08-07' );
update DeviceStatus set lastupdate = '2015-08-07 00:02:20' where id = 69;

 - 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-08-12 00:02:25.600  Domoticz V2.2713 (c)2012-2015 GizMoCuz
2015-08-12 00:02:25.601  System: Raspberry Pi
2015-08-12 00:02:25.602  Startup Path: /home/pi/domoticz/
domoticz: Domoticz is starting up....
 Domoticz started

 ### END ###

Ceci avec mon fichier modifié
Et dans Domoicz....
Pièces jointes
compteur.png
compteur.png (166.66 Kio) Consulté 8751 fois
jacques68
Messages : 241
Inscription : 10 mai 2015, 12:21

Re: [TUTO] Consomation d'eau ajout dans domoticz - SDEI

Message par jacques68 »

:D :D On avance donc doucement mais surement....
Enfin j'espere... :mrgreen:
sirus
Messages : 131
Inscription : 05 mai 2015, 18:09
Contact :

Re: [TUTO] Consomation d'eau ajout dans domoticz - SDEI

Message par sirus »

Cool !

Je pense que tu devrair yrnymter un update...

sudo apt-get update
sudo apt-get upgrade
Raspberry B+ & PI2 / Domoticz / RFXtrx433E / multiple homemade devices
My blog/tutos for domoticz / electronics stuff : domotique.web2diz.net
jacques68
Messages : 241
Inscription : 10 mai 2015, 12:21

Re: [TUTO] Consomation d'eau ajout dans domoticz - SDEI

Message par jacques68 »

J'ai fait mise à jour comme demandé , mais en faisant tourné normalement toujours cette erreur aritmethic 0.185.
J'ai un peu bidouillé le code en ajoutant ceci:

Code : Tout sélectionner

sed -e 's/0./0/g' file3 > file4
Dans la partie : PART 2 set the file to be usable apres la ligne 76
Du coup mon 0.185 se transforme en 0185 et plus d'erreur arithmetic..... :mrgreen:

Mais se serait trop facile.....car dans mon fichier .dat au lieu d'obtenir ceci:

Code : Tout sélectionner

01/08/2015,185,468.902
02/08/2015,344,469.246
03/08/2015,445,469.691
04/08/2015,581,470.271
05/08/2015,433,470.704
06/08/2015,508,471.212
07/08/2015,416,471.628
J'obtiens cela:

Code : Tout sélectionner

[[0/0/205,0185,468.90],[0/0/205,0344,469.246],[0/0/205,0445,469.691],[0/0/205,0581,470271],[0/0/205,0433,47070],[0/0/205,050,471.212],[0/0/205,0416,471.628],[0/0/205,04,472.08],[0/0/205,0314,472.3$
Probleme de mise en forme sous forme de tableau....et la date déconne.... :?: :?: :?:
En fait faudrait que je puisse adapter ma formule juste sur la deuxieme colonne.....je cherche je cherche mais suis qu'un pauvre débutant alors pas évident...
sirus
Messages : 131
Inscription : 05 mai 2015, 18:09
Contact :

Re: [TUTO] Consomation d'eau ajout dans domoticz - SDEI

Message par sirus »

Hello,

oui en modifiant les sed tu devrais arriver a tes fins !

Code : Tout sélectionner

sed -e 's/\\//g' $export_file > file1  # supprime les "\" et les remplace par rien
sed -e 's/\],\[/\n/g' file1 > file2  # supprime les "],[" et  remplace par des saut de ligne
sed -e 's/\[\[/\n/g' file2 > file3  # supprime les "[["   et remplace par des saut de ligne

sed -e 's/\"//g' file3  |grep -v ",0,0" |grep -e '^$' -v |grep -v ERR  > $export_file 
# supprime les " , les ",0,0"
# supprime les lignes d'erreur si il y en a (ex : pbl de connection)
pour t'aider tu peux supprimer la ligne :

Code : Tout sélectionner

rm file1 file2 file3 
qui supprime les fichier intermédiaires


Pour travailler que sur val (premiere valeur du fichier apres mise ne format ) tu peux remplacer :

Code : Tout sélectionner

val1=$(( $val * 100))
par :

Code : Tout sélectionner

val1=`echo $val | sed -e 's/0\.//g'`
ca va pas marcher si tu consomme plus de 1m3... mais ce reste pas trop mal .. .
Raspberry B+ & PI2 / Domoticz / RFXtrx433E / multiple homemade devices
My blog/tutos for domoticz / electronics stuff : domotique.web2diz.net
jacques68
Messages : 241
Inscription : 10 mai 2015, 12:21

Re: [TUTO] Consomation d'eau ajout dans domoticz - SDEI

Message par jacques68 »

Merci!!
Je lance mes test!!! :D

EDIT:
Bon pour l'instant rien de neuf...choux blanc toujours la meme erreur arthmetic......
Dans le fichier .dat il faut que j'arrive a supprimer "0." par "0" et après ca roulera mieux....
Répondre