l'apprentissage du lua me demandera encore un peu de temps visiblement....
Je récupère l'eau de pluie dans une cuve et je souhaiterais connaitre le volume d'eau récupéré quotidiennement et aussi le cumul. Un capteur ultrason (mysensors) mesure la hauteur d'eau dans la cuve. Mon script devrait mesurer les hauteurs d'eau entre deux arrosages et en déduire le volume. Mais j'ai l'erreur suivante: Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_time_recup_eau.lua: /home/pi/domoticz/scripts/lua/script_time_recup_eau.lua:33: attempt to perform arithmetic on global 'depth' (a nil value)
Le problème est au niveau de la récupération des deux hauteurs d'eau permettant de calculer le volume...mais je ne sais pas comment écrire autrement ces lignes.
Une âme charitable pourrait me donner un conseil svp???
Code : Tout sélectionner
-- Input devices:
depth_sensor = 'Hauteur eau cuve arrosage'
-- Output devices: volume.
volume_sensor = 'compteur 1'
volume_sensor_id = 118
-- Tank dimensions
tank_height = 120
tank_area = 40 * 40
-----------------------------------------------------------------------------------
commandArray = {}
time = os.date("*t")
--condition d'heure : peu APRES l'arrosage de fin de journée
if (time.hour % 6 ==0 and time.min == 48) then
depth = otherdevices_svalues[depth_sensor]
end
--condition d'heure : peu AVANT le nouvel arrosage
if (time.hour % 7 ==0 and time.min == 00) then
depth2 = otherdevices_svalues[depth_sensor]
-- Calcul du volume d'eau récupéré
volume = (depth2 - depth) * tank_area / 1000
-- Mise a jour du compteur
commandArray[2] = {['UpdateDevice'] = volume_sensor_id .. "|0|" .. volume}
end
return commandArray