Xiaomi passive BLE Monitor sensor platform

Plublié par : https://hacf.fr/integrer-le-materiels-bluetooth-xiaomi-dans-home-assistant/

Introduction.

Xiaomi ne fait pas que des capteurs en Zigbee, ils ont aussi une gamme Wifi et Bluetooth.

Dans cet article, nous allons voir comment intégrer les capteurs Bluetooth, de température et d’hygrométrie, les capteurs et pots connectés pour vos plantes.

La liste du matériel compatible est mise à jour sur le GitHub sur le GitHub Officiel.

Mise à jour : 26/06/2020 – Temps de lecture / alisation : < 1 / 10 min – Difficulté : Faible.

To do :

  • Ajouter comment mettre l’image en arrière plan.
  • Ajouter une manière de récupérer l’encryptor via Apple.

Prérequis, matériels nécessaires & utilisés :

  • Version de HA : V0.110.0.
  • Avoir installé HACS.
  • Version de l’ADDONS : V0.6.8.
  • Avoir Mi Home Vevs. (Mi Home Modifié).
  • Supprimer les capteurs nécessitant l’encryptor de son Mi Home.

Installation / configuration.

Installation.

Nous allons passer par HACS, donc cliquer sur HACS puis dans intégrations rechercher Xiaomi.

Cliquer sur Xiaomi Passive BLE monitor sensor platform puis sur INSTALL.

Xiaomi Passive BLE Monitor

Il n’est plus nécessaire de redémarrer après l’installation d’une intégration via HACS.

configuration.yaml.

Dans sensors.yaml Ajouter ceci.

Ajouter cette ligne.

  - platform: mitemp_bt

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

Une fois redémarré, allez dans Configuration, Entités puis chercher les périphériques appartenant à l’intégration mitemp_bt.

Entités mitemp_bt

Les chiffres correspondent à l’adresse MAC de vos capteurs.

Ici je n’ai que trois capteurs qui apparaissent. Ceux sont les HygroThermoGraphes v1 (LYWSDCGQ) et le MiFlora (HHCCJCY01) (qui n’ont pas besoin d’encryptor), ils sont donc détectés automatiquement.

Les différents capteurs (que j’ai):

Capteurs Température & Humidité.

V1 (LYWSDCGQ) : Détecté automatiquement.

V2 (LYWSD03MMC) : Nécessite un encryptor. (voir plus loin comment récupérer l’encryptor)
Il faudra ajouter à la suite.

    encryptors:
                'A4:C1:38:2F:86:6C': '217C568CF5D22808DA20181502D84C1B'
                'A4:C1:38:D1:61:7D': 'C99D2313182473B38001086FEBF781BD'

Capteurs de Plantes

Miflora (HHCCJCY01) : Détecté automatiquement.

NOTA : Si vous en avez testé d’autres, n’hésitez pas à me partager votre config je l’ajouterais.

Récupérer l’encryptor.

Mi Home VEVS (Android).

Qu’est ce que Mi Home Vevs ?

Mi Home Vevs est une application Mi Home modifiée, par une équipe russe (pas de panique les chinois ne sont pas mieux) présente sur Home Assistant, permettant de pouvoir mettre n’importe quels appareils sur n’importe quels serveurs. En gros le matériel Xiaomi destiné à la chine peut marcher sur les serveurs France, cela veut dire qu’il y a moins de latence lors de la connexion des équipements.

Mi Home Vevs permet aussi dans notre cas de récupérer les clés encryptor, les tokens, etc etc.

NOTA : Si vous n’avez pas confiance vous pouvez créer un compte bidon Mi Home que vous connectez à une tablette ou smartphone qui ne vous sert plus.

Récupérer l’encryptor.

Pour commencer, il faut récupérer la version modifiée de Mi Home sur le site Officiel (En permanence à jour) ou sur le Google Drive (peut ne pas être la dernière version).

Une fois récupéré il faudra désinstaller votre application existante (et sûrement perdre vos automatisations créer sur Mi Home) puis installer la nouvelle.

NOTA : Si vous l’installer sur un autre appareils pas besoin de supprimer votre application.

Une fois installé, ouvrez l’application, puis connectez vous.

Supprimer les capteurs nécessitant l’encryptor. (Car c’est à l’appairage que l’encryptor est échangé).

Allez maintenant dans votre application de gestion de fichiers préférée. (Gestionnaire de fichiers + ou ES Explorer par exemple).
Allez à la racine de votre stockage puis créer à la racine, un dossier vevs. A l’intérieur créer un dossier logs.

Dossier MiHome Vevs

Retourner dans Mi Home puis ajouter votre capteur.

Une fois votre capteur ajouté, retourner dans votre gestionnaire de fichier puis dans le dossier logs créé, il doit y avoir un fichier pairings.txt.

Vous avez l’adresse MAC et le “Bindkey” (encryptor) à l’intérieur.

Infos encryptor

NOTA : faites-les un par un, cela vous permettra de récupérer les adresses MAC de vos capteurs.

Interface.

Pour intégrer vos capteurs de températures & humidité, il vous suffit d’ajouter sur une card de type entités.

Pour les capteurs de plantes, si vous souhaitez utiliser la carte statut de la plante, il vous faut créer un fichier plant.yaml via File Editor puis y ajouter vos capteurs comme ceci. (Organisation du fichier de configuration).

###### MiFlora
plante_1:
    sensors:
      moisture: sensor.mi_m_c47c8d6746ed
      conductivity: sensor.mi_c_c47c8d6746ed
      brightness: sensor.mi_l_c47c8d6746ed
      temperature: sensor.mi_t_c47c8d6746ed

