Page 10 sur 27

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

Publié : 17 janv. 2016, 14:29
par fabd
which ksh ne donne rien.

Merci pour les liens, j'en avais trouvé d'autres qui ne donnaient rien mais le premier lien est tres bien commenté. Je suis en train de le dérouler :geek:

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

Publié : 17 janv. 2016, 14:34
par sirus
@scoubi
Je viens de voir que la première ligne du script avait disparu suite a une mauvaise manip surement de ma part.

je viens de corriger le script, source. Pour corriger cela tu peux ajouter la ligne suivant en début de script

Code : Tout sélectionner

#!/usr/bin/ksh
ou télécharger la dernière version :

Code : Tout sélectionner

cd /home/pi/EAU
curl -O https://raw.githubusercontent.com/Sirus10/domoticz/master/updateConsoEau.sh
chmod +x updateConsoEau.sh
cela demandera de remettre tes paramètres perso (voir ici).

+ si le which ksh ne donne rien c'est qu'il n'est pas installé.

Moi ca donne :

Code : Tout sélectionner

/usr/bin/ksh
A+

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

Publié : 17 janv. 2016, 15:01
par fabd
Je progresse, j'ai bien reussi a installer ksh et sqlite avec ces lignes pour reparer:

Code : Tout sélectionner

sudo dpkg --clear-avail
sudo apt-get update
Fichier configuré comme il faut.

je lance en compte root et mon premier message d'erreur

Code : Tout sélectionner

 - PART 3 Generate SQL
