Page 1 sur 1

Surveillance pression piscine

Publié : 03 mars 2022, 21:41
par david86
Bonsoir,
Je cherche à faire un script en LUA pour que domoticz soit capable de contrôle ma pression de piscine à partir du moment où je mets ma pompe de piscine en route.
Après quelques recherches je pense avoir trouvé un truc pas trop mal mais je n'ai pas de résultat probant.
Avant de me lancer dans le script complet, je test d'abord étape par étape avec des "print".
Je suis rendu à faire un print selon un temps que voici :

//Script device//

Code : Tout sélectionner

commandArray = {}
heure_dem_pompe = os.date("*t")
P_min = 0.55
P_max = 0.85

if (devicechanged['Inter-test'] == 'On' and heure_dem_pompe.min%5 < 7 ) then
    pression = (otherdevices['Pression-pompe'])
    print("Pression actuelle="..pression)
return commandArray
Problème c'est que comme cela ce code ne s'exécute qu'une seule fois au passage à ON de inter-test la première fois et ne reboucle pas éternellement tant que inter-test est à ON.

J'ai tenté ce même script en //device time// mais ça ne colle pas non plus sachant que le script time s'exécute de manière perpétuel toutes les minutes. Finalement celui-ci pourrait me satisfaire de la façon suivante :

Code : Tout sélectionner

commandArray = {}

heure_dem_pompe = os.date("*t")
P_min = 0.55
P_max = 0.85

if (otherdevices['Inter-test'] == 'On') then
    pression = (otherdevices['Pression-pompe'])
    print("Pression actuelle="..pression)
end

return commandArray
Mais toutes les minutes il y aura un contrôle, en soit c'est pas mal, ma pompe ne tournera pas dans le vide.

Ma curiosité me dit qu'il devrait y avoir une autre manière de faire ?
Mettre la valeur en seconde de l'heure (hr*3600+min*60+sec)

Code : Tout sélectionner

    hr=os.date('%H')
    min=os.date('%M')
    sec=os.date('%S')
    d=hr*3600+min*60+sec
et faire un contrôle toutes les xxx secondes ?

Une idée de comment tourner la chose ?

Re: Surveillance pression piscine

Publié : 03 mars 2022, 22:55
par david86
J'ai trouvé cette formule aussi qui simplifie pas mal les choses, je peux choisir la cadence de relevé de l'information

Code : Tout sélectionner

time = os.date("*t")
if (otherdevices['Inter-test'] == 'On' and time.min%2 == 0 and time.sec%30 == 0 ) then
Ce qui veut dire toutes les 2 minutes et 30 secondes si je ne m'abuse, bon c'est relativement risqué car à jouer à la seconde près je risque de sauter pas mal de mesure à travers toutes les infos qui déroulent.

Re: Surveillance pression piscine

Publié : 04 mars 2022, 12:30
par Keros
Tu as testé la condition sur les secondes ? Ca fonctionne ?

Les scripts avec un trigger Time s'exécutent toutes les minutes :roll:

Re: Surveillance pression piscine

Publié : 07 mars 2022, 16:04
par david86
Bonjour,
C'est-à-dire si j'ai testé la condition de toute les secondes ? Justement c'était ma demande, comment faire cela.
Comment mettre la valeur convertit en seconde en faisant la règle
si pompe = ON
temps-départ=h*3600+min*60+seconde (à l'instant "t" du ON de la pompe)
stocker cette valeur quelque part
comment comparer cette valeur après 300secondes et toutes les 300secondes ?

Affirmatif pour un trigger time, déclenchement toutes les minutes.

Re: Surveillance pression piscine

Publié : 07 mars 2022, 18:39
par Keros
Je parlais de la condition sur les secondes, pas toutes les secondes. A la lecture de ton post j'avais l'impression que tu y étais arrivé. Mais non.

Autre possibilité, lancer une action avec un retardement de X secondes (ça, c'est possible). Maintenant, attention à ne pas rentrer dans une boucle infinie.

Ce serait plus facile si tu pouvais regarder toutes les X minutes.

Re: Surveillance pression piscine

Publié : 07 mars 2022, 19:12
par david86
Oui toutes les minutes en se mettant comme trigger time justement, et je pense que ça va finir comme cela, mais il m'est déjà arrivé à vraiment beaucoup de reprises que les données ne passaient pas lors des premières minutes de fonctionnement de la pompe. J'ai posté une publication où l'on voit un décalage de 30 minutes entre le "pompe ON" et la première information de pression. Si je pouvais résoudre ce problème ou du moins savoir expliquer le pourquoi du comment, je pourrai l'éliminer ou le traiter et partir sur un contrôle chaque minute.

Une idée éventuellement du pourquoi l'ESP n'enverrai pas, par moment, les données en temps et en heure uniquement au démarrage ?

Re: Surveillance pression piscine

Publié : 07 mars 2022, 20:10
par Keros
Evite stp de multiplier les conversations, ce sera difficile de suivre les choses à deux endroits.
J'ai bien vu ton deuxième sujet, mais je n'ai pas d'idées.

Re: Surveillance pression piscine

Publié : 07 mars 2022, 20:56
par david86
Pardon, ça m’est venu au fur et à mesure d’écrire le message.