Yucca:
sensors:
moisture: sensor.mi_m_c47c8d674850
conductivity: sensor.mi_c_c47c8d674850
brightness: sensor.mi_l_c47c8d674850
temperature: sensor.mi_t_c47c8d674850

Une fois ajouté, sauvegarder puis retourner dans aperçu.

Configurer l'interface utilisateur, ajouter puis sélectionner la carte Statut de la plante.

Carte Statut Plante Statut Plante Config

Sélectionner votre plante dans Entité puis donner lui un nom si vous le souhaitez.

Lovelace Statut Plante

Il est possible de configurer des alertes si une température min/max ou autre est atteinte.

Vous pouvez aussi mettre une image de votre plante derrière par exemple.

Pour cela je vous laisse regarder les liens officiels (en bas de page).


Conclusion.

Nous avons vu comment intégrer nos capteurs Xiaomi BLE.

A vous de leurs créer une belle interface, et n’hésitez pas à les partager, elles seront ajoutées.


Vous souhaitez signaler un erreur, partager votre configuration, ajouter un matériel fonctionnant, ou bénéficier d’une aide ? Cliquez sur les boutons ci-dessous.


Trucs & astuces.

Mise à jour : (détails)

26/06/2020 :

  • Publication Officielle. (McFly)

13/06/2020 :

  • Mise à jour, mise en page & correction. (McFly)

12/05/2020 :

  • Création de l’article.

Sources.

Bonjour à tous ,

Passant par une VM pour l’utilisation de Home assistant , j’ai quelques petits soucis en effet je ne sais pas si il est possible de configurer Xiaomi Passive BLE Monitor ? Pour lui dire d’aller chercher le capteur bluetooh de mon ordi ?

Du coup même en ayant ajouter - platform: mitemp_bt dans mon fichier config , je ne retrouve pas les entitées .

Merci d’avance

Bonne soirée

Bonjour,

Déjà un grand merci pour ce tuto, mais je suis encore trop novice et j’ai un point de blocage: J’ai réussi à avior les infos encryptor, mais je suis bloqué car il faut que j’ajoute une card de type entité et là je sais pas faire.
Quelqu’un pourrait m’expliquer comment faire?

Salut est ce que tu sais ajouter une carte quelques elle soit ?
Désolé si ça te paraît idiot mais juste pour savoir

Comme tu est au stade de la découverte, la demo est parfaite pour la prise en main :


Tu peux tout modifier/ajouter/supprimer tout ce que tu veux pour chaque demo.

Home assistant comporte un tableau de bord (=lovelace=dashboard) qui lui même comprends des pages (plus d’infos) .

Chaque page peux contenir des cartes(=cards) et/ou des badges .

Pour pouvoir ajouter une carte, il faut cliquer sur le bouton en haut à droite de ton tableau de bord :
Screenshot_20200911-223057_Chrome
Ensuite sur modifier le tableau de bord.

À ce moment, les pages deviennent éditable et un gros bouton + est maintenant présent en bas à droite.:
Screenshot_20200911-223132_Chrome

En cliquant sur le gros bouton +, tu peux choisir qu’elle carte ajouter à ta page de ton tableau de bord:
Screenshot_20200911-223148_Chrome

Tout en bas de la sélection se trouve la carte manuelle/personnelle qui permet d’appeler des custom-card plus tard dans ta découverte.

Merci pour l’explication, j’essaierai demain.

Pour ceux qui ont des capteurs avec encryptor (moi j’ai les carrés), il a fallu que je rajoute les lignes ci dessous dans le fichier sensors.yaml:

  • platform: mitemp_bt
    rounding: True
    decimals: 2
    period: 60
    log_spikes: False
    use_median: False
    active_scan: False
    hci_interface: 0
    batt_entities: False
    encryptors:
    ‹ A4:C1:38:XX:XX:XX ›: ‹ 79XXXXXX196962XXXXXC6DF618XXXXXX ›
    report_unknown: False

Il faut que vous remplaciez A4:C1:38:XX:XX:XX par l’adresse Mac de votre appareil et 79XXXXXX196962XXXXXC6DF618XXXXXX par l’encryptor associé.

J’espère que cela pour vous aider

Bonsoir,
Je viens d’installer 6 capteurs V2 (LYWSD03MMC), j’ai bien un retour des valeurs de température et du taux d’humidité sur Home Assistant, mais le rafraîchissement se fait rarement. Je m’explique sur les 6 capteurs j’ai des temps très long entre les rafraîchissement des valeurs. Parfois j’ai une ou deux valeurs par heure et parfois pas de changement de valeur pendant 2-4heures.
Quelqu’un a déjà rencontré ce problème ? Que dois je vérifier?

@Viri dans HA section Outils de développement puis Services tu peux tester avec le service homeassistant.update_entity en ciblant un ou plusieurs capteurs.

Par exemple, tu en met un au frigo et tu affiche une carte history-graph, tu regarde un peu comment évolue le capteur puis tu force la mise à jour avec le service également…

Attends aussi un jour ou deux le temps que le réseau se fasse…

Tu peux également essayé de rapprocher la passerelle car peut être un manque de signal.

Tiens nous au courant

Pour les encryotor c’est indiqué dans le tuto. Je viens de revérifier.

Pour l’aquisitiin des mesures oui c’est normal car il envoie l’info une fois tous les quart heure et je crois que si il n’y a pas de changement il envoie rien , mais tu peux le forcer au détriment de la batterie.

Je déconseille de se servir des capteurs ble comme mesure pour la gestion du chauffage par exemple.

Moi je ne m’en sers que pour avoir l’info en visu dans les pièces. ( Même si je les laisse me remonter les infos dans HA)