J'essaye de faire un script pour remplacer ma box Wiser (la croix blanche) dans le contrôle du chauffage. Pas de problème particulier d'algorythme mais plus sur l'utilisation d'une variable (peut-être). J'arrive à contrôler manuellement (via les widgets) mon activateur de radiateur :
Opération 1 : On
Opération 2 : Fixation Température courante
Opération 3 : Fixation Température de consigne.
J'essaye donc de scripter ça (très simplement pour l'instant) et je m'aperçois que je n'arrive pas à modifier la valeur de la consigne de mon radiateur ...
Code : Tout sélectionner
print ("Th : Température consigne : "..otherdevices['W-The1-Control'].."°C");
print ("Th : Température actuelle : "..otherdevices['W-The1-Temp'].."°C");
print ("Rad : Température consigne : "..otherdevices['W-Rad1-ConsigneSet'].."°C");
print ("Rad : Température actuelle : "..otherdevices['W-Rad1-TempSet'].."°C");
-- Si changement de consigne
if (deviceName=='W-The1-Control' or deviceName=='W-The1-Temp') then
-- Commun : Allumer + Mode sans fil pilote
commandArray['W-Rad1-OnOff'] = "On";
commandArray['W-Rad1-FilPilote'] = "Normal";
-- Passer la Température
commandArray['W-Rad1-TempSet'] = otherdevices['W-The1-Temp'];
-- Passer la consigne
commandArray['W-Rad1-ConsigneSet'] = deviceValue;
if(tonumber(otherdevices['W-The1-Temp']) < tonumber(deviceValue)) then
print ("TH - COLD : Il faudrait allumer le radiateur");
else
print ("TH - HOT : Il faudrait couper le radiateur");' RETOUR MODIF DE LA TEMPERATURE
2023-12-08 14:22:55.867 Status: LUA: Device based event fired on 'W-The1-Temp', value '19.4'
2023-12-08 14:22:55.867 Status: LUA: Th : Température consigne : 21.00°C
2023-12-08 14:22:55.867 Status: LUA: Th : Température actuelle : 19.4°C
2023-12-08 14:22:55.867 Status: LUA: Rad : Température consigne : 19.50°C
2023-12-08 14:22:55.867 Status: LUA: Rad : Température actuelle : 18.90°C
2023-12-08 14:22:55.867 Status: LUA: TH - HOT : Il faudrait couper le radiateur
2023-12-08 14:22:55.867 Status: LUA: Rad 2 : Température consigne : 19.50°C
2023-12-08 14:22:55.867 Status: LUA: Rad 2 : Température actuelle : 18.90°C
2023-12-08 14:22:55.867 Status: LUA: Device based event fired on 'W-The1-Temp_Temperature', value '19.39999961853'
2023-12-08 14:22:55.868 Status: LUA: Th : Température consigne : 21.00°C
2023-12-08 14:22:55.868 Status: LUA: Th : Température actuelle : 19.4°C
2023-12-08 14:22:55.868 Status: LUA: Rad : Température consigne : 19.50°C
2023-12-08 14:22:55.868 Status: LUA: Rad : Température actuelle : 18.90°C
' RETOUR MODIF DE LA VALEUR DE CONSIGNE
2023-12-08 14:32:01.401 Status: LUA: Device based event fired on 'W-The1-Control_Utility', value '22.5'
2023-12-08 14:32:01.401 Status: LUA: Th : Température consigne : 22.50°C
2023-12-08 14:32:01.401 Status: LUA: Th : Température actuelle : 19.4°C
2023-12-08 14:32:01.401 Status: LUA: Rad : Température consigne : 19.50°C
2023-12-08 14:32:01.401 Status: LUA: Rad : Température actuelle : 18.90°C
2023-12-08 14:32:01.402 Status: LUA: Device based event fired on 'W-The1-Control', value '22.50'
2023-12-08 14:32:01.402 Status: LUA: Th : Température consigne : 22.50°C
2023-12-08 14:32:01.402 Status: LUA: Th : Température actuelle : 19.4°C
2023-12-08 14:32:01.402 Status: LUA: Rad : Température consigne : 19.50°C
2023-12-08 14:32:01.402 Status: LUA: Rad : Température actuelle : 18.90°C
2023-12-08 14:32:01.402 Status: LUA: TH - COLD : Il faudrait allumer le radiateur
2023-12-08 14:32:01.402 Status: LUA: Rad 2 : Température consigne : 19.50°C
2023-12-08 14:32:01.402 Status: LUA: Rad 2 : Température actuelle : 18.90°C
2023-12-08 14:32:01.405 Status: EventSystem: Script event triggered: Script OnDevice
Je me dis que l'affichage n'est pas bon car le CommandArray n'est pas encore passé ...
' RETOUR MODIF 2 DE LA VALEUR DE CONSIGNE
2023-12-08 14:34:37.644 Status: LUA: Device based event fired on 'W-The1-Control_Utility', value '23.5'
2023-12-08 14:34:37.644 Status: LUA: Th : Température consigne : 23.50°C
2023-12-08 14:34:37.644 Status: LUA: Th : Température actuelle : 19.6°C
2023-12-08 14:34:37.644 Status: LUA: Rad : Température consigne : 19.50°C
2023-12-08 14:34:37.644 Status: LUA: Rad : Température actuelle : 18.90°C
2023-12-08 14:34:37.644 Status: LUA: Device based event fired on 'W-The1-Control', value '23.50'
2023-12-08 14:34:37.644 Status: LUA: Th : Température consigne : 23.50°C
2023-12-08 14:34:37.644 Status: LUA: Th : Température actuelle : 19.6°C
2023-12-08 14:34:37.644 Status: LUA: Rad : Température consigne : 19.50°C
2023-12-08 14:34:37.644 Status: LUA: Rad : Température actuelle : 18.90°C
2023-12-08 14:34:37.644 Status: LUA: TH - COLD : Il faudrait allumer le radiateur
2023-12-08 14:34:37.644 Status: LUA: Rad 2 : Température consigne : 19.50°C
2023-12-08 14:34:37.644 Status: LUA: Rad 2 : Température actuelle : 18.90°C
Toujours 19,5° => pas pris en compte ...
Le script se termine par return commandArray => je suppose que ça doit passer les commandes
Est-ce que quelq'un aurait une idée du pourquoi et du comment pour passer cette valeur de consigne ?
Merci,
Yvan