Page 1 sur 1

script qui se déclenche 5x par secondes

Publié : 02 févr. 2022, 12:56
par kurogane
Bonjour a tous

J'ai un problème avec un script qui déclenche tous mes script 5 fois par seconde

Code : Tout sélectionner

------ Declaration des variables
local consigne = 0
local radiateur = 'radiateur_azenor'
Heure_Actuelle=os.date("%X")
local temperature = otherdevices_temperature['chambre_azenor']
local mode = 'mode_azenor' --Selecteur de mode (On, Off force)
local hysteresis = 0.3 --Delai de declanchement

commandArray = {}

if otherdevices[mode]=='nuit' then  --On met le radiateur en fonctionnement auto

    if (Heure_Actuelle > "19:00:00" and Heure_Actuelle < "22:00:00") then --or otherdevices[interrupteur]=='On'  then --on determine les heure du mode confort pour la nuit
        consigne=19
    
    else --if (Heure_Actuelle < "19:00:00" and Heure_Actuelle > "22:00:00") then --or otherdevices[interrupteur]=='Off'  then --on passe en eco pour le reste de la nuit
        consigne=17.5
    end
    
    if (temperature <= (consigne-hysteresis)) then
        commandArray[radiateur]='On'
    elseif  (temperature >= (consigne+hysteresis)) then
        commandArray[radiateur]='Off'
    end
end

if otherdevices[mode]=='confort' then --On passe en mode confort
    consigne=19
    
    if (temperature < (consigne-hysteresis)) then
        commandArray[radiateur]='On'
    elseif  (temperature > (consigne+hysteresis)) then
        commandArray[radiateur]='Off'
    end

end

if otherdevices[mode]=='eco' then --On passe en mode eco
    consigne=17.5
    
    if (temperature < (consigne-hysteresis)) then
        commandArray[radiateur]='On'
    elseif  (temperature > (consigne+hysteresis)) then
        commandArray[radiateur]='Off'
    end

end

if otherdevices[mode]=='Off' then -- Mise a l'arret du radiateur
    commandArray[radiateur]='Off'
end

return commandArray
Pourtant hier il se déclenchait normalement j'ai juste rajouté un level au sélecteur et changé les noms hier soir et ce matin tous les scripts lua se déclenche plusieure fois toutes les secondes.

Re: script qui se déclenche 5x par secondes

Publié : 02 févr. 2022, 13:14
par Keros
Tu as sûrement un trigger Device. Passe en Time, il ne devrait s'exécuter toutes les minutes au lieu de toutes les fois où tu as un device qui change (qui peut être 5 fois par secondes).

Plus d'info dans mon petit guide débuter en programmation dans ma signature.

Re: script qui se déclenche 5x par secondes

Publié : 02 févr. 2022, 15:11
par kurogane
C'était effectivement ça! Merci

Du coup juste pour être sur je pensais que les script device c’était pour modifier l’état d'un device mais là du fait d'une variable sur l'heure et une sur une sonde de température j'ai des changement de variable tous le temps d'où le déclenchement intempestif?
Il ne faut pas nécessairement agir sur des variable de temps pour qu'un script soit considéré comme time?

Bon ben je vais retourner relire tous ça du coup!

Re: script qui se déclenche 5x par secondes

Publié : 02 févr. 2022, 15:16
par Keros
Pour t'aider : Trigger peut se traduire par Déclencheur ;)

Regarde plus précisément ce tuto : https://easydomoticz.com/point-scripts-lua/

Re: script qui se déclenche 5x par secondes

Publié : 02 févr. 2022, 15:29
par kurogane
Ok je vois devicechanged pour un script_device. J'avais vraiment pas compris ça comme ca.

Merci pour ton temps et ton aide!