[Résolu] Comment faire une "double" boucle dans une collection de capteurs ?
Publié : 16 mai 2021, 13:12
Bonjour à tous,
je sollicite aujourd'hui l'expertise des codeurs en Dzvents car je suis bloqué sur un problème. En effet, j'ai un script déjà développé en Dzvents qui me permet de calculer l'humidité absolue dans mes 3 salles de bain. Ces scripts récupèrent les données de chaque capteur de temp/hum placé dans chaque pièce. Ensuite, rien de bien compliqué : je mets à jour un custom sensor pour afficher cette humidité absolue :
Aujourd'hui, je répète ce bout de code 3 fois, en changeant le nom de mon device à chaque fois et ça fait le job.
Pour développer mes compétences en Dzvents j'aimerais réaliser la même chose, mais en utilisant la possibilité de boucler dans une collection (loop through the collections : je le précise, car je ne suis pas sûr de ma traduction : https://www.domoticz.com/wiki/DzVents:_ ... _iterators), J'aimerais donc pouvoir faire :
Pour chaque (custom sensor HumAbs_i) -> récupérer temp_i et hum_i -> calculer HumAbs_i -> mettre à jour le custom sensor.
Voici ma première idée :
Et j'aimerais chainer en m'inspirant de cet exemple du wiki :
Mais : je n'arrive pas à transcrire en code ma pensée.
Est-ce que qqn aurait une idée ?
je sollicite aujourd'hui l'expertise des codeurs en Dzvents car je suis bloqué sur un problème. En effet, j'ai un script déjà développé en Dzvents qui me permet de calculer l'humidité absolue dans mes 3 salles de bain. Ces scripts récupèrent les données de chaque capteur de temp/hum placé dans chaque pièce. Ensuite, rien de bien compliqué : je mets à jour un custom sensor pour afficher cette humidité absolue :
Code : Tout sélectionner
local temperature1 = domoticz.devices(device_temp1).temperature
local humidity1 = domoticz.devices(device_hum1).humidity
local absHumidity1 = HumAbs(temperature1, humidity1)
domoticz.devices(device_hum_abs1).updateCustomSensor(absHumidity1)Pour développer mes compétences en Dzvents j'aimerais réaliser la même chose, mais en utilisant la possibilité de boucler dans une collection (loop through the collections : je le précise, car je ne suis pas sûr de ma traduction : https://www.domoticz.com/wiki/DzVents:_ ... _iterators), J'aimerais donc pouvoir faire :
Pour chaque (custom sensor HumAbs_i) -> récupérer temp_i et hum_i -> calculer HumAbs_i -> mettre à jour le custom sensor.
Voici ma première idée :
Code : Tout sélectionner
local capteur = {
'capteur1', -- capteur physique placé dans une sdb
'capteur2',
'capteur3',
}
local custom = {
'custom1', -- custom sensor pour affichage
'custom2',
'custom3',
}Code : Tout sélectionner
domoticz.devices().filter(function(device)
return (device.lastUpdate.minutesAgo > 60)
end).forEach(function(zombie)
-- do something with the zombie
end)Est-ce que qqn aurait une idée ?