In diesem Beitrag schreibe ich euch in Kurzform wie ihr die Xiaomi Flower Sense und den Xiaomi Temperatur- und Luftfeuchtigkeitssensor über einen ESP32 und ESPHome in Home Assistant einbindet. Eine Komplette Videoanleitung dazu findet ihr ab Sonntag auf meinem YouTube Chanel, da ich in diesem Beitrag hauptsächlich das YAML Config File des ESP32 behandeln werde.

Bereits vor einiger Zeit hatte ich zur Integration in Home Assistant ein Video gemacht, allerdings ist die MiFlora Integration mit der Home Assistant Version 2022.07 entfernt worden. Wer die Sensoren weiterhin mit Home Assistant betreiben möchte, muss sich dazu jetzt eine kleine „Bridge“ in Form eines ESP32 erstellen. Als Voraussetzung dafür muss das Addon ESPHome in Home Assistant installiert sein. Anschließend erstellt ihr euch dort ein neues Projekt mit folgendem Inhallt. Den Namen könnt ihr natürlich frei vergeben. Außerdem werden der encryption Key, das OTA Passwort und der Fallback Hotspot automatisch von ESPHome erstellt.

esphome:
  name: miflorabridge
  platform: esp32
  board: az-delivery-devkit-v4

# Enable logging
logger:
# Enable Home Assistant API
api:
  encryption:
    key: "key_wird_bei_erstellung_automatisch_angelegt"

ota:
  password: "password_wird_bei_erstellung_automatisch_angelegt"

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

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Miflorabridge Fallback Hotspot"
    password: "password_wird_bei_erstellung_automatisch_angelegt"

captive_portal:
esp32_ble_tracker:

Wenn das erledigt ist lasst ihr die Config am besten schon mal als Grundkonfiguration auf dem ESP32 installieren. Die bereitgestellte Config ist für den weiter oben auf Amazon verlinkten ESP32 die richtige.

Um nun den Flower Care von Xiaomi zu verbinden fügt ihr der Config folgende Zeilen hinzu, wobei temperature die Temperatur angibt, moisture die Bodenfeuchtigkeit, Illuminance die Außenhelligkeit und conductivity das Düngeverhältnis. Das Battery Level funktioniert mit der neuesten Firmware nicht mehr. Die MAC Adresse muss natürlich mit der eures Sensors ersetzt werden. Und die Namen hinter „name:“ können frei vergeben werden.

sensor:
  - platform: xiaomi_hhccjcy01
    mac_address: '94:2B:FF:5C:91:61'
    temperature:
      name: "Xiaomi HHCCJCY01 Temperature"
    moisture:
      name: "Xiaomi HHCCJCY01 Moisture"
    illuminance:
      name: "Xiaomi HHCCJCY01 Illuminance"
    conductivity:
      name: "Xiaomi HHCCJCY01 Soil Conductivity"
    battery_level:
      name: "Xiaomi HHCCJCY01 Battery Level"

Anschließend natürlich wieder alles auf den ESP32 schreiben.

Um den Temperatur- und Luftfeuchtigkeitssensor einzurichten müsst ihr auf diesem ersteinmal wie hier beschrieben, https://github.com/pvvx/ATC_MiThermometer, die custom Firmware installieren. Anschließend fügt ihr der Config noch folgende Zeilen hinzu. Die MAC Adresse muss natürlich durch eure ersetzt werden und die Namen nach name: können frei vergeben werden.

sensor:
  - platform: pvvx_mithermometer
    mac_address: "A4:C1:38:B1:CD:7F"
    temperature:
      name: "PVVX Temperature"
    humidity:
      name: "PVVX Humidity"
    battery_level:
      name: "PVVX Battery-Level"
    battery_voltage:
      name: "PVVX Battery-Voltage"

Und auch hier anschließend wieder alles auf den ESP schreiben.

Könnte dich auch interessieren:

Du hast Freunde denen dieser Beitrag gefallen könnte? Jetzt einfach teilen.
Dir hat dieser Beitrag gefallen, oder du möchtes keinen Beitrag mehr verpassen? Folge uns:
Thomas Wiesner

Diesen Beitrag teilen:

