nouvelle Gestion piscine

Vous avez crée 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.
Soyez précis quant aux prérequis, les manips à faire pour que votre bijou fonctionne (des chmod ?, un apt-get à faire ...)
Décrivez précisément son fonctionnement
Placez votre code entre [Quote] et {/Quote]
denis_brasseur
Messages : 396
Enregistré le : 24 déc. 2018, 17:05
Localisation : (26)

Re: nouvelle Gestion piscine

Message par denis_brasseur »

samourai47 a écrit :
08 mars 2020, 18:18

Donc quelle que soit la temperature il doit demarer un cycle de 2h, enfin il me semble?

Code : Tout sélectionner

if (val_TEau >= 12) then
            -- La témpérature d'eau est >=12°C : on utilise la temporisation
Pi3 + DD PiDrive + RFXtrx433 + AEON Labs ZW090
7 Modules fil pilote ZMNHJD1
2 détecteur fumées CHACON 34131
5 Bresser Capteur thermo/hygro
1 contacteur porte Philio PST02-1A Z
OWL Micro+ CM180
D2L LINKY
FGR-223 "Roller Shutter 3"

samourai47
Messages : 79
Enregistré le : 04 déc. 2018, 19:44

Re: nouvelle Gestion piscine

Message par samourai47 »

Hello
Bien vu Denis_brasseur....
En fait il s'agit bien du 12°...
Le systeme n'etant pas definitif j'utilise pour les test un thermometre volant.. d'ou de grande variations de temperature, d'ou le coté "pannes" variables
J'ai mis 8° pour tester la "temperature de l'eau" etant à 11.9 et effectivement le script s'est remis en route...
Trop fort.....
Ca fait un moment que je bloque dessus, en fait depuis que les temperatures sont aux alentours de 12°

Merci......... Dès que j'enlève le filet anti feuilles je mets en production pour la prochaine saison avec une sonde b1820 immergée dans le bassin

samourai47
Messages : 79
Enregistré le : 04 déc. 2018, 19:44

Re: nouvelle Gestion piscine

Message par samourai47 »

Hello a tous, de nouveau moi...
J'ai fait la mise a jour de domoticz et depuis, viens de m'en apercevoir j'ai ce message qui apparait, et la variable n'est pas stockee, alors qu'elle est calculée. il s'agit de PpePiscDuree

2020-03-26 15:13:18.385 Status: LUA: Script Piscine : Calcul de la filtration
2020-03-26 15:13:18.426 Status: LUA: Température moyenne hier : 12.9 °C
2020-03-26 15:13:18.427 Status: LUA: Durée de filtration : 122.0 min
2020-03-26 15:13:18.428 Status: LUA: Filtration de 12:11 à 14:13 soit 122.0 min
2020-03-26 15:13:18.428 Status: LUA: Début de filtration : 12:11
2020-03-26 15:13:18.466 Status: EventSystem: Script event triggered: Nouvelle Filtration 2
2020-03-26 15:13:18.448 Error: EventSystem: Error updating variable PpePiscDuree: Not a valid integer

La ligne que j'utilise pour clculer est celle ci

Code : Tout sélectionner

 function CalcFiltration()
    --[[ Calcule 
    * La durée optimale de filtration en fonction de la Température
    de l'eau, du débit de la pompe et du volume du bassin
    * L'heure de début de la filtration selon qu'on veut filtrer en heure creuses ou pleines

    Utilise les variables globales suivantes
    dev_Teau    : device du thermomètre d'eau
    dev_ModeFl  : le sélecteur de mode de filtration
    cst_PpeFl_Qn: débit nominal de la pompe en m3/h
    cst_Pisc_V : Volume du bassin en m3
    cst_Adj     : Coefficient d'ajustement
    var_PPStart : Nom de la variable qui va stocker l'heure de départ de la filtration
    var_PPDuree : Nom de la vatiable qui va stocker la durée de filtration
    --]]
    
    local val_TEau, MidiSol, DebutFiltration, dureeFiltration, HDebFilt, HFinFiltr
    
    print("Script Piscine : Calcul de la filtration")
    val_TEau=os.capture('sqlite3 '..dbPath..' "select temp_avg from temperature_calendar where devicerowid='..otherdevices_idx[dev_TEau]..' order by date desc limit 1"')
    val_TEau=round(val_TEau,1)
    print("Température moyenne hier : "..val_TEau.." °C")
