Xiaomi switch et Domoticz
J’ai pas mal de module Xiaomi en plus de la passerelle, notamment des boutons ronds.
Ils ont trois possibilités d’actions : clique, double clique et clique long.
J’ai aussi une prise commandée Xiaomi et j’ai écris un petit script lua pour gérer celle ci avec le bouton Xiaomi.
Cela me permet de contrôler mon micro-onde qui n’est pas tout jeune. Je l’utilise pour réchauffer des petits pots par exemple.
Un clique active le micro-onde pendant 10 secondes, le double clique pendant 30 secondes et le clique long pendant 2 minutes.
[pastacode lang= »c » user= »chatainsim » repos= »scripts_domoticz » path_id= »xiaomi_switch.lua » revision= » » highlight= » » lines= » » provider= »github »/]
Clique !
J’en ai un autre pour gérer les lumières aussi, si vous êtes intéressés, faites moi signe !
Merci pour ce script qui m’a permis de gérer mon bouton rond xiaomi et l’état ON/OFF avec le click tout en gardant le double click pour une autre action.
Je partage le script retouché :
— Bouton physique d’activation de l’alarme
commandArray = {}
— Alarme totale
if (devicechanged[‘Xiaomi_Bouton’] == ‘Click’ and otherdevices[‘Alarme_out’] == ‘Off’) then
print(« Activation alarme out par bouton physique »)
commandArray[‘Xiaomi_Bouton’]=’Off’
commandArray[1]={[‘Alarme_out’]=’On’}
end
if (devicechanged[‘Xiaomi_Bouton’] == ‘Click’ and otherdevices[‘Alarme_out’] == ‘On’) then
print(« Désactivation alarme out par bouton physique »)
commandArray[‘Xiaomi_Bouton’]=’Off’
commandArray[1]={[‘Alarme_out’]=’Off’}
end
if (devicechanged[‘Xiaomi_Bouton’] == ‘Click’ and otherdevices[‘Alarme_in’] == ‘On’) then
print(« Désactivation alarme out par bouton physique »)
commandArray[‘Xiaomi_Bouton’]=’Off’
commandArray[1]={[‘Alarme_out’]=’On’}
commandArray[2]={[‘Alarme_in’]=’Off’}
end
— Alarme partielle
if (devicechanged[‘Xiaomi_Bouton’] == ‘Double Click’ and otherdevices[‘Alarme_in’] == ‘Off’) then
print(« Activation alarme in par bouton physique »)
commandArray[‘Xiaomi_Bouton’]=’Off’
commandArray[1]={[‘Alarme_in’]=’On’}
end
if (devicechanged[‘Xiaomi_Bouton’] == ‘Double Click’ and otherdevices[‘Alarme_in’] == ‘On’) then
print(« Activation alarme in par bouton physique »)
commandArray[‘Xiaomi_Bouton’]=’Off’
commandArray[1]={[‘Alarme_in’]=’Off’}
end
if (devicechanged[‘Xiaomi_Bouton’] == ‘Double Click’ and otherdevices[‘Alarme_out’] == ‘On’) then
print(« Activation alarme in par bouton physique »)
commandArray[‘Xiaomi_Bouton’]=’Off’
commandArray[1]={[‘Alarme_in’]=’On’}
commandArray[2]={[‘Alarme_out’]=’Off’}
end
return commandArray
Merci pour ton script ! 🙂
Bonjour,
j’ai essayé de rependre ton script (je n’y connais rien) pour allumer et éteindre une ampoule Yeelight avec un switch Aqara.
Seul hic, il ne se passe rien quand je click. ai je fait une erreur ?
Voici le code :
— Bouton physique lumière couloir
commandArray = {}
— Allumer couloir
if (devicechanged[‘Switch_couloir_haut’] == ‘Click’ and otherdevices[‘YeeLight_couloir_haut’] == ‘Off’) then
print(“Allumage couloir haut par bouton physique”)
commandArray[‘Switch_couloir_haut’]=’Off’
commandArray[1]={[‘YeeLight_couloir_haut’]=’On’}
end
if (devicechanged[‘Switch_couloir_haut’] == ‘Click’ and otherdevices[‘YeeLight_couloir_haut’] == ‘On’) then
print(“Extinction couloir haut par bouton physique”)
commandArray[‘Switch_couloir_haut’]=’Off’
commandArray[1]={[‘YeeLight_couloir_haut’]=’Off’}
end
return commandArray
As tu bien définis le script comme étant de type lua -> Device ?
Dans la partie en haut à droite de l’éditeur de script.
Non, je vais retester.
Merci 🙂