Page 1 sur 1

[Résolu] Ordre d'exécution des commandes LUA

Publié : 22 févr. 2017, 11:26
par dokho
Bonjour,

J'ai ajouté, dans mon script de gestion de chauffage, 2 compteurs (dummy text): durée du dernier cycle de chauffe et durée totale de chauffe pour la journée.

Voici la partie compteur du script:

Code : Tout sélectionner

-- AFFICHAGE DUREE DERNIER CYCLE
delta = os.date("!%X",timedifference(otherdevices_lastupdate['Chaudiere']))
commandArray[3]={['UpdateDevice'] = 899 .. '|0|' .. tostring(delta)}
-- TOTAL CHAUFFE JOURNEE
commandArray[4]={['Variable:TempsChauffe']= tostring(uservariables["TempsChauffe"] + timedifference(otherdevices_lastupdate['Chaudiere']))}
totalchauffejour = os.date("!%X",tostring(uservariables["TempsChauffe"]))
commandArray[5]={['UpdateDevice'] = 898 .. '|0|' .. tostring(totalchauffejour)}
L'affichage de la durée du dernier cycle fonctionne parfaitement, c'est le compteur total qui ne fonctionne pas correctement: il y a un décalage d'un cycle (cf. les copies d'écran ci-dessous).

Brûleur:
Image

Dernier cycle:
Image

Total jour:
Image


On voit bien que le brûleur s'est allumé à 5h31 et éteint a 5h44, soit 13 minutes(compteur "Dernier_cycle" OK): le compteur "Total_jour" indique 0 à 5h44
Le brûleur s'est rallumé à 5h47 pour 13 minutes (compteur "Dernier_cycle" OK) mais le compteur "Total_jour" n'indique que 13 minutes à 6h00 alors qu'il devrait être à 26 minutes (5h31 à 5h44 + 5h47 à 6h00).


Quelqu'un saurait-il m'expliquer où j'ai fait une erreur ?


Merci d'avance :)

Re: Ordre d'exécution des commandes LUA

Publié : 22 févr. 2017, 11:44
par vil1driver
Salut,

Tout s'exécute a la fin..

Tu ne peux pas enregistrer une variable et la réutiliser aussitôt.

Au lieu d'aller lire la variable, utilise ce que tu voulais lui envoyer

Re: Ordre d'exécution des commandes LUA

Publié : 22 févr. 2017, 18:59
par dokho
Ok, je pense comprendre le principe.

Donc il faudrait que je remplace:

Code : Tout sélectionner

totalchauffejour = os.date("!%X",tostring(uservariables["TempsChauffe"]))
Par:

Code : Tout sélectionner

totalchauffejour = os.date("!%X",tostring(uservariables["TempsChauffe"] + timedifference(otherdevices_lastupdate['Chaudiere'])))
C'est bien ça ?

Re: Ordre d'exécution des commandes LUA

Publié : 22 févr. 2017, 19:17
par vil1driver
Oui c'est ce que je voulais dire

Re: Ordre d'exécution des commandes LUA

Publié : 22 févr. 2017, 22:43
par dokho
Ok merci.
J'ai fais la modification, je verrais demain matin :)

Envoyé de mon SM-N9005 en utilisant Tapatalk

Re: Ordre d'exécution des commandes LUA

Publié : 23 févr. 2017, 20:44
par dokho
Bonsoir,

Ça fonctionne nickel, merci vil1driver :)

Re: [Résolu] Ordre d'exécution des commandes LUA

Publié : 23 févr. 2017, 20:57
par vil1driver
:D