15 Kommentare

  1. Hallo,

    Ich habe mit dem ESP32 versucht diesen Royal Gardineer Zubehör zu Pflanzenwächter
    einzufügen.

    Nur stimmen die daten nicht wirklich.

    Hier wird angeboten:

    sensor:
    – platform: xiaomi_hhccjcy01
    mac_address: ’94:2B:FF:5C:91:61′
    temperature:
    name: „Xiaomi HHCCJCY01 Temperature“
    moisture:
    name: „Xiaomi HHCCJCY01 Moisture“
    illuminance:
    name: „Xiaomi HHCCJCY01 Illuminance“
    conductivity:
    name: „Xiaomi HHCCJCY01 Soil Conductivity“
    battery_level:
    name: „Xiaomi HHCCJCY01 Battery Level“

    Nur sendet die Stick keine Battery level !

    aber ein RSSI sendet er also müßte der teil dann so sein:

    rssi:
    name: „Blume Vordertür (RSSI)“

    den teil gibt es über den BLE adapter beim iobroker auch nicht !
    conductivity:
    name: „Xiaomi HHCCJCY01 Soil Conductivity“

    aber diesen hier

    moisture:
    name: „Blume Vordertür Moisture“

    nur leider kann man den rssi und moisture nicht abrufen weil da dann der Installer meckert das es dieses nicht beim xiaomi_hhccjcy01 nicht gibt.

    Können Sie da irgend wie was an den Einstellungen ändern oder bin ich hier völlig falsch ?

    mfg

    Rolf Müller

      1. danke für die schnelle Antwort. Daran kann es nicht liegen, da die anderen ESP Geräte gefunden werden/wurden. Nach dem flashen und Neustart bleibt der NodeMcu glaube ich im Bootloop da die LED dauernd blinkt under auch kein AP aufbaut. local erreiche ich ihn auch nicht.

        1. OK, wenn du alles richtig eingegeben hast, autodiscover aus ist, du keinen MAC Filter am Router aktiv hast und auch per Fallback Hotspot nicht auf den ESP kommst, würde ich versuchen ihn noch mal neu am Kabel zu flashen und wenn das nix bringt ist er vermutlich defekt.

  2. Hallo Thomas,

    ich habe meine 6 Sensoren Dank Deiner Anleitung wieder zum Leben erweckt, nachdem ich zwischenzeitlich auf Ecowitt umgestiegen bin. Vielen Dank!

    Passt auch soweit alles, aber mir ist aufgefallen, dass die Feuchtigkeit nicht stimmt – Sensor im Wasserglas nur 83%.

    Gibt es eine Möglichkeit, die Sensoren mittels Codeeintrag zu kalibrieren, einen Eintrag mit „offset“ o. Ä.?

    Sorry, bin recht frisch im ESP32-Kosmos.

  3. Hi,

    Danke für deine Anleitung. Leider habe ich es nicht hinbekommen, an meinen ESP32 mit esphome zwei Xiaomi Mi Temperatur-und Feuchtigkeitsmonitor 2 zu tracken.

    Muss ich für jeden Temperatursensor ein ESP32 Module haben?

    Wenn ich zwei Temperatursensoren anschließen könnte, wie sähe das Skript aus?

      1. „sensor:“ darf nur ein mal vorhanden sein. deshalb alles ab „- platform:“ einfach direkt unter den ersten setzen.

        Mir werden leider dennoch nur 5 Entitäten angezeigt.

        sensor:
        – platform: xiaomi_hhccjcy01
        mac_address: ‚5C:85:7E:B0:AE:D5‘
        temperature:
        name: „Xiaomi HHCCJCY01 Temperature“
        moisture:
        name: „Xiaomi HHCCJCY01 Moisture“
        illuminance:
        name: „Xiaomi HHCCJCY01 Illuminance“
        conductivity:
        name: „Xiaomi HHCCJCY01 Soil Conductivity“
        – platform: xiaomi_hhccjcy01
        mac_address: ‚5C:85:7E:B0:AF:1D‘
        temperature:
        name: „Xiaomi HHCCJCY01 Temperature“
        moisture:
        name: „Xiaomi HHCCJCY01 Moisture“
        illuminance:
        name: „Xiaomi HHCCJCY01 Illuminance“
        conductivity:
        name: „Xiaomi HHCCJCY01 Soil Conductivity“

  4. Hallo, ich bin recht neu im diesen Bereich mit ESP. Hab gestern Flower-Care auf dem ESP32 geflasht hat alles soweit super geklappt, dank deiner Erklärung. Jetzt hab ich das Problem das keine Werte übertragen werden. Vielleicht haben sie eine Erklärung für dafür.

    Gruß Alex

Schreibe einen Kommentar zu Thomas Wiesner Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert