Débutant / Intermédiaire / Avancé
J’ai commencé, et continue d’ailleurs, à acheter du matériel Xiaomi. Leur gamme de produit pour la maison connectée est complète, design, et souvent peu cher.
Nous allons voir maintenant comment intégrer vos matériels Xiaomi afin que l’on puisse les faire communiquer avec d’autres matériels.
Matériels
- Gateway Xiaomi compatible.
Compatibilité :- lumi.gateway.v2: ok
- lumi.gateway.v3 : ok
- lumi.gateway.aqhm01 : ko
Pré-requis
- L’adresse IP et MAC de la Gateway,
- Autoriser la connexion LAN sur la Gateway (ouverture du port UDP 9898)
- Récupérer le token de la Gateway.
Pour récupérer l’adresse MAC et l’IP, il vous suffit d’aller dans les paramètres de votre Gateway.
Une fois intégrer votre Gateway dans Mi Home, cliquer dessus puis sur le menu trois points en haut a droite, descendre dans paramètres supplémentaires puis Informations sur le réseaux. Vous pouvez récupérer l’adresse MAC, l’IP et le token.
Pour la connexion LAN, je vous invite à lire cet article.
Matériels utilisés
- Version de HA Core : V 2021.2.2.
- Gateway Xiaomi Aqara (DGNWG02LM / lumi.gateway.v3)
- Capteur de porte Xiaomi ou tout autre capteur Zigbee déjà intégré à votre passerelle via Mi Home.
Intégration
Dorénavant l’intégration de la Gateway Xiaomi se fait depuis l’interface de Home Assistant, fini le fichier configuration.yaml
pour le moment.
Il vous faudra ajouter deux intégrations :
- Xiaomi Gateway (Aqara),
- Xiaomi Miio.
Il se peut qu’elles soient automatiquement détectées via le
Discovery
, dans ce cas il vous faudra seulement rentrer les paramètres demandés.
Xiaomi Miio
Dans configuration
intégration
AJOUTER INTÉGRATION
rechercher Xiaomi Miio
entrer l’adresse IP puis le token, donnez lui un nom différent si vous le souhaitez et sélectionner une pièce.
Cette intégration vous permet d’activer l’alarme Xiaomi (celle de votre Mi Home), de récupérer l’info luminosité (sur ma gateway) et de jouer avec le cercle lumineux.
Xiaomi Gateway (Aqara)
Dans configuration
intégration
AJOUTER INTÉGRATION
rechercher Xiaomi Gateway (Aqara)
saisissez l’adresse IP et l’adresse MAC de votre Gateway, laisser « interface réseau à utiliser » sur any
, insérer la clé LAN, changer le nom si vous le souhaitez et sélectionner une pièce.
Cette intégration vous permet de récupérer les entités luminosité et le cercle lumineux comme au dessus mais aussi vos différents capteurs zigbee intégrés dans votre application Mi Home.
Ajouter un nouveau capteur.
Pour ajouter un capteur vous pouvez soit le faire via Mi Home, soit via l’outils de développement
avec cette commande xiaomi_aqara.add_device
.
Une fois la commande lancée votre Gateway va parler et il vous suffit alors d’effectuer la procédure d’appairage de votre capteur.
Il vous faut ensuite recharger votre intégration Xiaomi Gateway Aqara
votre nouveau capteur devrait apparaître.
Pour supprimer un capteur c’est presque la même chose mais avec la commande xiaomi_aqara.remove_device
puis l’ ID du capteur :
device_id: 158d00041fdacd
gw_mac: 7811DCB24743
Jouer une sonnerie.
La liste de sonneries disponible se trouve ici. Si vous souhaitez jouer une sonnerie que vous avez ajouté vous même (depuis Mi Home) cela commencera avec l’ID 10001 puis 10002 etc.
Création d’entités pour panneau de contrôle.
Ok c’est bien gentil tout ça mais c’est pas très pratique ?
Nous allons voir comment contrôler ça depuis une carte. Pour cela nous allons utiliser la méthode packges
pour la configuration (plus d’informations sur l’organisation du fichier de configuration).
Après avoir créé un nouveau fichier que j’ai nommé xiaomi_controle.yaml
dans le dossier packages
.
Nous allons maintenant le remplir avec des input_booleen
, des input_number
, des input_select
, des automations
, des scripts.
J’ai essayé de commenter un maximum de choses donc je ne vais pas le détailler. Si vous avez besoin d’aide, c’est en bas de l’article.
input_boolean:
### Input boolean pour couper le son du gateway ###
jouer_sonneries_gateway:
name: Play
icon: mdi:play
### Input boolean pour stop le son du gateway ###
stop_sonneries_gateway:
name: Stop
icon: mdi:stop
### Input boolean pour ajouter un nouveau device à la gateway ###
ajout_device:
name: Ajout Device
icon: mdi:plus-circle
input_number:
### Input slider pour contrôler le volume du gateway ###
volume_gateway:
name: Volume
initial: 1
min: 1
max: 100
step: 1
icon: mdi:volume-high
input_select:
### Gateway Xiaomi Liste des Sons.
sonneries_gateway: ##id de votre input select
name: Sonneries Gateway ## frendly name en gros
options:
- "0 - Police car 1" ## Liste des sons disponnibles
- "1 - Police car 2"
- "2 - Accident"
- "3 - Countdown"
- "4 - Ghost"
- "5 - Sniper rifle"
- "6 - Battle"
- "7 - Air raid"
- "8 - Bark"
# - "9 - None"
- "10 - Doorbell"
- "11 - Knock at a door"
- "12 - Amuse"
- "13 - Alarm clock"
# - "14 - None"
# - "15 - None"
# - "16 - None"
# - "17 - None"
# - "18 - None"
# - "19 - None"
- "20 - MiMix"
- "21 - Enthusiastic"
- "22 - GuitarClassic"
- "23 - IceWorldPiano"
- "24 - LeisureTime"
- "25 - ChildHood"
- "26 - MorningStreamLiet"
- "27 - MusicBox"
- "28 - Orange"
- "29 - Thinker"
# - "10001 - Perso1" ## si vous ajoutez des sons persos depuis Mi Home
# - "10002 - Perso2"
initial: "1 - Police car 2"
icon: mdi:music-note ## Icône de https://materialdesignicons.com/
automation:
## Jouer Sonnerie
- id: jouer_sonnerie_gateway
alias: Jouer sonnerie
initial_state: true
trigger:
- platform: state
entity_id: input_boolean.jouer_sonneries_gateway
to: 'on'
action:
- service: xiaomi_aqara.play_ringtone
data_template:
gw_mac: !secret gatewayMAC
ringtone_id: '{{ states.input_select.sonneries_gateway.state.split(''-'')[0]
}}'
ringtone_vol: '{{ states.input_number.volume_gateway.state|int }}'
- delay: '10'
- data: {}
entity_id: input_boolean.jouer_sonneries_gateway
service: input_boolean.turn_off
## Stopper la Sonnerie
- id: stopper_sonnerie_gateway
alias: Stopper sonneries
initial_state: true
trigger:
- platform: state
entity_id: input_boolean.stop_sonneries_gateway
to: 'on'
action:
- service: xiaomi_aqara.stop_ringtone
data_template:
gw_mac: !secret gatewayMAC
- delay: '1'
- data: {}
entity_id: input_boolean.stop_sonneries_gateway
service: input_boolean.turn_off
## Ajouter un Device
- id: ajouter_devices_gateway
alias: Ajout Devices
description: ''
trigger:
- platform: state
entity_id: input_boolean.ajout_device
to: 'on'
action:
- service: xiaomi_aqara.add_device
data_template:
gw_mac: !secret gatewayMAC
- delay: '30'
- data: {}
entity_id: input_boolean.ajout_device
service: input_boolean.turn_off
Pour plus de simplicité j’ai ajouté mon adresse MAC dans le fichier
secret.yaml
avecgatewayMAC: 'XX:XX:XX:XX:XX'
Vérifiez votre configuration puis redémarrez votre serveur.
Il vous reste à vérifier la présence de vos nouvelles entités.
Interface
Nous avons maintenant la possibilité d’activer notre Alarme Xiaomi (celle de Mi Home) depuis l’interface de Home Assistant.
Mais aussi nous allons faire un panneau de contrôle simple avec le code ci-dessous.
type: entities
entities:
- entity: light.xiaomi_gateway_light_2
- entity: input_select.sonneries_gateway
- entity: input_number.volume_gateway
- entity: input_boolean.jouer_sonneries_gateway
- entity: input_boolean.stop_sonneries_gateway
- entity: input_boolean.ajout_device
title: Xiaomi contrôle
show_header_toggle: false
Conclusion.
Vous pouvez maintenant intégrer votre domotique (zigbee) Xiaomi dans Home Assistant tout en gardant le contrôle via le cloud Xiaomi.
Une question, un problème
Annexes
Sources
- Home Assistant Officiel Xiaomi Gateway Aqara, Xiaomi Miio.