Page 3 sur 4

Re: [Script] Gestion du temps de filtration d'une piscine

Publié : 06 avr. 2020, 22:30
par olivier81
Bonjour,

Désolé, pour cette ligne, j'ai copié collé d'un code existant et ça fonctionnait chez moi je pense car j'ai une sonde Oregon. Je ne suis vraiment pas expert dans les conversions, j'adapte du code.

Je n'ai pas encore remis la filtration en route, j'effectuerai la modification au script et je vérifierai que cela ne pose pas de problème, logiquement non, ta syntaxe me semble plus simple et propre.

Sinon pour répondre à la question initiale, il suffit de mettre n'importe quelle valeur, elle sera de toute manière actualisée à l'heure suivante et 0 minute. Ceci dit ca ne sert à mettre 0 si on sait que la température actuelle du bassin à peut prêt à 15.

Re: [Script] Gestion du temps de filtration d'une piscine

Publié : 06 avr. 2020, 22:39
par lavinch31
pas de soucis cela ma également permis d'apprendre du .lua ( je suis novice en la matière)

je vais surveiller le comportement du script sur les prochains jour ( filtration sur AUTO avec interrupteur de la pompe domoticz non lié à la pompe elle même)

pour ma part j'ai une sonde DS18B20 et les données transitent vers domoticz via un ESP8266.

Re: [Script] Gestion du temps de filtration d'une piscine

Publié : 07 avr. 2020, 17:06
par olivier81
Ok super, c'est la sonde que je monterai quand ma sonde oregon va mourir. Je ne suis pas non plus expert en LUA, j'ai pioché de la syntaxe un peu partout pour en arriver à écrire ce script.

Ton retour m'intéresse en tout cas, tu me diras si pour ton usage le script convient.

Re: [Script] Gestion du temps de filtration d'une piscine

Publié : 06 mai 2020, 18:21
par clem2888
lavinch31 a écrit : 06 avr. 2020, 22:39 pas de soucis cela ma également permis d'apprendre du .lua ( je suis novice en la matière)

je vais surveiller le comportement du script sur les prochains jour ( filtration sur AUTO avec interrupteur de la pompe domoticz non lié à la pompe elle même)

pour ma part j'ai une sonde DS18B20 et les données transitent vers domoticz via un ESP8266.
Salut Lavinch31,

je te remerci pour ton retour j'avais le même problème que toi. Je viens de mettre à jour mon script et je vais surveillé ça.

;)

Re: [Script] Gestion du temps de filtration d'une piscine

Publié : 09 oct. 2022, 14:31
par Tontonpat
lavinch31 a écrit : 06 avr. 2020, 22:06 Après avoir passé l'après-midi sur le code , je pense avoir un élément de réponse ...

le soucis viendrait de la ligne ( 188)

Code : Tout sélectionner

Temp_piscine, Humidite_piscine = otherdevices_svalues[piscine]:match("([^;]+);([^;]+)")
Pour tester j'ai modifié comme suit ( j'ai aussi viré l'humidité car pas de capteur présent):

Code : Tout sélectionner

Temp_piscine = otherdevices_svalues[piscine]
Avec cette modification j'ai bien la variable utilisateur temppiscine qui se met à jour ( if minute == 00)
Bonjour, je suis en train de tenter de faire marcher ce script sur mon domoticz, mais j’ai presque la même erreur

Code : Tout sélectionner

Error: dzVents: Error: (3.1.8) .../scripts/dzVents/generated_scripts/Z Gestion piscine.lua:188: attempt to index a nil value (global 'otherdevices_svalues')
malgré la modification que tu as fait. Une idée ?
Merci

Re: [Script] Gestion du temps de filtration d'une piscine

Publié : 09 oct. 2022, 16:25
par Keros
Grosso modo, ton script plante dés la première ligne exécutée. Tu as bien défini le nom de ton dispositif dans la variable piscine ?

Je vois dans ton erreur qu'il est indiqué DzVents. C'est quoi le type de script que tu as défini dans DomoticZ ?

Il serait bien que tu nous remettes ton code avec les logs associés.

Re: [Script] Gestion du temps de filtration d'une piscine

Publié : 11 oct. 2022, 22:10
par olivier81
Bonjour Tontonpat,

