Surveillance pression piscine
Publié : 03 mars 2022, 21:41
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//
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 :
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)
et faire un contrôle toutes les xxx secondes ?
Une idée de comment tourner la chose ?
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 commandArrayJ'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 commandArrayMa 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+secUne idée de comment tourner la chose ?