[RÉSOLU] dzvents désactivé qui s'exécute malgré tout

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 <\>.
Thx
Messages : 56
Inscription : 21 déc. 2020, 12:38

[RÉSOLU] dzvents désactivé qui s'exécute malgré tout

Message par Thx »

Bonjour,

J'ai écris un dzvent pour gérer ma pompe de relevage suivant le niveau d'eau mais comme l'un des détecteurs est défectueux, je veux désactiver mon script. J'ai donc mis "false" dans le bloc "active". Malgré tout, toutes les heures le trigger de type time se déclenche et si le capteur change d'état, l'évènement se déclenche quand même ...

Qu'est-ce que j'ai loupé ?

domoticz, version 2020.2 (avril 2020)

Merci d'avance.
Thierry

Code : Tout sélectionner

return {
    active = {
        false
    },
    -- trigger
    on = {

        -- device triggers
        devices = {
            -- scripts is executed if the device that was updated matches with one of these triggers
            'VS 1', 'VS 2',
        },

        -- timer riggers
        timer = {
            'every 1 hours',
        },
    },

    -- persistent data
    -- see documentation about persistent variables
    data = {
        myVar = { initial = 5 },
        myHistoryVar = { maxItems = 10 },
    },

    -- custom logging level for this script
    logging = {
        marker = "PompeVS"
    },

    -- actual event code
    -- the second parameter is depending on the trigger
    -- when it is a device change, the second parameter is the device object
    -- similar for variables, scenes and groups and httpResponses
    -- inspect the type like: triggeredItem.isDevice
    execute = function(dz, item, info)
        local vs1 = dz.devices('VS 1')
        local vs2 = dz.devices('VS 2')
        local pompe = dz.devices('Pompe de relevage')
        
        if (pompe.state == 'On')
        then
            if (vs1.state == 'Off') or (not dz.time.matchesRule('at 09:00-19:00'))
            then
                dz.log('Eteindre la pompe')
                pompe.switchOff()
            end
        else
            if (vs2.state == 'On') and dz.time.matchesRule('at 09:00-19:00')
            then
                dz.log('Allumer la pompe')
                -- pompe.switchOn()
            end
        end
    end
}
Dernière modification par Thx le 10 févr. 2021, 14:59, modifié 1 fois.
Thx
Messages : 56
Inscription : 21 déc. 2020, 12:38

Re: dzvents désactivé qui s'exécute malgré tout

Message par Thx »

trouvé :

il ne faut pas écrire

Code : Tout sélectionner

active = {
    false
},
mais

Code : Tout sélectionner

active=false,
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Modération

Message par Keros »

Sujet déplacé dans la section Script.
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Répondre