--UpdateDev('T° moyenne Piscine', 0, val_TEau)
UpdateDev('T° Piscine moyenne', 0, val_TEau)

    --dureeFiltration=round(60*math.max(0,cst_Adj*cst_Pisc_V/cst_PpeFl_Qn*((val_TEau))-10),0) -- Résultat en minutes min 2h / jour
    
    --dureeFiltration=round(60*math.max(2,cst_Adj*cst_Pisc_V/cst_PpeFl_Qn*(val_TEau-10)),0) -- Résultat en minutes 
    dureeFiltration=round(60*math.max(2,math.min(12,cst_Adj*cst_Pisc_V/cst_PpeFl_Qn*(val_TEau-10))),0) -- limite à 12h par jour, min 2h 
   
    print("Durée de filtration : "..dureeFiltration.." min")

    if otherdevices[dev_ModeFl] == "Auto HC" then
        -- Mode Auto Heures Creuses
        -- On filtre jusqu'à 7h00 si possible (=420 min), et on déborde si nécessaire
        DebutFiltration=math.max(10,420-dureeFiltration)
    else
        -- Mode Auto Heures Pleines ou Manu
        -- On filtre en journée, centré sur le midi solaire
        MidiSol=round((timeofday['SunriseInMinutes']+timeofday['SunsetInMinutes'])/2,0) -- en minutes
        DebutFiltration=round(MidiSol-dureeFiltration/2,0) -- en minutes
    end
    HDebFilt=os.date("%H:%M", DebutFiltration*60-3600)
	HFinFiltr=os.date("%H:%M", (DebutFiltration+dureeFiltration)*60-3600)
    print("Filtration de "..HDebFilt.." à "..HFinFiltr.." soit "..dureeFiltration.." min")
	print("Début de filtration : "..HDebFilt)
    dureeFiltrationH=os.date("%H:%M", dureeFiltration*60-3600)
    UpdateVar(var_PPStart,HDebFilt)
    UpdateVar(var_PPDuree,dureeFiltration)
	--UpdateDev(dev_Status,0,"------ Nouvelle journée ------")
    UpdateDev(dev_Status,0,"Filtration de "..HDebFilt.." à "..HFinFiltr.." pour "..dureeFiltrationH.." heures")
end
Une idée?
Merci

aleph0
Messages : 281
Enregistré le : 27 avr. 2016, 08:06
Localisation : Hérault (34)

Re: nouvelle Gestion piscine

Message par aleph0 »

Vouis... J'ai eu le même lors d'une mise à jour il y a quelque mois qui a changé la version de LUA, qui lui même change quelques bricoles...

Le plus simple en ce qui nous concerne est de modifier le type des variables de Entier à Décimal, et tout rentre dans l'ordre

mickaelr30
Messages : 160
Enregistré le : 29 août 2015, 15:57

Re: nouvelle Gestion piscine

Message par mickaelr30 »

salut,
je pense que pour le moment je vais faire aucune mise à jour pour ne pas avoir de surprise :o
Domoticz + Imperihome + Mydomoathome
1-wire : 12 DS18b20 + 3 DS2413
Z-Wave : 8 FGR221 + 3 FGS222 + 3 FGSD002
téléinfo : 2 modules ( consommation + production)
Mysensors+ 1 arduino éclairage LED neopixels
2 caméra IP + 2 raspberry (XBMC,piscine)

aleph0
Messages : 281
Enregistré le : 27 avr. 2016, 08:06
Localisation : Hérault (34)

Re: nouvelle Gestion piscine

Message par aleph0 »

Oui, il y a eu quelques disruptions lors des derniers mois :-(

Voici le post qui détaille les changements au niveau de LUA
https://domoticz.com/forum/viewtopic.ph ... 7d699621e1

mickaelr30
Messages : 160
Enregistré le : 29 août 2015, 15:57

Re: nouvelle Gestion piscine

Message par mickaelr30 »

pour aleph0,
saurais-tu modifier ton programme pour que la fonction du calcul de la quantité d'injection de chlore puisse envoyer non pas un temps d'injection de produit mais une valeur de 0 à 100% pour envoyer la consigne à un électrolyseur ( en ce moment je suis dans l'idée un peu folle, de fabriquer un électrolyseur maison à base d'arduino avec une cellule que j'ai déjà )
Domoticz + Imperihome + Mydomoathome
1-wire : 12 DS18b20 + 3 DS2413
Z-Wave : 8 FGR221 + 3 FGS222 + 3 FGSD002
téléinfo : 2 modules ( consommation + production)
Mysensors+ 1 arduino éclairage LED neopixels
2 caméra IP + 2 raspberry (XBMC,piscine)

aleph0
Messages : 281
Enregistré le : 27 avr. 2016, 08:06
Localisation : Hérault (34)

Re: nouvelle Gestion piscine

Message par aleph0 »

Je n'ai pas d'expérience avec les électrolyseur :-/ On peut toujours modifier la fonction qui estime la quantité de chlore à mettre si on connaît la production de l'électrolyseur. Mais je suppose que sa production est lente, du coup il vaudrait mieux profiter de cette caractéristique pour changer la méthode de régulation : Au lieu d'essayer d'estimer ce dont on a besoin, le laisser tourner en mm temps que la filtration jusqu'à ce que la mesure d'ORP soit celle voulu, et l'arrêter ensuite. Ça simplifie pas mal, on se retrouve a devoir faire une simple régul tout ou rien au lieu de chercher a anticiper ce qu'il va se passer suite à une dose de chlore

samourai47
Messages : 79
Enregistré le : 04 déc. 2018, 19:44

Re: nouvelle Gestion piscine

Message par samourai47 »

aleph0 a écrit :
26 mars 2020, 15:34
Vouis... J'ai eu le même lors d'une mise à jour il y a quelque mois qui a changé la version de LUA, qui lui même change quelques bricoles...

Le plus simple en ce qui nous concerne est de modifier le type des variables de Entier à Décimal, et tout rentre dans l'ordre
SUper ca a l'air de fonctionner de nouveau
Merci

Répondre