LUA - Script s'exécutant plusieurs fois

Forum dédié aux problématiques concernant les scripts pour DomoticZ.
Entourez votre code et les logs avec les balises nommées code grâce au bouton <\>.
vicentix
Messages : 5
Inscription : 21 juin 2017, 16:38

LUA - Script s'exécutant plusieurs fois

Message par vicentix »

Bonjour a tous,
Pour commencer je m'excuse d'être un chèvre ... Mais là je suis au fond du seau et j'au besoin d'aide pour comprendre n'étant absolument pas doué en info.

Je fais un script tout bête de compteur virtuel pour un moteur de piscine:

----------------------------------------------
------ Configuration ------
----------------------------------------------


-- radiateur
local Pompe Piscine = 'Pompe Piscine' -- Nom de l'interrupteur
local puissance = 2700 -- puissance
local conso = 'Conso Piscine' -- nom du capteur virtuel de consommation électrique (type= instant + counter)
local conso_id = 279 -- idx du capteur virtuel de consommation électrique

----------------------------------------------
-- Fin de la partie configuration --
----------------------------------------------

commandArray = {}
npower, energy = string.match(otherdevices_svalues[conso],"(%d+%.*%d*);(%d+%.*%d*)")
local m = os.date('%S')
if (m % 60 == 0) then
print("1 Minutes ecoulees")
-- calcul de la conso
if (otherdevices[Pompe Piscine] == 'On') then
power = tonumber(puissance)
energy = tonumber(energy + (puissance / 60))
commandArray[1]={['UpdateDevice'] = conso_id .. '|0|' .. power .. ';' .. energy}
else
commandArray[2]={['UpdateDevice'] = conso_id .. '|0|' .. 0 .. ';' .. energy}
end
end
return commandArray


Mais quand je le lance, de temps en temps il perd les chèvres et s'exécute plusieurs fois ce qui fausse les données:

"2018-08-20 17:25:00.628 (Module ZWave) Temp + Humidity (Température Salon)
2018-08-20 17:25:00.356 Status: LUA: 1 Minutes ecoulees
2018-08-20 17:25:00.362 Status: EventSystem: Script event triggered: Conso Piscine 2
2018-08-20 17:25:00.544 Status: LUA: 1 Minutes ecoulees
2018-08-20 17:25:00.553 Status: EventSystem: Script event triggered: Conso Piscine 2
2018-08-20 17:25:00.630 Status: LUA: 1 Minutes ecoulees
2018-08-20 17:25:00.633 Status: EventSystem: Script event triggered: Conso Piscine 2

2018-08-20 17:25:04.812 (RFXCOM) Temp + Humidity (Meteo Ext)
2018-08-20 17:25:04.880 (RFPlayer) Devices already exist. Unit=1
2018-08-20 17:25:04.882 (RFPlayer) Devices already exist. Unit=2
2018-08-20 17:25:04.884 (RFPlayer) Devices already exist. Unit=3
2018-08-20 17:25:43.814 (RFXCOM) Temp + Humidity (Meteo Ext)
2018-08-20 17:25:43.849 (RFPlayer) Devices already exist. Unit=1
2018-08-20 17:25:43.851 (RFPlayer) Devices already exist. Unit=2
2018-08-20 17:25:43.852 (RFPlayer) Devices already exist. Unit=3
2018-08-20 17:26:00.483 Status: LUA: 1 Minutes ecoulees
2018-08-20 17:26:00.486 Status: EventSystem: Script event triggered: Conso Piscine 2

2018-08-20 17:26:22.811 (RFXCOM) Temp + Humidity (Meteo Ext)
2018-08-20 17:26:22.866 (RFPlayer) Devices already exist. Unit=1
2018-08-20 17:26:22.867 (RFPlayer) Devices already exist. Unit=2
2018-08-20 17:26:22.868 (RFPlayer) Devices already exist. Unit=3
2018-08-20 17:26:29.710 Status: EventSystem: reset all events...
2018-08-20 17:27:00.499 Status: LUA: 1 Minutes ecoulees
2018-08-20 17:27:00.504 Status: EventSystem: Script event triggered: Conso Piscine 2

2018-08-20 17:27:01.811 (RFXCOM) Temp + Humidity (Meteo Ext)"


Quelqu'un aurait une idée pour stabiliser la chose ? Cela me rend marteau ! Je sais plus par quel bout le prendre ...
vil1driver
Messages : 5661
Inscription : 30 janv. 2015, 11:07
Localisation : Rennes (35)

Re: LUA - Script s'exécutant plusieurs fois

Message par vil1driver »

Salut,

Je pense que comme beaucoup tu n'as pas prêté attention à un menu déroulant (où il y aurait marqué ALL) lors de la création de ton script

Tu dis que tu le lances, mais il se lance seul en réalité ou plutôt domoticz le lance selon le choix fait dans ce menu déroulant.

Ps: en supposant que tu utilises l'interface web pour editer ton script
MAJ = VIDER LE CACHE(<-Clicable)
/!\Les mises à jour de Domoticz sont souvent sources de difficultés, ne sautez pas dessus
modules.lua

Un ex domoticzien
Répondre