/home/pi/EAU/updateConsoEau.sh: line 127: 0.325 * 100: syntax error: invalid ari                                                             thmetic operator (error token is ".325 * 100")
comm: /home/pi/EAU/temps.generated.2016-01.sql: No such file or directory
update DeviceStatus set lastupdate = '2016-01-01 15:06:26' where id = 6;
mv: cannot stat `/home/pi/EAU/temps.generated.2016-01.sql': No such file or dire                                                             ctory


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

Publié : 17 janv. 2016, 16:04
par sirus
essayes de lancer le script comme cela :

Code : Tout sélectionner

/usr/bin/ksh /home/pi/EAU/updateConsoEau.sh
et dis moi ce que ca done.

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

Publié : 17 janv. 2016, 16:38
par fabd
j'ai installé le package bc et refait la formule ligne a partir de la ligne 127

Code : Tout sélectionner

#### VAL1  ####


#val1=$(( $val * 100))
val1=$(bc <<<"$val * 100")

if [[ $val -eq 0 ]];
then
          float val1=$((100 * ($val2-$prevVal2)))
fi

prevVal2=$val2
ca me permet de lancer le script, de logguer les données dans la base, mais j'ai pas mal d'erreur. Pour chaque ligne du fichier DAT, il me dit erreur arithmetique a la ligne 130. Mais comme j'ai pas compris ce que ca faisait, j'ai pas cherché a remplacer par bc.

On peut m'expliquer pourquoi ca marche chez vous et pas chez moi ?

A noter que pour le mois de décembre que j'ai importé, il ne m'a pas inserer les valeurs pour les 28/29/30/31 decembre... Why? le formatage avait l'air clean. Je l'ai rejoué a la main.

Code : Tout sélectionner

 - PART 3 Generate SQL
0.235
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.235: syntax error: invalid arithmetic operator (error token is ".235")
0.162
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.162: syntax error: invalid arithmetic operator (error token is ".162")
0.214
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.214: syntax error: invalid arithmetic operator (error token is ".214")
0.228
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.228: syntax error: invalid arithmetic operator (error token is ".228")
0.439
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.439: syntax error: invalid arithmetic operator (error token is ".439")
0.254
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.254: syntax error: invalid arithmetic operator (error token is ".254")
0.217
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.217: syntax error: invalid arithmetic operator (error token is ".217")
0.189
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.189: syntax error: invalid arithmetic operator (error token is ".189")
0.207
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.207: syntax error: invalid arithmetic operator (error token is ".207")
0.218
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.218: syntax error: invalid arithmetic operator (error token is ".218")
0.262
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.262: syntax error: invalid arithmetic operator (error token is ".262")
0.411
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.411: syntax error: invalid arithmetic operator (error token is ".411")
0.309
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.309: syntax error: invalid arithmetic operator (error token is ".309")
0.157
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.157: syntax error: invalid arithmetic operator (error token is ".157")
0.297
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.297: syntax error: invalid arithmetic operator (error token is ".297")
0.219
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.219: syntax error: invalid arithmetic operator (error token is ".219")
0.323
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.323: syntax error: invalid arithmetic operator (error token is ".323")
0.147
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.147: syntax error: invalid arithmetic operator (error token is ".147")
0.308
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.308: syntax error: invalid arithmetic operator (error token is ".308")
0.191
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.191: syntax error: invalid arithmetic operator (error token is ".191")
0.273
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.273: syntax error: invalid arithmetic operator (error token is ".273")
0.227
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.227: syntax error: invalid arithmetic operator (error token is ".227")
0.252
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.252: syntax error: invalid arithmetic operator (error token is ".252")
0.3
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.3: syntax error: invalid arithmetic operator (error token is ".3")
0.393
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.393: syntax error: invalid arithmetic operator (error token is ".393")
0.948
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.948: syntax error: invalid arithmetic operator (error token is ".948")
0.154
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.154: syntax error: invalid arithmetic operator (error token is ".154")
0.026
/home/pi/EAU/updateConsoEau.sh: line 130: [[: 0.026: syntax error: invalid arithmetic operator (error token is ".026")
0
/home/pi/EAU/updateConsoEau.sh: line 132: 100 * (675.464-675.464): syntax error: invalid arithmetic operator (error token is ".464-675.464)")
update DeviceStatus set lastupdate = '2015-12-29 16:05:17' where id = 6;

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

Publié : 17 janv. 2016, 16:46
par fabd
Autre point pour le CRON

J'ai fait un copié collé tout bete de ta ligne

#Get data for WATER :
15 6,10 * * * su - pi -c "/home/pi/EAU/updateConsoEau.sh > /tmp/updateConsoEau

je vais pas avoir des problemes de droits ?

Je verrais bien demain matin :)

En tout cas, c'est un excellent boulot :o) j'avais pas eu le temps de le faire par moi meme, mais j'ai pris du plaisir a mettre en place le tien 8-)

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

Publié : 17 janv. 2016, 16:59
par sirus
Pour ma part j'avais les même problème au début avant que ksh soit installé :
[[: 0.235: syntax error: invalid arithmetic operator (error token is ".235")

ca ressemble bien a un problème d’interprétation de la formule, il ne semble pas vouloir faire le calcul.

mon fichier .dat ressemble a cela :

Code : Tout sélectionner

01/01/2016,0.068,435.342
02/01/2016,0.23,435.573
03/01/2016,0.08,435.652
04/01/2016,0.151,435.804
ca ressemble au tien ?

et par rapport au script ça correspond a cela :
date,val,val2

tu es sûr que ksh est bien installé ?
que donne :

Code : Tout sélectionner

which ksh 

Sinon c'est le contenu du fichier .zat qui n'est pas correct ?


pour la crontab effectivement si pi n'as pas accé en ecriture à la base de données et au répertoire EAU ça va pas marcher.

j'utiliserais plutot en root :

Code : Tout sélectionner

15 6,10 * * * /home/pi/EAU/updateConsoEau.sh > /tmp/updateConsoEau.log


(j'ai mis a jour le tuto)

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

Publié : 17 janv. 2016, 20:30
par fabd
ksh est bien installé.

Le contenu de mon fichier dat est correct aussi.

Extrait du mois de décembre

Code : Tout sélectionner

01/12/2015,0.235,668.139
02/12/2015,0.162,668.301
03/12/2015,0.214,668.515
04/12/2015,0.228,668.743
05/12/2015,0.439,669.182
06/12/2015,0.254,669.436
07/12/2015,0.217,669.653
08/12/2015,0.189,669.842
09/12/2015,0.207,670.049
10/12/2015,0.218,670.267
11/12/2015,0.262,670.529
12/12/2015,0.411,670.94
13/12/2015,0.309,671.249
14/12/2015,0.157,671.406
15/12/2015,0.297,671.703
16/12/2015,0.219,671.922
17/12/2015,0.323,672.245
18/12/2015,0.147,672.392
19/12/2015,0.308,672.7
20/12/2015,0.191,672.891
21/12/2015,0.273,673.164
22/12/2015,0.227,673.391
23/12/2015,0.252,673.643
24/12/2015,0.3,673.943
25/12/2015,0.393,674.336
26/12/2015,0.948,675.284
27/12/2015,0.154,675.438
28/12/2015,0.026,675.464
29/12/2015,0,675.464
30/12/2015,0.008,675.472
31/12/2015,0.232,675.704]]
J'ai compris pourquoi je n'avais rien entre le 28 et le 31. C'est que j'était en vacances et que la conso était nulle (enfin pas tout à fait)

Je pense qu'il faudrait adapter le script pour gerer ceci

Je regarderai demain de plus pres

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

Publié : 17 janv. 2016, 20:55
par sirus
Le script gere deja les conso journalieres nulle. En tout cas sur mon domoticz ca fonctionne. Tu devrais avoir une ligne avec 0 pour le 29 dans le fichier sql.

J'esserrai plus tard mon script sur mon raspberry avec ton ficher .dat pour voir un peu mieux..

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

Publié : 18 janv. 2016, 18:46
par sirus
Je viens d'essayer ton fichier .dat (copier coller tel quel) sur mon raspberry avec le script a jour et j’obtiens bien des commandes sql correctes et pas de message d'erreur.

Donc je pense que ça vient de ton raspberry qui n'as pas les package correctement installé. (ksh certainement).

Code : Tout sélectionner

DELETE FROM `Meter_Calendar` WHERE devicerowid=2000 and date = '2015-12-01'; INSERT INTO `Meter_Calendar` VALUES ('2000', '23.5', '668.139', '2015-12-01' );
DELETE FROM `Meter_Calendar` WHERE devicerowid=2000 and date = '2015-12-02'; INSERT INTO `Meter_Calendar` VALUES ('2000', '16.2', '668.301', '2015-12-02' );
[...]

Pour tester ksh tu peux tester les commandes suivantes par exemple :

Code : Tout sélectionner

# ksh
# var=12.12
# echo $(($var*10))
121.2