[PROJET] Gestion de piscine

Posez vos questions concernant le Raspberry (conseil avant achat, choix de connectique, demandes de câblages...) un espace spécifiques pour les questions relatives aux scripts shell,bask,block etc ... est ouvert dans un autre forum.
aleph0
Messages : 192
Inscription : 27 avr. 2016, 08:06
Localisation : Hérault (34)

Re: [PROJET] Gestion de piscine

Messagepar aleph0 » 28 mai 2018, 22:13

Oui, mais normalement l'influence se fait dans le sens inverse de celui constaté par chacal : le chlore se trouve sous une forme plus désinfectante lorsque le pH est bas que lorsqu'il est haut. Du coup pH baisse => redox monte et inversement.

Je ne sais pas ce qu'il en est pour les autres désinfectants (brome, ...)

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


chacal1985
Messages : 107
Inscription : 10 juin 2017, 11:22

Re: [PROJET] Gestion de piscine

Messagepar chacal1985 » 13 juin 2018, 15:36

Bonjour,

Bon je viens animé un peu le sujet car depuis 15 jours plus rien.

J'ai arrêté les mesures car le l'orp, ne donne pas des valeurs cohérentes et le ph n'étant pas concluant au final.
Bref des mesures qui ne me permettent pas de faire une régulation fiable et sans danger. :(
C'est dommage car j'y ai investi du temps et de l'argent. ( Au pire je vais tester la solution Domogarden car j'ai tout le matos )

Par contre j'ai voulu remettre en route la filtration automatique mais je me retrouve avec des erreurs lorsque je lance le script et je ne comprend pas pourquoi.

