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:
- 🎥 Müllabfuhr-Termine auf deinem Dashboard – So nutzt du die Home Assistant Trash Card! - 24. November 2024
- Zendure Hyper 2000 und AB2000S im Test + Winterbetrieb Vorteile - 22. November 2024
- Black Friday Wochen Angebote 2024 – Home Assistant & Smart Home Highlights - 21. November 2024
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
Da sind sie hier falsch. Ich bin nicht der Entwickler. Dafür gibt es die ESPHome Webseite. Aber der Batterie Status wird schon von der Xiaomi Firmware nicht mehr unterstützt.
Hallo,
ich habe den von dir verlinkten esp32.
Nach den flashen wird dieser jedoch nicht in HO angeboten.
Neustart ist erfolgt.
Dann hast du evtl. autodiscover nicht aktiviert. Geh mal unter „Geräte & Dienste“ auf „Integration Hinzufügen“ Such dort nach „ESPHome“ und verbinde den ESP über seine IP Adresse.
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.
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.
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.
Ist mir tatsächlich nicht bekannt, ob es so etwas gibt. Aber du kannst ja mal auf der ESPHome Seite zu dem Thema schauen. https://esphome.io/components/sensor/xiaomi_ble.html
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?
Hi,
„sensor:“ darf nur ein mal vorhanden sein. deshalb alles ab „- platform:“ einfach direkt unter den ersten setzen.
„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“
Ja, denn die Namen der Sensor Entitäten dürfen nicht für jeden Sensor gleich sein. Diese müssen natürlich einmalig sein.
Vielen Dank! Hat geklappt und war auch irgendwie logisch.
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
Hallo Alex, auch bei mir hängt sich die Übertragung ab und zu auf. In der Regel führt ein Neustart des ESP bei mir zum Erfolg. Hab das ganze sogar wie hier im Video beschrieben automatisiert. https://youtu.be/vdhBTVSkSk8