On/Off de base : j'y arrive pas :(
On/Off de base : j'y arrive pas :(
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.
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 Version: 2020.1 sur Raps 3+ = Gestion des prises : TPLink, Sonoff, Meross, Lidl + Volets : Fibaro + Lumières : Hue/Lidl + Logitech Harmony + Xiaomi : Capteurs, boutons + PC : Allumage/Arrêt
Re: On/Off de base : j'y arrive pas :(
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
}
Re: On/Off de base : j'y arrive pas :(
Merci pour la piste, sur le principe tout devrait fonctionner et pourtant non.
Sans modifier ton code, voici la version finale :
Quand j'active la pression sur le bouton, le fichier de log renvoit tout correctement :
Mais pour autant le prise ne change pas de mode
pourtant il affiche bien le nom de la prise 'Ecran MM (M3)'...
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
}
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 Domoticz Version: 2020.1 sur Raps 3+ = Gestion des prises : TPLink, Sonoff, Meross, Lidl + Volets : Fibaro + Lumières : Hue/Lidl + Logitech Harmony + Xiaomi : Capteurs, boutons + PC : Allumage/Arrêt
Re: On/Off de base : j'y arrive pas :(
J'ai tenté un truc du genre :
non plus...
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
}
Domoticz Version: 2020.1 sur Raps 3+ = Gestion des prises : TPLink, Sonoff, Meross, Lidl + Volets : Fibaro + Lumières : Hue/Lidl + Logitech Harmony + Xiaomi : Capteurs, boutons + PC : Allumage/Arrêt
Re: On/Off de base : j'y arrive pas :(
les variables en début de script sont la pour simplifier sa personnalisation
ce qui aurait donné
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
Code : Tout sélectionner
local inter = "S1"
local lampe = "L1"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
}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
Re: On/Off de base : j'y arrive pas :(
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.
je presse le bouton, je vois que le presse dans la log mais cela ne déclenche rien.
Domoticz Version: 2020.1 sur Raps 3+ = Gestion des prises : TPLink, Sonoff, Meross, Lidl + Volets : Fibaro + Lumières : Hue/Lidl + Logitech Harmony + Xiaomi : Capteurs, boutons + PC : Allumage/Arrêt
Re: On/Off de base : j'y arrive pas :(
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
mets nous au moins ton script modifié que l'on puisse voir si il y a des erreurs
Re: On/Off de base : j'y arrive pas :(
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 :
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 Version: 2020.1 sur Raps 3+ = Gestion des prises : TPLink, Sonoff, Meross, Lidl + Volets : Fibaro + Lumières : Hue/Lidl + Logitech Harmony + Xiaomi : Capteurs, boutons + PC : Allumage/Arrêt