Effectivement, peux-tu contrôler que tu sois bien en script lua/time ?

Egalement, quel type de sonde utilises-tu pour mesurer la température de ta piscine ?

En fonction de ton retour il faudra adapter la ligne 188 du script, car ma sonde qui est une sonde oregon remonte une valeur humidité en plus de la température (ca ne sert à rien je te l'accorde, mais je n'avais que ça au moment de mon montage)

A+

Olivier.

Re: [Script] Gestion du temps de filtration d'une piscine

Publié : 17 oct. 2022, 11:39
par Tontonpat
Bonjour, désolé pour ma réponse tardive, je n’ai pas reçu de notification concernant vos réponses.
J’avais résolu le problème en le mettant en script lua time.
La sonde utilisée est un addon sur un shelly.
Encore merci pour vos réponses

Re: [Script] Gestion du temps de filtration d'une piscine

Publié : 26 oct. 2023, 18:56
par Tontonpat
Bonjour,
J'ai modifié les horaires de filtration en fonction des horaires que je voulais.

Le problème, si domoticz redémarre juste avant 14H, il n'y a pas d'arrêt de pompe:

Code : Tout sélectionner

local function filtration_8H()
  if (Heure >= 8 and Heure < 10 and otherdevices[pompe] == 'Off') then
    commandArray[pompe]='On'
    print("Démarrage pompe filtration 8H: Température de l'eau : " .. Temp_piscine .. " °C")
  elseif (Heure >= 12 and Heure < 14 and otherdevices[pompe] == 'Off') then
    commandArray[pompe]='On'
	print("Démarrage pompe filtration 8H: Température de l'eau : " .. Temp_piscine .. " °C")
  elseif (Heure >= 15 and Heure < 17 and otherdevices[pompe] == 'Off') then
    commandArray[pompe]='On'
    print("Démarrage pompe filtration 8H: Température de l'eau : " .. Temp_piscine .. " °C")
  elseif (Heure >=18 and Heure < 20 and otherdevices[pompe] == 'Off') then
    commandArray[pompe]='On'
    print("Démarrage pompe filtration 8H: Température de l'eau : " .. Temp_piscine .. " °C")
  elseif (((Heure >=10 and Heure <= 11) or Heure == 14 or Heure == 17) and otherdevices[pompe] == 'On') then
    commandArray[pompe]='Off'
	print("Arrêt pompe filtration 8H: Température de l'eau : " .. Temp_piscine .. " °C")
  elseif ((Heure < 8 or Heure >= 20) and otherdevices[pompe] == 'On') then
    commandArray[pompe]='Off'
    print('Fin de programme de filtration 8H')
  end
end
J'ai modifié les horaires de filtration afin de s'assurer qu'entre 7H et 13H la pompe se coupe.
exemple sur mon mode 8H :

Code : Tout sélectionner

local function filtration_8H()
  if (Heure >= 3 and Heure < 7 and otherdevices[pompe] == 'Off') then
    commandArray[pompe]='On'
	print("Démarrage filtration 8H: Température de l'eau : " .. Temp_piscine .. " °C")
  elseif (Heure >= 7 and Heure < 13  and otherdevices[pompe] == 'ON') then
    commandArray[pompe]='OFF'
    print("Pause filtration 8H: Température de l'eau : " .. Temp_piscine .. " °C")
  elseif (Heure >= 13 and Heure < 17 and otherdevices[pompe] == 'Off') then
    commandArray[pompe]='On'
    print("Reprise filtration 8H: Température de l'eau : " .. Temp_piscine .. " °C")
  elseif ((Heure < 3 or Heure >= 17) and otherdevices[pompe] == 'On') then
    commandArray[pompe]='Off'
    print("Fin de filtration 8H Température de l'eau : " .. Temp_piscine .." °C")
  end
end
La pompe démarre bien à 3H mais ne s'arrête pas à 7H.
Le "pompe ON" se fait bien à 13H et se coupe à 17H.
Une idée?

Re: [Script] Gestion du temps de filtration d'une piscine

Publié : 26 oct. 2023, 19:04
par Keros
Je pense que le problème vient du ON au lieu de On sur le premier elseif.