Planter - une centrale pour jardinière(s)

ha bah merci pour cette card
je n’avais jamais pensé a regarder les cartes lovelace miflora :slight_smile:

Pour résumer mon intégration de mon capteur Xiaomi MiFlora, voici ce que j’ai fait :

Configuration de la passerelle Bluetooth (BLE) - WiFi

Je suis parti d’un ESP32 NodeMCU que j’ai flashé via ESPHome en suivant ce tuto Installer ESPHome sur Home Assistant et créer votre première configuration et j’ai flashé l’ESP32 avec ce code :

esphome:
  name: ble_gateway
  platform: ESP32
  board: nodemcu-32s

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_pass
  
  # Optional manual IP
  manual_ip:
    static_ip: !secret ip_ble_gateway
    gateway: !secret ip_gateway
    subnet: !secret ip_subnet

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Ble Gateway Fallback Hotspot"
    password: !secret ap_pass

captive_portal:

# Enable logging
logger:
  baud_rate: 0

# Enable Home Assistant API
api:
  password: !secret ota_pass

ota:
  password: !secret ota_pass

esp32_ble_tracker:
sensor:
  - platform: xiaomi_hhccjcy01
    mac_address: !secret mac_addr_miflora1
    temperature:
      name: "Xiaomi MiFlora Temperature"
    moisture:
      name: "Xiaomi MiFlora Moisture"
    illuminance:
      name: "Xiaomi MiFlora Illuminance"
    conductivity:
      name: "Xiaomi MiFlora Soil Conductivity"

N’oubliez pas de modifier vos secrets dans ESPHome via Secrets Editor accessible dans le menu en haut à droite.

J’ai mis en place le capteur à distance raisonnable de la passerelle BLE-WiFi (env. 5m avec un mur).

Ajout des dépendances pour la carte

dans le répertoire config/www/, j’ai :

  • copié le fichier card-tools.js accessible ici : card-tools.js
  • créé un répertoire lovelace-flower-card où j’y ai :
    • copié le fichier flower-card.js accessible ici : flower-card.js
    • créé un sous répertoire data où j’y ai :
      • copié le fichier data.js accessible ici : data.js
      • créé un répertoire Images où j’y ai :
        • copié le fichier fragaria x ananassa.jpg accessible ici : fragaria x ananassa.jpg
          Si vous avez besoin d’autres images, vous pouvez les récupérer sur le repository MiFloraDB

Ajout du composant plant

Comme vous pouvez le voir sur ma configuration, je suis un malade de la séparation des fichiers YAML :innocent:.

Je ne laisserais dans les explications que ce qui est nécessaire à l’utilisation de la carte.

Je commence donc par mon fichier configuration.yaml (point d’entrée de HA) :

homeassistant:
  ...
  packages: !include_dir_named integrations
  ...

Tous les fichiers YAML contenus dans le répertoire integrations seront chargés, ce qui inclus mon fichier plants.yaml qui utilisera le composant Plant :

#
# https://www.home-assistant.io/integrations/plant
#
plant:
  fragaria_ananassa:
    sensors:
      moisture: sensor.xiaomi_miflora_moisture
      temperature: sensor.xiaomi_miflora_temperature
      conductivity: sensor.xiaomi_miflora_soil_conductivity
      brightness: sensor.xiaomi_miflora_illuminance

Pour les noms des différents sensors, vous pourrez les retrouver dans le menu latéral Configuration puis Intégrations, dans la carte ESPHome, cliquez sur ble_gateway puis 4 entities.

Normalement, les noms des sensors devraient être ce que vous avez mis comme name sous chaque sensor dans le code de votre ESP32 en passant ce nom en minuscule et en remplaçant les espaces par des _.

Ajout de la carte

Voici le fichier lovelace/dashboards.yaml qui charge mon dashboard par défaut :

#
# Liste tous les dashboards avec leurs fichiers respectifs
#
# https://www.home-assistant.io/lovelace/dashboards-and-views/#dashboards
#
default-yaml:
  mode: yaml
  title: Maison (manuel)
  icon: mdi:view-dashboard
  show_in_sidebar: true
  filename: lovelace/default/dashboard.yaml

Il utilisera le fichier lovelace/defaut/dashboard.yaml qui charge les différents « onglets » du dashboard grâce aux !include :

#
# Liste les views pour le dashboard
#
...
views:
  ...
  - !include views/plants.yaml