L'erreur dans le log est :
Error: EventSystem: in Piscine 7: [string "--[[ Script de gestion de la piscine
..."]:47: attempt to perform arithmetic on local 'num' (a string value)

et aussi

Error: EventSystem: in Piscine 7: [string "--[[ Script de gestion de la piscine
..."]:203: attempt to perform arithmetic on a string value


Voici le code pour la première erreur ( ligne 42 correspond à function round(num, dec)

Code : Tout sélectionner

-- -------------------------------
-- Bibliothèque de fonctions
-- -------------------------------
local CmdIdx=1
local debug=1

function round(num, dec)
    if num == 0 then
        return 0
    else
        local mult = 10^(dec or 0)
        return math.floor(num * mult + 0.5) / mult
    end
end



Pour la seconde : ( ligne 203 correspond à PpeFait=..... )

Code : Tout sélectionner

-- Calcul de la durée de fonctionnement de la pompe aujourd'hui
            -- Basé sur le compteur de puissance piscine
            today = os.date("%Y-%m-%d")
            PpeFait=os.capture('sqlite3 '..dbPath..' "select sum(value3) from multimeter where devicerowid='..otherdevices_idx[dev_cptFl]..' and Date(date)=\''..today..'\'"')*5/cst_PpeFl_W
            print("Déjà effectué : "..PpeFait.." minutes sur "..PpeDuree)



C'est bizarre car j'ai rien touché au code depuis l'an dernier (enfin il me semble)

Jeff
Messages : 457
Inscription : 17 nov. 2016, 20:54
Localisation : Rennes (35)

Re: [PROJET] Gestion de piscine

Messagepar Jeff » 13 juin 2018, 15:43

Moi cela m'est aussi arrivé au début de saison, j'ai mis une fausse valeur à l'endroit où on récupère la valeur moyenne de temp de la veille otherdevice_svalues... et qui passe par la fonction round et une fois que tourne une journée, je remets à l'origine.
Je n'ai pas le code sous les yeux. :?
Version: 3.81.53; KMTronic usb ; RFXCOM Rfxtrx433e ext/1007 ; Zwave (Z-stick GEN5, Fibaro...) DIO ; OREGON/4 THGN/PCR800; DIY/3 temp, Teleinfo usb; RFLink; MYSensors v2.0/GW Lan/Power meter/RGB 3D; ESPeasy Oled, Nextion...

chacal1985
Messages : 107
Inscription : 10 juin 2017, 11:22

Re: [PROJET] Gestion de piscine

Messagepar chacal1985 » 14 juin 2018, 18:42

Pfff , je comprend pas pourquoi j'ai cette erreur , Jeff ou aleph0, au secours ! :cry:

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


aleph0
Messages : 192
Inscription : 27 avr. 2016, 08:06
Localisation : Hérault (34)

Re: [PROJET] Gestion de piscine

Messagepar aleph0 » 14 juin 2018, 20:08

Sûrement l'interrogation de SQLite qui se passe mal et qui renvoi un message d'erreur lieu d'une valeur. Essaye de faire afficher le résultat de os.capture dans les logs pour voir ce qui est retourné
Dernière édition par aleph0 le 15 juin 2018, 10:24, édité 1 fois.

chacal1985
Messages : 107
Inscription : 10 juin 2017, 11:22

Re: [PROJET] Gestion de piscine

Messagepar chacal1985 » 14 juin 2018, 23:11

Merci aleph0, alors tu m'aides mais sans m'aider :D

Car je ne sais pas comment faire pour appliquer ta solution.

Désolé :?

aleph0
Messages : 192
Inscription : 27 avr. 2016, 08:06
Localisation : Hérault (34)

Re: [PROJET] Gestion de piscine

Messagepar aleph0 » 15 juin 2018, 10:23

entre la ligne today=... et PpeFait=... rajoute

Code : Tout sélectionner

print("interrogation sqlite :",os.capture('sqlite3 '..dbPath..' "select sum(value3) from multimeter where devicerowid='..otherdevices_idx[dev_cptFl]..' and Date(date)=\''..today..'\'"'))

et poste le résultat stp

chacal1985
Messages : 107
Inscription : 10 juin 2017, 11:22

Re: [PROJET] Gestion de piscine

Messagepar chacal1985 » 15 juin 2018, 11:02

Salut Aleph0,

Alors dans le log, je n'ai que ça qui remonte :
2018-06-15 11:00:01.257 Status: LUA: Contrôle pression filtre piscine
2018-06-15 11:00:01.265 Status: LUA: Script Piscine : Calcul de la filtration
2018-06-15 11:01:01.265 Status: LUA: Contrôle pression filtre piscine
2018-06-15 11:01:01.273 Status: LUA: Script Piscine : Gestion de la filtration
2018-06-15 11:01:01.273 Status: LUA: 21.1
2018-06-15 11:01:01.284 Status: LUA: interrogation sqlite :
2018-06-15 11:01:01.284 Status: LUA:

et ça en erreurs :

2018-06-15 11:00:01.276 Error: EventSystem: in Piscine 7: [string "--[[ Script de gestion de la piscine
..."]:47: attempt to perform arithmetic on local 'num' (a string value)
2018-06-15 11:01:01.294 Error: EventSystem: in Piscine 7: [string "--[[ Script de gestion de la piscine
..."]:204: attempt to perform arithmetic on a string value




Ligne 47

Code : Tout sélectionner

return math.floor(num * mult + 0.5) / mult


Ligne 204

Code : Tout sélectionner

            PpeFait=os.capture('sqlite3 '..dbPath..' "select sum(value3) from multimeter where devicerowid='..otherdevices_idx[dev_cptFl]..' and Date(date)=\''..today..'\'"')*5/cst_PpeFl_W

aleph0
Messages : 192
Inscription : 27 avr. 2016, 08:06
Localisation : Hérault (34)

Re: [PROJET] Gestion de piscine

Messagepar aleph0 » 15 juin 2018, 11:18

Ça confirme que c'est l'interrogation sql pour connaître le temps de filtration déjà effectué qui ne marche pas :-(
Vérifie :
- Que le compteur d'énergie de la pompe de filtration soit bien mis à jour et que tu as des données pour la journée courante
- Qu'il soit bien de type P1 smart-counter
- Qu'il n'ai pas changé de nom par rapport à ce qui est déclaré dans la variable dev_cptFl

Si tout ça est bon, il va falloir s'intéresser à la ligne requête sqlite elle-même. modifie la ligne précédente par :

Code : Tout sélectionner

print("interrogation sqlite :",'sqlite3 '..dbPath..' "select sum(value3) from multimeter where devicerowid='..otherdevices_idx[dev_cptFl]..' and Date(date)=\''..today..'\'"')

et poste nous le résultat

chacal1985
Messages : 107
Inscription : 10 juin 2017, 11:22

Re: [PROJET] Gestion de piscine

Messagepar chacal1985 » 15 juin 2018, 11:50

Alors le compteur est bien mis à jour. ( là la pompe est éteinte donc 0, mais si je mets la pompe en route il m'indique 750 )
C'est bien un P1 smart-counter
C'est bien le même nom que dans le script


Voici le retour du log :

2018-06-15 11:46:01.208 Status: LUA: Script Piscine : Gestion de la filtration
2018-06-15 11:46:01.208 Status: LUA: 21.1
2018-06-15 11:46:01.208 Status: LUA: interrogation sqlite :
2018-06-15 11:46:01.208 Status: LUA: sqlite3 /home/pi/domoticz/domoticz.db "select sum(value3) from multimeter where devicerowid=47 and Date(date)='2018-06-15'"
2018-06-15 11:46:01.219 Error: EventSystem: in Piscine 7: [string "--[[ Script de gestion de la piscine..."]:204: attempt to perform arithmetic on a string value

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.



Revenir vers « Raspberry, Linux et autres geekeries »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 5 invités