Deux commandarray dans le même script
Publié : 23 déc. 2016, 23:52
Bonsoir,
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:
Les idx des dummys sont les bons, j'ai vérifié.
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
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