Je suis en train de réaliser un script en DzVent pour l'automatisation de mes volets roulants.
Pour le principe de fonctionnement, je voudrais que mes volets se ferment à 30% lorsque ma façade est en plein soleil et se rouvrent lorsqu'il n'y à plus de soleil. Afin que mes volets ne se rouvrent pas à chaque fois qu'un petit nuage passe, je souhaiterais utiliser un niveau niveau d'éclairement moyen sur 15 minutes.
Avec ce script, je suis parvenu à récupérer le niveau d'éclairement extérieur à l'aide d'une sonde SERVODAN raccordée sur un module fibaro RGBW :
Code : Tout sélectionner
return {
on = {
active = true,
timer = {'every minute'},
devices = {
'Capteur 0-10V - Entrée n°1',
'Luminosité extérieure',
},
data = {
Lum_table = { history = true, maxMinutes = 15 }
}
},
execute = function(domoticz, switch, timer)
-- Mise à jour du capteur virtuel
Lum_ext=domoticz.devices('Capteur 0-10V - Entrée n°1').level
domoticz.devices('Luminosité extérieure').updateLux(Lum_ext*600)
-- Calcul de la moyenne
domoticz.data.Lum_table.add(Lum_ext) -- Ajout des valeurs à la table
Lum_moy = domoticz.data.Lum_table.avg() -- Calcul de la valeur moyenne
end
J'ai le message d'erreur suivant :
Code : Tout sélectionner
2018-05-05 15:21:00.711 dzVents: Error (2.4.5): An error occured when calling event handler Gestion volets roulants
2018-05-05 15:21:00.711 dzVents: Error (2.4.5): ...ts/dzVents/generated_scripts/Gestion volets roulants.lua:32: attempt to index field 'data' (a nil value) Quelqu'un aurait une idée ?


