J'ai fais un petit script LUA pour m'afficher les moyennes de températures (RDC et étage) dans ma maison.
Jusqu'ici rien de vraiment sorcier, j'ai bien créé les 2 dummys, le calcul se fait bien (j'ai bien le print dans le log), mais un seul des deux dummys se met à jour ... je ne comprends pas pourquoi ...
Voici le script en question:
Code : Tout sélectionner
-- Fonction Arrondir
function arrondir(num, dec)
if num == 0 then
return 0
else
local mult = 10^(dec or 0)
return math.floor(num * mult + 0.5) / mult
end
end
commandArray = {}
CAPTEUR_TEMP_RDC1 = 'Entree_Temp'
CAPTEUR_TEMP_RDC2 = 'Sejour_Temp'
CAPTEUR_TEMP_RDC3 = 'Salon_Temp'
CAPTEUR_TEMP_RDC4 = 'Veranda_Temp'
CAPTEUR_TEMP_RDC5 = 'Buanderie_Temp'
CAPTEUR_TEMP_RDC6 = 'Atelier_Temp'
CAPTEUR_TEMP_ETAGE1 = 'SDB_TempHum'
CAPTEUR_TEMP_ETAGE2 = 'CH1_Temp'
CAPTEUR_TEMP_ETAGE3 = 'CH2_Temp'
CAPTEUR_TEMP_ETAGE4 = 'Bureau_Temp'
CAPTEUR_TEMP_ETAGE5 = 'Parents_Temp'
CAPTEUR_TEMP_ETAGE6 = 'SDE_TempHum'
temprdc1 = otherdevices_svalues[CAPTEUR_TEMP_RDC1]:match("([^;]+)")
temprdc2 = otherdevices_svalues[CAPTEUR_TEMP_RDC2]:match("([^;]+)")
temprdc3 = otherdevices_svalues[CAPTEUR_TEMP_RDC3]:match("([^;]+)")
temprdc4 = otherdevices_svalues[CAPTEUR_TEMP_RDC4]:match("([^;]+)")
temprdc5 = otherdevices_svalues[CAPTEUR_TEMP_RDC5]:match("([^;]+)")
temprdc6 = otherdevices_svalues[CAPTEUR_TEMP_RDC6]:match("([^;]+)")
tempetage1, humetage1, stathumetage1 = otherdevices_svalues[CAPTEUR_TEMP_ETAGE1]:match("([^;]+);([^;]+);([^;]+)")
tempetage2 = otherdevices_svalues[CAPTEUR_TEMP_ETAGE2]:match("([^;]+)")
tempetage3 = otherdevices_svalues[CAPTEUR_TEMP_ETAGE3]:match("([^;]+)")
tempetage4 = otherdevices_svalues[CAPTEUR_TEMP_ETAGE4]:match("([^;]+)")
tempetage5 = otherdevices_svalues[CAPTEUR_TEMP_ETAGE5]:match("([^;]+)")
tempetage6, humetage2 = otherdevices_svalues[CAPTEUR_TEMP_ETAGE6]:match("([^;]+);([^;]+)")
-- Calcul de la temperature moyenne RDC
Temp_Moyenne_RDC = arrondir(((temprdc1 + temprdc2 + temprdc3 + temprdc4 + temprdc5 + temprdc6) / 6),2)
commandArray['UpdateDevice']= 841 .. '|0|' .. Temp_Moyenne_RDC
print('Temp moyenne RDC = ' ..Temp_Moyenne_RDC .. '°C.' )
-- Calcul de la temperature moyenne ETAGE
Temp_Moyenne_Etage = arrondir(((tempetage1 + tempetage2 + tempetage3 + tempetage4 + tempetage5 + tempetage6) / 6),2)
commandArray['UpdateDevice']= 842 .. '|0|' .. Temp_Moyenne_Etage
print('Temp moyenne Etage = ' ..Temp_Moyenne_Etage .. '°C.' )
return commandArray
Seul le 842 se met à jour.
Si je commente le "commandArray" du 842: le 841 se met bien à jour ...
Si quelqu'un peut éclairer ma lanterne