Surveillance pression piscine

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Surveillance pression piscine

Message 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 ?
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Re: Surveillance pression piscine

Message 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.
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Surveillance pression piscine

Message 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:
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Re: Surveillance pression piscine

Message 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.
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Surveillance pression piscine

Message 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.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Re: Surveillance pression piscine

Message 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 ?
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Surveillance pression piscine

Message 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.
Dernière modification par Keros le 07 mars 2022, 21:37, modifié 1 fois.
Raison : Ajout du lien vers l'autre sujet
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
david86
Messages : 224
Inscription : 06 avr. 2018, 08:22

Re: Surveillance pression piscine

Message par david86 »

Pardon, ça m’est venu au fur et à mesure d’écrire le message.
Raspberry Pi 3, Domoticz, RFXComm, contrôle RTS, contrôle SPOT PISCINE ;-), 2 inter Chacon 1000W, 2 inter CHACON 3000W, AEON Stick ZWAVE, 1 wall plug
1 WEMOS avec capteur pression
Boitier sonde + LED en cours...
Répondre