Dans mon cas l’onglet lovelace/defaut/views/plants.yaml qui définira son chemin d’accès path:, les personnes autorisées à voir cet onglet via visibility:, son mode d’affichage via panel:, etc… :

#
# Définition de la vue Plants avec les accès autorisés
#
path: plants
panel: false
icon: 'mdi:flower'
visible: !include_dir_list ../visibility
badges: []
cards:
  - !include ../cards/plant-fragaria_ananassa.yaml

Mais surtout l’ensemble des cartes affichées sur cet onglet via cards: et la directive !include qui inclura la carte de mes fraisiers.

La carte pour afficher mes fraisiers est définie dans le fichier lovelace/defaut/cards/plant-fragaria_ananassa.yaml :

#
# https://github.com/remkolems/lovelace-flower-card
#
type: 'custom:flower-card'
entity: plant.fragaria_ananassa
species: fragaria x ananassa

L’entity devra correspondre au nom que vous avez donnez sous le composant plant (voir Ajout du composant plant).

Et voilà ce que cela donne :
image
Pas de remarque sur l’état de mes fraisiers, j’habite en Normandie alors, c’est pas le temps idéal pour la culture :grin:)

Voilà, je vous avez prévenu que j’étais un peu taré de la séparation des fichiers et j’espère que je ne vous ai pas trop perdu :grin:

Bon ajout de vos sondes Xiaomi :wave:

Un grand MERCI à @Gogo :handshake: pour son aide sur l’intégration de la carte, étant sur Win10, je n’arrivai pas à convertir le fichier data.js.

Voilà vous pouvez aussi voir ma configuration complète sur mon Github Config HA de Sylvain_G

5 « J'aime »

Superbe je pense que tout cela va bien me servir, je suis à la recherche d’un moyen de surveiller une butte potagère, j’ai déjà bricolé une électrovanne et un sonoff basic dans une boite de dérivation, il me manque plus que des capteurs de sol.
Pour les ondes Xiaomi je pense que je vais leur faire une coque en water gel

vous avez un lien pour l’achat de ces sondes ?

Moi je les ai prises sur Ali.

Peut être que tu trouveras moins cher chez un autre vendeur, mais moi à l’époque j’avais pris celles ci :

1 « J'aime »

@Gogo et @Axel_Duviella , je viens de créer une team sous EasyEDA pour partager les montages et PCB, si ça vous dit que je vous ajoute ?
Vous devez avoir un compte sous EasyEDA pour y avoir accès. Sinon je peux aussi partager vos montages si vous le souhaitez.

Le message qui en parle : La team HACF sous EasyEDA

1 « J'aime »

Merci pour la découverte de la flower-card.
Au passage, voilà ce que je m’étais fais pour mes capteurs Mi flora. Si ça peut donner des idées

2 « J'aime »

Partage ton code :+1:

Ah trop cool… il faut que je m’y mets aussi!

Question? Sa va aussi pour un aquarium ou il y a un autre capteur que je peut intégrer sur ESP…?

Et il faut acheter quel version: HHCC, Xiaomi flora, international…???

Voilà voilà

type: vertical-stack
cards:
  - type: picture-entity
    image: 'https://zupimages.net/up/21/13/sbqp.jpg'
    entity: sensor.ble_conductivity_capteur_syngonium
    show_name: true
    show_state: false
    name: Syngonium Albo Variegata
  - type: grid
    cards:
      - type: 'custom:mini-graph-card'
        name: Température
        entities:
          - entity: sensor.ble_temperature_capteur_syngonium
            name: Température
            color: '#A62F03'
        hours_to_show: 72
      - type: 'custom:mini-graph-card'
        name: Humidité
        entities:
          - entity: sensor.ble_moisture_capteur_syngonium
            name: Humidité
            color: '#44B0E7'
        hours_to_show: 72
      - type: 'custom:mini-graph-card'
        name: Luminosité
        entities:
          - entity: sensor.ble_illuminance_capteur_syngonium
            name: Luminosité
            color: '#FFBF00'
        hours_to_show: 72
    square: true
  - type: 'custom:mini-graph-card'
    name: Fertilité
    entities:
      - entity: sensor.ble_conductivity_capteur_syngonium
        name: Fertilité
        color: '#088A68'
    hours_to_show: 72

@Shadow perso j’ai des HHCC. Mais je crois qu’ils sont tous pareils :wink:
Ça va pas pour un aquarium par contre

2 « J'aime »

Pour repondre a certaines questions.

La batterie dur plus d’un an cela fait 2-3 ans que je l’ai ai et un seul changement de batterie.

Pas d’oxydation pour ma part très bon produit.

Pour récupérer l’adresse mac il suffit de scanner avec un smartphone ou un rpi les périphériques BLE autour de sois

Salut,

j’ai enfin pu mettre en place mes capteur xiaomi pour des plantes, il y en a encore beaucoup plus mais…

Sa fonctionne bien, par contre je ne peut pas voir les images sur ma tablette, je pense qu’il ne les trouve pas. Pourtent sa devrait rien y changer non?

1 « J'aime »

Salut,
Sur ta tablette et ton PC tu y accèdes par IP ou nom de domaine ?

par IP normalement, voila le lien: http://192.168.1.155:8123/api/hassio_ingress/kxaYEY1EGFB8NQKeDVYJCxXkbDSKmg-pLVlcr4_--tM/api/file?filename=/config/Pics/kentiam.jpg

Pour finir j’ai fais l’acquisition d’un Xiaomi Miflora, bien plus pratique.
Merci pour les conseils, j’ai réussi à faire remonter les données avec une passerelle esp32, plus qu’as vous copier pour la jolie carte :).

merci pour ce gros descriptif.
J’ai bien mes capteurs qui remontent dans HA mais je galère a créer cette carte.
Pour commencer je ne trouve pas le fichier CSV de l’app :slight_smile:

en suivant ls liens ici je ne trouve que les photos …

MiFloraDB/PlantDB_5335_U0.csv at master · khronimo/MiFloraDB · GitHub

Sinon, tu peux passer par celle-ci, les données sont reprise d’une base en ligne

juste en flashant l’esp ca m’a remonté mes sensors (merci @Sylvain_G ):

j’utilisais déjà des cartes miflower et plant card et mini graph , ca aide :wink:

bon j’ai réadapté les cartes mais une fois les sensors remontés c’était tranquillou billou :slight_smile: meme les capteurs de température BT Xiaomi rond sont apparut en rajoutant le code du site esphome :slight_smile:

l’esp bl-gateway m’a aussi détecter l’Amazfit GTR (ma montre) je kifferai de voir une integration de ce genre en bluetooth :

image

résultat final :

petit soucis apres plusieurs semaines d’utilisation, j’ai des coupures très, trop souvent de l’esp :

voici le code utilisé qui est aussi le meme que @Sylvain_G et à jour avec les updates d’esphome :

Code
esphome:
  name: ble-gateway

esp32:
  board: esp32dev
  framework:
    type: arduino

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "988ebf35avdvcsfbfdbfvfv225fb4273fcd1"

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  
  # Optional manual IP
  manual_ip:
    static_ip: 192.xxxxxxxx
    gateway: 192.xxxxxxxxx
    subnet: 255.255.xxxxxxxxx

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

captive_portal:


esp32_ble_tracker:
sensor:
  - platform: xiaomi_hhccjcy01
    mac_address: '80:xx:CA:xx:xx:A4'
    temperature:
      name: "Ficus Temperature"
    moisture:
      name: "Ficus Moisture"
    illuminance:
      name: "Ficus Illuminance"
    conductivity:
      name: "Ficus Soil Conductivity"

  - platform: xiaomi_lywsdcgq
    mac_address: "58:2D:xx:30:xx:xx"
    temperature:
      name: "mitemp_bt Temperature"
    humidity:
      name: "mitemp_bt Humidity"
#    battery_level:
#      name: "mitemp_bt Battery Level"
      
switch:
  - platform: restart
    name: "ble-gateway restart"
    
binary_sensor:
  - platform: status
    name: "ble-gateway status"

et l’apercu de l’historique de l’esp :

Quand je ping -t l’ip de l’esp je n’ai pas de perte.

voila voila, si quelqu’un as une idée je suis preneur :slight_smile:

Bizarre, je n’ai pas ajouter de binary_sensor.ble_gateway_status dans mon code donc je ne peux pas te montrer l’historique de ce sensor mais je peux te montrer celui de device_tracker :

J’ai ajouter le binary_sensor dans le code que je vais uploader.
@jybi89 , je te tiens au courant des résultats demain après quelques heures de fonctionnement.