ESPHOME et MiFlora (HHCCJCY01)

Bonjour tout le monde,
je suis nouveau sur HA et encore plus sur ESPHOME.

Actuellement je suis en train de connecter mes appareils bluetooth Xiaomi a un ESP qui me sert de passerelle pour renvoyer les informations a HA.
J’ai donc utilisé le composant « esp32_ble_tracker ».
J’ai pu configuré correctement mon capteur d’intérieur (LYWSDCGQ), et mon 1er MiFlora (HHCCJCY01).

Le problème arrive quand je tente d’ajouter le reste de mes MiFlora, il n’y a que les données du 1er qui remonte via l’ESP.
est-ce que j’ai oublié quelque chose dans le fichier de configuration de l’ESP ?

Je me suis basé sur la documentation de esphome.io : Xiaomi Mijia BLE Sensors — ESPHome

Ma configuration


esphome:
  name: ble-passerelle
  friendly_name: BLE Passerelle

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:
  encryption:
    key: "KvM/lhaxutVmYUJPGaW3SaQ7HWRRNB5LX4JR2jrR7a8="

ota:
  password: "b7be4c005632b959d7f205f3cdbd1782"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Ble-Passerelle Fallback Hotspot"
    password: "ALP48JlGlMUJ"

captive_portal:
esp32_ble_tracker:
sensor:
  - platform: xiaomi_lywsdcgq
    mac_address: 4C:65:A8:DC:45:B6
    temperature:
      name: "LYWSDCGQ Temperature"
    humidity:
      name: "LYWSDCGQ Humidity"
    battery_level:
      name: "LYWSDCGQ Battery Level" 
  - platform: xiaomi_hhccjcy01
    mac_address: C4:7C:8D:6D:6C:FD
    temperature:
      name: "Xiaomi FlowCare 1 Temperature"
    moisture:
      name: "Xiaomi FlowCare 1 Humidité"
    illuminance:
      name: "Xiaomi FlowCare 1 Luminosité"
    conductivity:
      name: "Xiaomi FlowCare 1 Conductivité du sol"
    battery_level:
      name: "Xiaomi FlowCare 1 Batterie"
  - platform: xiaomi_hhccjcy01
    mac_address: C4:7C:8D:6D:6C:11
    temperature:
      name: "Xiaomi FlowCare 2 Temperature"
    moisture:
      name: "Xiaomi FlowCare 2 Humidité"
    illuminance:
      name: "Xiaomi FlowCare 2 Luminosité"
    conductivity:
      name: "Xiaomi FlowCare 2 Conductivité du sol"
    battery_level:
      name: "Xiaomi FlowCare 2 Batterie"

Merci d’avance pour votre aide et bonne journée ! :slight_smile:

Salut

tu n’as pas un problème de portée?

normalement ton code semble etre correct

tu peux voir un exemple ici

en dernier recours tu as

mais cela necessite la mise en place d’un broker MQTT, tel que mosquitto par exemple

Merci pour ta réponse !
Concernant la portée j’ai eu un doute aussi, j’ai placé mes différents capteurs au même endroit histoire d’être sur que ce ne soit pas ça.
J’ai aussi ajouté un composant pour suivre la force du signal BLE (ble_rssi) :

  - platform: ble_rssi
    mac_address: C4:7C:8D:6D:6C:FD
    name: "MiFlora 1"

  - platform: ble_rssi
    mac_address: C4:7C:8D:6D:6C:11
    name: "MiFlora 2"

  - platform: ble_rssi
    mac_address: C4:7C:8D:6D:6D:18
    name: "MiFlora 3"

Et j’ai exactement le même phénomène, j’ai bien des résultats pour le 1er MiFlora, mais rien pour les 2 autres… :confused:

Pas d’erreur coté des logs, je vois bien que ça ne remonte que les info du MiFlora 1 et du HHCCJCY01.
J’ai basculé toute la configuration sur un autre ESP histoire de tester avec que les MiFlora et c’est la même chose.

Bon finalement en creusant j’ai trouvé le problème.
Rien a voir avec le fichier de configuration, il est effectivement correct !

1er problème : Une des MAC ADRESS n’était pas correcte ! Forcement a un caractère près, ça ne fonctionne pas.
2nd problème : la batterie d’un de mes capteurs était HS. Pile au moment ou je fais ma migration vers HA. C’est quand j’ai vérifié sur l’application de mon téléphone que j’ai constaté que la synchro ne se faisait plus non aussi.
Batterie remplacée et ça refonctionne !

Maintenant je vais essayer de remettre positionner mes plantes aux endroits habituels et vérifier si la portée est suffisante.

Bon ben c’est cool
plus de peur de que mal !

1 « J'aime »

tu peux aussi essaye bleproxy

1 « J'aime »

