On/Off de base : j'y arrive pas :(

Vous avez des questions concernant les scripts dans Domoticz, posez vos questions ici, quelque soit le langage nous tenterons des réponses pertinentes ...
Répondre
smotx
Messages : 42
Enregistré le : 06 oct. 2018, 10:30

On/Off de base : j'y arrive pas :(

Message par smotx » 20 juil. 2019, 17:23

Salutation,

des fois j'ai l'impression d'être stupide.

J'ai une prise connectée Meross
J'ai un bouton Xiaomi switch carré

Je souhaite faire un truc tout bête mais j'y arrive pas.

Si je fait un 'click' sur le bouton et que la prise est Off je veux qu'elle passe 'On'
Si je fais un 'click' sur le bouton et que la prise est On je veux qu'elle passe 'Off'

Je ne souhaite pas faire 1 click pour allumer, 2 clicks pour éteindre (çà j'y arrive facilement).

Par avance merci de votre aide.
Domoticz 4.10717 sur Raps 3+ = Gestion des prises : TPLink, Sonoff, Meross + Volets : Fibaro + Lumières : Hue + Logitech Harmony + Xiaomi : Capteurs, boutons + PC : Allumage/Arrêt

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


papoo
Messages : 1849
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: On/Off de base : j'y arrive pas :(

Message par papoo » 20 juil. 2019, 21:21

en dzvents je ferai un truc du genre

Code : Tout sélectionner


local scriptName        = 'CheckFirst'
local scriptVersion     = ' 0.1'
local inter = "S1"
local lampe = "L1"

   
return {
    active = true,
    on = {
    devices = {inter}
    },    

  logging =   {  level    =   domoticz.LOG_DEBUG,                                             -- Seulement un niveau peut être actif; commenter les autres
                -- level    =   domoticz.LOG_INFO,                                            -- Only one level can be active; comment others
                -- level    =   domoticz.LOG_ERROR,
                -- level    =   domoticz.LOG_MODULE_EXEC_INFO,
                marker = scriptName..' v'..scriptVersion
               },
    
    execute = function(domoticz, item)
    
        local function logWrite(str,level)             -- Support function for shorthand debug log statements
            domoticz.log(tostring(str),level or domoticz.LOG_DEBUG)
        end
        
        if (item.name == inter) then
            logWrite("l\'interrupteur "..inter.." vient d\'être manœuvré")
            domoticz.devices(lampe).toggleSwitch()
            logWrite("la lampe "..lampe.." vient de changer d\'état")
        end
    end
}
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

smotx
Messages : 42
Enregistré le : 06 oct. 2018, 10:30

Re: On/Off de base : j'y arrive pas :(

Message par smotx » 20 juil. 2019, 23:27

Merci pour la piste, sur le principe tout devrait fonctionner et pourtant non.

Sans modifier ton code, voici la version finale :

Code : Tout sélectionner

local scriptName        = 'CheckFirst'
local scriptVersion     = ' 0.1'
local inter = "S1"
local lampe = "L1"


return {
    active = true,
    on = {
    devices = {'Xiaomi Square Wireless Switch 3(PC)'}
    },

  logging =   {  level    =   domoticz.LOG_DEBUG,                                             -- Seulement un niveau peut être actif; $
                -- level    =   domoticz.LOG_INFO,                                            -- Only one level can be active; comment$
                -- level    =   domoticz.LOG_ERROR,
                -- level    =   domoticz.LOG_MODULE_EXEC_INFO,
                marker = scriptName..' v'..scriptVersion
               },

    execute = function(domoticz, item)

        local function logWrite(str,level)             -- Support function for shorthand debug log statements
            domoticz.log(tostring(str),level or domoticz.LOG_DEBUG)
        end

        if (item.name == 'Xiaomi Square Wireless Switch 3(PC)') then
            logWrite("l\'interrupteur "..inter.." vient d\'être manœuvré")
            domoticz.devices(344).toggleSwitch()
            logWrite("la lampe "..lampe.." vient de changer d\'état")
        end
    end
}
Quand j'active la pression sur le bouton, le fichier de log renvoit tout correctement :

Code : Tout sélectionner

 2019-07-20 23:15:49.894 Status: dzVents: Info: Handling events for: "Xiaomi Square Wireless Switch 3(PC)", value: ""
2019-07-20 23:15:49.895 Status: dzVents: Info: CheckFirst v 0.1: ------ Start internal script: SwitchxiaoZevent: Device: "Xiaomi Square Wireless Switch 3(PC seb) (Xiaomi Gate)", Index: 246
2019-07-20 23:15:49.895 Status: dzVents: Debug: CheckFirst v 0.1: l'interrupteur S1 vient d'être manœuvré
2019-07-20 23:15:49.897 Status: dzVents: Debug: CheckFirst v 0.1: Processing device-adapter for Ecran MM (M3): Switch device adapter
2019-07-20 23:15:49.897 Status: dzVents: Debug: CheckFirst v 0.1: Constructed timed-command: On
2019-07-20 23:15:49.898 Status: dzVents: Debug: CheckFirst v 0.1: la lampe L1 vient de changer d'état
2019-07-20 23:15:49.898 Status: dzVents: Info: CheckFirst v 0.1: ------ Finished SwitchxiaoZevent
2019-07-20 23:15:49.901 Status: EventSystem: Script event triggered: /home/pi/domoticz/dzVents/runtime/dzVents.lua 
Mais pour autant le prise ne change pas de mode :( pourtant il affiche bien le nom de la prise 'Ecran MM (M3)'...
Domoticz 4.10717 sur Raps 3+ = Gestion des prises : TPLink, Sonoff, Meross + Volets : Fibaro + Lumières : Hue + Logitech Harmony + Xiaomi : Capteurs, boutons + PC : Allumage/Arrêt

smotx
Messages : 42
Enregistré le : 06 oct. 2018, 10:30

Re: On/Off de base : j'y arrive pas :(

Message par smotx » 21 juil. 2019, 00:29

J'ai tenté un truc du genre :

Code : Tout sélectionner

return {
    active = true,
    on = { devices = { 246 }},
    execute = function(dz, item )
        if (item.state == 'Click') then
            dz.device(344).toggleSwitch()
            domoticz.notify('Test OK', domoticz.PRIORITY_LOW)
        end
    end
}
non plus...
Domoticz 4.10717 sur Raps 3+ = Gestion des prises : TPLink, Sonoff, Meross + Volets : Fibaro + Lumières : Hue + Logitech Harmony + Xiaomi : Capteurs, boutons + PC : Allumage/Arrêt

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


papoo
Messages : 1849
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: On/Off de base : j'y arrive pas :(

Message par papoo » 21 juil. 2019, 09:27

les variables en début de script sont la pour simplifier sa personnalisation

Code : Tout sélectionner

local inter = "S1"
local lampe = "L1"
ce qui aurait donné

Code : Tout sélectionner

local scriptName        = 'toggle'
local scriptVersion     = ' 0.1'
local inter = "Xiaomi Square Wireless Switch 3(PC)"
local lampe = "344"

   
return {
    active = true,
    on = {
    devices = {inter}
    },    

  logging =   {  level    =   domoticz.LOG_DEBUG,                                             -- Seulement un niveau peut être actif; commenter les autres
                -- level    =   domoticz.LOG_INFO,                                            -- Only one level can be active; comment others
                -- level    =   domoticz.LOG_ERROR,
                -- level    =   domoticz.LOG_MODULE_EXEC_INFO,
                marker = scriptName..' v'..scriptVersion
               },
    
    execute = function(domoticz, item)
    
        local function logWrite(str,level)             -- Support function for shorthand debug log statements
            domoticz.log(tostring(str),level or domoticz.LOG_DEBUG)
        end
        
        if (item.name == inter) then
            logWrite("l\'interrupteur "..inter.." vient d\'être manœuvré")
            domoticz.devices(lampe).toggleSwitch()
            logWrite("la lampe "..lampe.." vient de changer d\'état")
        end
    end
}
mais les noms de devices à rallonge avec des parenthèses sont le plus sur moyen de ne pas réussir à faire fonctionner les scripts (erreurs de saisies, caractères incompatibles...)
essai en renseignant dans un premier temps l'idx plutôt que le nom de ton interrupteur.
le script fonctionne, je l'avais testé avant de te le proposer
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

smotx
Messages : 42
Enregistré le : 06 oct. 2018, 10:30

Re: On/Off de base : j'y arrive pas :(

Message par smotx » 21 juil. 2019, 10:07

C'est encore moins bien, j'ai carrément plus rien cette fois, meme pas les log de confirmation dans le fichier log.

je presse le bouton, je vois que le presse dans la log mais cela ne déclenche rien.
Domoticz 4.10717 sur Raps 3+ = Gestion des prises : TPLink, Sonoff, Meross + Volets : Fibaro + Lumières : Hue + Logitech Harmony + Xiaomi : Capteurs, boutons + PC : Allumage/Arrêt

papoo
Messages : 1849
Enregistré le : 10 janv. 2016, 11:29
Localisation : Limoges (87)
Contact :

Re: On/Off de base : j'y arrive pas :(

Message par papoo » 21 juil. 2019, 10:15

difficile de t'aider sans données
mets nous au moins ton script modifié que l'on puisse voir si il y a des erreurs
domoticz beta/RaspBerry PI3 stretch
https://pon.fr github

smotx
Messages : 42
Enregistré le : 06 oct. 2018, 10:30

Re: On/Off de base : j'y arrive pas :(

Message par smotx » 21 juil. 2019, 10:22

Alors, ca fonctionne mais avec un mix des 2 ....

Lol.


J'avais changer les noms sur tes conseils mais avec ta dernière version si ne se passait rien, vu qu'avec l'ancienne version, ça ne passait pas mais que j'avais les retour dans le log, j'ai pris la première version et j'ai mis le nouveau nom du switch et là ça passe....

Je ne sais pas pourquoi ta dernière version passe pas avec les IDX partout.

Mais en tout cas merci, après si tu veux que j’essaie une autre avec les IDX, je suis disponible pour tester, il est vrai que ca serait plus pratique.

Voici donc celle qui fonctionne :

Code : Tout sélectionner

local scriptName        = 'CheckFirst'
local scriptVersion     = ' 0.1'
local inter = "Ecran PC"
local lampe = "Ecran PC"


return {
    active = true,
    on = {
    devices = {'SwitchPCSeb'}
    },

  logging =   {  level    =   domoticz.LOG_DEBUG,                                             -- Seulement un$
                -- level    =   domoticz.LOG_INFO,                                            -- Only one lev$
                -- level    =   domoticz.LOG_ERROR,
                -- level    =   domoticz.LOG_MODULE_EXEC_INFO,
                marker = scriptName..' v'..scriptVersion
               },

    execute = function(domoticz, item)

        local function logWrite(str,level)             -- Support function for shorthand debug log statements
            domoticz.log(tostring(str),level or domoticz.LOG_DEBUG)
        end

        if (item.name == 'SwitchPC') then
            logWrite("l\'interrupteur "..inter.." vient d\'être manœuvré")
            domoticz.devices(344).toggleSwitch()
            logWrite("la prise "..lampe.." vient de changer d\'état")
        end
    end
}
Domoticz 4.10717 sur Raps 3+ = Gestion des prises : TPLink, Sonoff, Meross + Volets : Fibaro + Lumières : Hue + Logitech Harmony + Xiaomi : Capteurs, boutons + PC : Allumage/Arrêt

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Répondre