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 !

Hi, I’m simon

5 Comments

  1. 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

  2. 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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.