Bonjour,
J’ai 4 Mii Flora et 10 LYWSD03MMC ( thermomètre carré Xiaomi ). J’ai 2 Atom Lite flasher avec ESPHOME Bluetooth Proxies ESPHome Bluetooth Proxy et les mii flora sont installer par l’intégration Xiaomi BLE, et les LYWSD03MMC sont flasher avec le firmware ATC_MiThermometer et installer par BTHOME.

Tous ca pour te dire, que j’ai rien configurer sur les ESP. C’est le Bluetooth proxy qui scanne en permanence les capteurs.


xiaomi ble3

mon config.yaml:

substitutions:
  name: atom-bluetooth-proxy-854638
  friendly_name: Bluetooth Proxy 854638
packages:
  esphome.bluetooth-proxy: github://esphome/bluetooth-proxies/m5stack-atom-lite.yaml@main
esphome:
  name: ${name}
  name_add_mac_suffix: false
  friendly_name: ${friendly_name}
api:
  encryption:
    key: ekgwc7IAjVi+I1oMeRBhNYCIg+uSX+xxxxxxxxxxxx


wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

sensor:
  - platform: wifi_signal
    name: "WiFi Signal dB"
    id: wifi_signal_db
    update_interval: 60s
    entity_category: "diagnostic"

  - platform: copy
    source_id: wifi_signal_db
    name: "WiFi Signal Percent"
    filters:
      - lambda: return min(max(2 * (x + 100.0), 0.0), 100.0);
    unit_of_measurement: "Signal %"
    entity_category: "diagnostic"

  - platform: uptime
    name: "BLE Proxy Uptime"

  - platform: internal_temperature
    name: "Internal Temperature"

switch:
  - platform: restart
    name: "BLE Proxy Restart"

binary_sensor:
  - platform: status
    name: "BLE Proxy Statut"

Ou ta sur le github les exemples suivant l’esp GitHub - esphome/bluetooth-proxies: This repo hosts known, tested devices that can serve as Bluetooth proxies for Home Assistant.

2 « J'aime »

Je me garde ça de coté.
ça me sera surement utile par la suite quand j’aurais plus d’appareil je basculerais surement sur cette solution.
Merci pour les explications et les liens ! :slight_smile:

Finalement j’ai testé ta solution et j’ai tout migré dessus, c’est vraiment beaucoup plus simple !
J’ai plusieurs questions quand même :

  • Si j’ajoute un 2eme Proxy car certains appareils sont trop loin, si le 2eme proxy capte certains appareils déjà configurés sur le 1er proxy il va me les proposer a la configuration ou c’est « intelligent » et fait le lien et ne me les propose pas ?
  • Concernant les Mii Flora, tu utilises une card custom qui permet d’afficher une image et les stats avec les mini maxi de chacune ou tu affiches juste les données comme ça ?

Merci d’avance pour tes réponses et bonne soirée :slight_smile:

C’est intelligent :smile: , ta rien a faire et reconfigurer.

J’utilise c’est carte GitHub - RodBr/miflora-card: A Home Assistant Lovelace card to report MiFlora plant sensors based on the HA Plant Card.

https://github.com/lbouriez/lovelace-miflora-card/raw/master/miflora-card.png

Super, merci pour tes réponses.
Concernant la carte miflora-card, c’est celle que je tente de mettre en place mais j’ai toujours une erreur qui apparait :
image

La config de la carte :

type: custom:miflora-card
title: Calathea Zebrina
image: images/calathea-zebrina.jpg
min_moisture: 15
max_moisture: 60
min_conductivity: 350
min_temperature: 12
entities:
  - entity: sensor.plant_sensor_6cfd_moisture
    type: moisture
  - entity: sensor.plant_sensor_6cfd_illuminance
    type: intensity
  - entity: sensor.plant_sensor_6cfd_temperature
    type: temperature
  - entity: sensor.plant_sensor_6cfd_conductivity
    type: conductivity
    name: Fertility
  - entity: sensor.plant_sensor_6cfd_battery
    type: battery

Tu vois quelque chose qui pourrait expliquer cette erreure ?
Sur le git j’ai trouvé un sujet similaire mais la solution ne fonctionne pas pour moi : Uncaught TypeError: config.entities[i].split is not a function · Issue #20 · RodBr/miflora-card · GitHub

Je vois rien qui choque, ton code de la carte est bon.
En regardant ton lien, j’ai vérifier ma version de la carte et j’ai la version master, comme explique sur github et ca fonctionne pour moi. ( m’en souviens plus, ca fait quelques mois que je les installer )

C’est le dernier commit 889ee81, qui est bien la version afficher dans HACS ( la version master).

Bon, j’ai fait une clean install.

  • Suppression de la carte via HACS
  • Suppression de la ressouces javascript.
  • Réinstallation de la carte Mi Flora via HACS sur la branche masster
  • Ajout de la source /hacsfiles/lovelace-miflora-card/miflora-card.js en plus de celle ajouté directement par l’installation via HACS.
  • Création de la carte custom sur l’interface lovelace.

Tout fonctionne maintenant.
Ne jamais sous estimer un réinitialisation complète :stuck_out_tongue:

1 « J'aime »

Bonjour
Je deterre le sujet j’ai programme un esp

Voici ce que j’ai dans le log
21:32:27][C][wifi:381]: IP Address: 192.168.1.15
[21:32:27][C][wifi:383]: BSSID: [redacted]
[21:32:27][C][wifi:384]: Hostname: ‹ miflora ›
[21:32:27][C][wifi:386]: Signal strength: -25 dB ▂▄▆█
[21:32:27][C][wifi:390]: Channel: 1
[21:32:27][C][wifi:391]: Subnet: 255.255.255.0
[21:32:27][C][wifi:392]: Gateway: 192.168.1.1
[21:32:27][C][wifi:393]: DNS1: 192.168.1.1
[21:32:27][C][wifi:394]: DNS2: 0.0.0.0
[21:32:27][C][logger:301]: Logger:
[21:32:27][C][logger:302]: Level: DEBUG
[21:32:27][C][logger:303]: Log Baud Rate: 115200
[21:32:27][C][logger:305]: Hardware UART: UART0
[21:32:27][C][esp32_ble:238]: ESP32 BLE:
[21:32:27][C][esp32_ble:240]: MAC address: 7C:9E:BD:E9:91:1A
[21:32:27][C][esp32_ble:241]: IO Capability: none
[21:32:27][C][esp32_ble_tracker:590]: BLE Tracker:
[21:32:27][C][esp32_ble_tracker:591]: Scan Duration: 300 s
[21:32:27][C][esp32_ble_tracker:592]: Scan Interval: 320.0 ms
[21:32:27][C][esp32_ble_tracker:593]: Scan Window: 30.0 ms
[21:32:27][C][esp32_ble_tracker:594]: Scan Type: ACTIVE
[21:32:27][C][esp32_ble_tracker:595]: Continuous Scanning: True
[21:32:27][C][captive_portal:088]: Captive Portal:
[21:32:27][C][mdns:108]: mDNS:
[21:32:27][C][mdns:109]: Hostname: miflora
[21:32:27][C][ota:093]: Over-The-Air Updates:
[21:32:27][C][ota:094]: Address: miflora.local:3232
[21:32:27][C][api:138]: API Server:
[21:32:27][C][api:139]: Address: miflora.local:6053
[21:32:27][C][api:141]: Using noise encryption: YES

Et il detect rien du tout il s’arrête la
Une idee please

Bonjour,
Faudrait que tu nous montre ton config.yaml pour ton ESP.
Dans mes logs j’ai ces deux lignes que je vois pas dans t’es log:
[04:40:22][C][bluetooth_proxy:088]: Bluetooth Proxy:
[04:40:22][C][bluetooth_proxy:089]: Active: YES

[04:40:22][C][logger:302]:   Level: DEBUG
[04:40:22][C][logger:303]:   Log Baud Rate: 115200
[04:40:22][C][logger:305]:   Hardware UART: UART0
[04:40:22][C][bluetooth_proxy:088]: Bluetooth Proxy:
[04:40:22][C][bluetooth_proxy:089]:   Active: YES
[04:40:23][C][restart:068]: Restart Switch 'BLE Proxy Restart'
[04:40:23][C][restart:070]:   Icon: 'mdi:restart'
[04:40:23][C][restart:091]:   Restore Mode: always OFF
[04:40:23][C][status:034]: Status Binary Sensor 'BLE Proxy Statut'
[04:40:23][C][status:034]:   Device Class: 'connectivity'
[04:40:23][C][esp32_ble:238]: ESP32 BLE:
[04:40:23][C][esp32_ble:240]:   MAC address: 4C:75:xx:xx:xx
[04:40:23][C][esp32_ble:241]:   IO Capability: none
[04:40:23][C][esp32_ble_tracker:590]: BLE Tracker:
[04:40:23][C][esp32_ble_tracker:591]:   Scan Duration: 300 s
[04:40:23][C][esp32_ble_tracker:592]:   Scan Interval: 320.0 ms
[04:40:23][C][esp32_ble_tracker:593]:   Scan Window: 30.0 ms
[04:40:23][C][esp32_ble_tracker:594]:   Scan Type: ACTIVE
[04:40:23][C][esp32_ble_tracker:595]:   Continuous Scanning: True

Normalement, rien de spécial a faire. Tu peu essayer de reflasher par le web installer ESPHome Bluetooth Proxy

Ca doit détecter automatiquement t’es mi flora, plus cas les configurer.

Effectivement un fois que ton proxy BLE est lancé (ce qui a l’air d’être le cas vu les logs dans ton message), tu devrais pouvoir voir les mi flora directement sur l’interface d’intégration (Paramètres->Appareils et services).

Tu peux aussi vérifier si tu retrouve bien ton proxy sur cet interface :
image

Si ce n’est pas le cas il faut l’ajouter manuellement :
image

1 « J'aime »