Articles - Home Assistant

Home Assistant #08 : Ajout du matériels Xiaomi.

Auteur Date  |   Vues 46  |  Commentaires Poster commentaire  |  Catégorie Home Assistant
Home Assistant #08 : Ajout du matériels Xiaomi.

Introduction.


Quand on débute dans la domotique, on ne veut pas forcement dépenser des mille et des cents mais le DIY fait un peu peur, c'est pour cela que j'avais acheté du Xiaomi qui propose des capteurs et interrupteurs peu chers, avec un beau design et facile à intégrer.

Nous allons voir maintenant comment intégrer vos matériels Xiaomi afin que l'on puisse les faire communiquer avec d'autres matériels.

pré-requis.


  • Gateway Xiaomi
  • Avoir intégré les capteurs avec votre Gateway.

Récupérer votre clé et autoriser votre Gateway à passer en LAN .


Lancer votre Application Xiaomi Home.

images1

Cliquer sur la Gateway.

images2

Cliquer sur les ... en haut a droite puis "à propos".

Tapoter plusieurs fois en bas de l’écran, le menu "protocole de communication LAN" apparait, cliquer dessus.

images3

Activer en haut à droit le "Protocole de communication LAN" puis copier le Mot de passe en dessous.

images4

Quitter l'application.

Configuration.


Dans Home Assistant, allez dans "File Editor" puis dans le fichier "configuration.yaml"

Ajouter-y ce qui suit.

Code TEXT :
 
xiaomi_aqara:
  discovery_retry: 5
  gateways:
    - key: !secret password_xiaomi_gateway
 


images10

Dans Home Assistant, allez dans "File Editor" puis dans le fichier "secrets.yaml".
Ajouter
Code TEXT :
password_xiaomi_gateway: votremotdepasse


Vérifier votre fichier de configuration puis redémarrer.

Rendez vous dans "Configuration", "Entités" puis faites une recherche avec xiaomi.
Vous devriez avoir tous les capteurs Zigbee de votre installation Xiaomi.

images11

Allez plus loin.


Afficher un panneau de commande pour la Gateway


Nous allons créer une interface Lovelace comme celle-ci.

images12

Il va falloir créer plusieurs choses.
Dans le fichier "Configurations.yaml", nous allons ajouter des "input_quelques choses". (Merci Paradis Artificiels)

Créons un sélecteur avec les différents sons.


Nous allons ajouter un "input_select". C'est un sélecteur liste pour Home Assistant.
Il contiendra tous les sons disponibles d'origine et vos perso.

Dans le fichiers "Configurations.yaml", ajouter ceci. (Merci Paradis Artificiels)
Code TEXT :
### Gateway Xiaomi Liste des Sons.
input_select:
  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 ajouter des sons perso depuis Mi Home
#      - "10002 - Perso2"
    initial: "1 - Police car 2"    
    icon: mdi:music-note ## Icône de https://materialdesignicons.com/

images13

Créons des interrupteurs pour la fonction "Play", "Stop", "Ajouter un device".


Nous allons ajouter des "input_boolean". C'est des interrupteurs pour Home Assistant (bouton On/Off).

Code TEXT :
### Input boolean pour couper le son du gateway ###
input_boolean:
  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


images14

Créons un slider pour la fonction "volume".


Nous allons ajouter "input_number" pour contrôler le volume du son. C'est un slider pour Home Assistant.
Il nous pernettra de regler un niveau sonore.
Code TEXT :
### Input slider pour contrôler le volume du gateway ###
input_number:
  volume_gateway:
    name: Volume
    initial: 1
    min: 1
    max: 100
    step: 1
    icon: mdi:volume-high
 


NOTA : J'ai volontairement mis le début à 1 car si vous mettez 0, le son est à 100% lol.

images15

Créons les "automations".



Dans le fichier "automations.yaml" ajoutez ceci.

Code TEXT :
## Gateway Xiaomi Jouer un son.
- 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: 78:11:DC:B2:47:43
      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
  id: 1e4cd32ded094f64ac0356821b55ab06
## Gateway Xiaomi Stopper un son.
- 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: 78:11:DC:B2:47:43
  - delay: '1'
  - data: {}
    entity_id: input_boolean.stop_sonneries_gateway
    service: input_boolean.turn_off
  id: 4353823cd5f94da282920123fd96cc68
- id: '1586023052576'
## Gateway Xiaomi Ajouter un nouveau device.
  alias: Ajout Devices
  description: ''
  trigger:
  - entity_id: input_boolean.ajout_device
    from: 'off'
    platform: state
    to: 'on'
  condition: []
  action:
  - service: xiaomi_aqara.add_device
  - delay: '10'
  - data: {}
    entity_id: input_boolean.ajout_device
    service: input_boolean.turn_off


NOTA : Vous pouvez aussi créer vos "automations" via l'interface graphique.

Conclusions.


Vous voilà maintenant avec une multitude de capteurs possibles pour votre domotique.

Trucs & Astuces.


Organiser son fichier "configuration"


Il est possible de séparer les input_* de votre fichier "configuration.yaml", il suffit de créer le fichier et de le mettre en lien dans le "configuration.yaml".
Ex:
Code TEXT :
input_select: !include input_select.yaml


Les automations & les scripts.


Dans la vidéo de paradis artificiels, il est utilisé des scripts dans lesquels se trouvent des automations.

Ces scripts sont ensuite appelés dans des automations par.
Code TEXT :
  action:
    - service: script.turn_on
      entity_id: script.nom_de_votre_script 


Pourquoi utiliser des scripts ?


Ils vous permettent de créer une seule fois une automation et de la rappeler plusieurs fois dans différentes automations sans devoir tout retaper.