Sehr preiswerte Temperatur- und andere Sensoren auf Bluetooth BLE Basis

Günstige Xiaomi Mijia BLE Sensoren mit Home Assistant nutzen

Von Xiaomi gibt es nicht nur recht preiswerte ZigBee Sensoren, sondern auch Bluetooth BLE Modelle, die noch einmal günstiger sind. Mit ESPHome lassen sie sich einfach und komfortabel in Home Assistant einsetzen.
Bitte beachte: Dieser Beitrag ist mehr als 3 Jahre alt. Manche Links, Preise, Produkte und Aussagen sind vielleicht nicht mehr aktuell!

Ich habe eine ganze Menge Aqara Sensoren im Einsatz, die mit dem ZigBee-Protokoll arbeiten. Gerade der kleine Multisensor ist eine einfache und preiswerte Lösung, wenn man Temperatur, Luftfeuchtigkeit und Luftdruck messen möchte. Kürzlich habe ich mir auch 3 der Xiaomi Mijia BLE Sensoren besorgt, die zwar keinen Luftdruck messen (dazu braucht man ohnehin nur einen einzigen Sensor – der Luftdruck ist überall gleich), dafür aber ein LC-Display haben und dazu unglaublich billig sind.

Allerdings muss man mittlerweile beachten, dass es bei Bestellungen direkt aus China seit Juli nicht mehr die Freigrenze von bislang 22 Euro für die Einfuhrumsatzsteuer gibt. Nur wenn diese unter 1 Euro liegt, wird sie nicht erhoben und das bedeutet, dass die Bestellung inklusive Versandkosten (!) höchstens 5 Euro betragen darf. Darüber hinaus können zusätzlich Auslage-Gebühren von DHL in Höhe von 6 Euro hinzukommen. Eine Bestellung im Wert von 22 Euro inkl. Versandkosten schlägt damit mit 4,18 € Einfuhrumsatzsteuer plus 6 Euro Auslagekosten (bei Versand über DHL) zu Buche und kostet damit 32,18 €.

Einen Rechner dazu gibt es hier: Rechner für Zoll und Einfuhrsteuern (paketda.de)

Das führte wohl auch dazu, dass Anbieter wie Gearbest pleitegegangen und die Preise für diese Sensoren auch bei den China-Anbietern wie Ali Express stark gestiegen sind, sodass sich eine Bestellung dort kaum mehr lohnt. Will man sich zusätzliche Gebühren und Ärger ersparen, bestellt man am besten gleich bei Amazon. Hier bekommt man derzeit einen 3er Pack für etwa 20 Euro und mit etwas Geduld auch schon für 15 Euro.

Xiaomi Mijia BLE Sensoren
Xiaomi Mijia BLE Sensoren

BLE bedeutet, dass sie mit dem Bluetooth Low Energy Standard arbeiten. Dazu benötigt man jedoch eine entsprechende Bluetooth-Schnittstelle mit mindestens Bluetooth Standard 4.0. Betreibt man Home Assistant z. B. mit einem aktuellen Raspberry PI, dann hat man diese an Bord. Allerdings läuft Home Assistant bei mir auf einem Server im Technikraum, der keine Bluetooth-Schnittstelle hat und BLE hat auch nur eine Reichweite von etwa 10 Metern. Im Gegensatz zu den ZigBee-Sensoren vernetzen sich die BLE-Geräte auch nicht untereinander, um so die Reichweite zu erhöhen, sondern benötigen den direkten Zugriff auf einen Bluetooth-Zugangspunkt.

Melde dich zu meinem Newsletter an!

Du kannst dich jederzeit abmelden und ich verspreche: Kein Spam!

Xiaomi BLE Sensoren mit alternative Firmware flashen

Man kann die Xiaomi Sensoren mit der Hersteller-Firmware betreiben, oder aber eine alternative Firmware aufspielen. Letztere erlaubt diverse Konfigurationsmöglichkeiten, um z. B. Anzeigen auf dem Display ein- und auszublenden oder Offsets für die Temperatur und Luftfeuchtigkeit einzustellen. Die alternative Firmware sowie eine Anleitung findet ihr hier: GitHub – atc1441/ATC_MiThermometer: Custom firmware for the Xiaomi Thermometer LYWSD03MMC and Telink Flasher via USB to Serial converter

Man muss hier aber gar nichts löten etc., sondern kann die alternative Firmware über dieses Web-Tool aufspielen: Telink Flasher (atc1441.github.io)

Der Telink Flasher

Dazu lässt man einen Rechner, der über eine Bluetooth 4.0 (oder höher) Schnittstelle verfügt, per Klick auf „Connect“ nach Bluetooth-Geräten suchen und wartet, bis ein Gerät mit „ATC“ im Namen auftaucht. Das wird gekoppelt, man klickt auf „Do Activation“ und kann dann über das Web-Tool die Firmware aufspielen. Das Tool erlaubt auch die Original-Firmware zurückzuspielen.

ESP WROOM Board
ESP WROOM Board

Im TE-Link Flasher kann man z. B. auch das Advertising Interval einstellen, also den Zeitraum, mit dem der Sensor Daten schickt. Wenn man ihn zu reinen Temperatur- und Luftfeuchtigkeitsmessung in Räumen nutzt, kann man hier getrost 10 Minuten einstellen und damit den Batterieverbrauch senken. Möchte man auch einen Temperaturabfall bei etwa geöffneten Fenstern im Winter erfassen, kann man entweder kürzere Intervalle wählen, es besteht aber auch die Möglichkeit, dass der Sensor über Sensor instant Advertising sofort bei der Änderung um einen einstellbaren Wert die Daten sendet.

Bluetooth Low-Energy Bridge mit ESPHome

Wer, wie ich, keine Bluetooth-Schnittstelle im Home Assistant Rechner hat oder wenn dieser zu weit entfernt von den Sensoren positioniert ist, kann man mit ESPHome eine BLE-Bridge für Xiaomi BLE-Sensoren aufbauen. Dazu benötigt man ein ESP32 WROOM Board, die ESPHome Integration in Home Assistant und etwas Code, der bei mir für zwei angebundene Sensoren so aussieht:

esphome:
  name: btbridge
  platform: ESP32
  board: wemosbat

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: "xxxxxxxxxxxx"

wifi:
  ssid: "DEINE_SSID"
  password: "DEIN_WLAN_PASSWORT"

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

captive_portal:
esp32_ble_tracker:

sensor:
  - platform: atc_mithermometer
    mac_address: "DEINE_MAC_ADRESSE"
    temperature:
      name: "ATC1 Temperature"
    humidity:
      name: "ATC1 Humidity"
    battery_level:
      name: "ATC1 Battery-Level"
    battery_voltage:
      name: "ATC1 Battery-Voltage"

 - platform: atc_mithermometer
    mac_address: "DEINE_ANDERE_MAC_ADRESSE"
    temperature:
      name: "ATC2 Temperature"
    humidity:
      name: "ATC2 Humidity"
    battery_level:
      name: "ATC2 Battery-Level"
    battery_voltage:
      name: "ATC2 Battery-Voltage"Code-Sprache: YAML (yaml)

Die MAC-Adresse der Sensoren könnt ihr entweder über die Bluetooth-Einstellungen von Windows, Linux oder macOS herausfinden oder den Code oben nur bis sensor: auf euer EPS-Board spielen und dessen Logs in der ESPHome Verwaltung aufrufen, denn hier werden alle gefundenen Bluetooth-Geräte in der Nähe samt MAC-Adresse aufgelistet.

Übrigens koppelt sich die Bridge nicht mit den Sensoren, sondern gibt einfach passiv deren Advertisement Packets weiter, was Energie spart. Einmal erkannt, stehen die Sensoren als ganz normale Entities in Home Assistant zur Verfügung. Da auch Batterie-Level und Spannung mitgeteilt werden, kann man sich z. B. auch gleich eine Automation bauen, die auf einen bevorstehenden Batteriewechsel hinweist.

Xiaomi BLE Sensor in Home Assistant
Der Xiaomi Sensor in Home Assistant

Mit dieser Bridge lassen sich praktisch alle anderen BLE-Sensoren von Xiaomi anbinden, darunter auch die günstigen Bodenfeuchtesensoren (welche aber nur bedingt für den Outdoor-Einsatz geeignet sind). Eine Liste der unterstützten Sensoren sowie weitere Anwendungsbeispiele findet ihr hier: Xiaomi Mijia BLE Sensors — ESPHome

Wegen der geringen Kosten für ein ESP WROOM Board, kann man mehrere Bridges im Haus verteilen, sodass jeder Sensor optimale Empfangsbedingungen hat. Zudem lässt sich das Board ja zusätzlich noch für weitere Aufgaben nutzen, als nur als BLE-Bridge. Man könnte etwa noch ein Display einbinden, das die Werte der Xiaomi Sensoren direkt an der Bridge anzeigt, Lüftungsempfehlungen per LED Anzeige gibt oder oder oder …

Interessant dazu sind auch diese Beiträge von mir:

Wie genau ist der LYWSD03MMC Sensor?

Ich habe vor einigen Monaten drei der LYWSD03MMC Sensoren für 10 Euro eingekauft, was unglaublich billig ist. Daher interessierte mich, wie genau die Luftfeuchtigkeit gemessen wird. Dazu habe ich den Sensor mit einer kleinen Schale, die etwa 20 Gramm feuchtes Kochsalz (es soll eine Art Brei entstehen, also das Salz gut durchnässt aber nicht gelöst sein) enthielt, in eine luftdicht verschließbare Box (kann auch ein verschließbarer Gefrierbeutel etc. sein) gestellt und einige Stunden abgewartet. Dabei stellt sich eine relative Luftfeuchtigkeit von exakt 75 % ein. Allerdings muss man darauf achten, dass die Temperatur im Raum möglichst konstant ist.

Die Sensoren zeigten nach 4-5 Stunden allesamt exakt 75 % an und auch die Temperatur wich von meiner Referenz nur um maximal 1,5 % ab. Ein überraschendes und ausgezeichnetes Ergebnis! Selbst eine Abweichung von 5 % bei der rel. Luftfeuchtigkeit ist als normal anzusehen. Zwei der Sensoren direkt nebeneinander zeigen nahezu identische Werte:

Die beiden Sensoren ATC1 und ATC2 nebeneinander

Home Assistant zeigt auch hier wieder, dass es der beste Smarthome-Hub mit den meisten Integrationen und Anbindungen ist. Gerade in Einbindung von ESP-Controllern ist mit ESPHome sehr elegant gelöst und ermöglicht unzählige Anwendungen, darunter auch die Nutzung dieser günstigen BLE-Sensoren.

Melde dich zu meinem Newsletter an!

Du kannst dich jederzeit abmelden und ich verspreche: Kein Spam!


Die mit Sternchen (*) gekennzeichneten Verweise sind sogenannte Provision-Links. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.Wenn du auf so einen Verweislink klickst und über diesen Link einkaufst, bekomme ich von deinem Einkauf eine Provision. Für dich verändert sich der Preis nicht und du unterstützt damit meine Arbeit. Preisänderungen und Irrtümer vorbehalten.

12 Kommentare

  1. Moin,
    danke für einen Beitrag.

    Ich bekomme die ATC Sensoren bei mit nicht im HA eingebunden. Ich nutze ein Rapsberry PI 4 mit onboard BT Adapter.

    Die Sensoren tauchen als „entities“ im HA auf, Quelle: Bluetooth LE. Mehr passiert allerdings nicht. BTHome, Xiaomi BLE finden keine Geräte. Klicke ich auf die Entities erscheint folgende Meldung

    „Diese Entität („device_tracker.atc_xxx005“) hat keine eindeutige ID, daher können die Einstellungen nicht über die UI verwaltet werden. Schaue in der Dokumentation nach für mehr Details.“

    Unnötig zu sagen, dass ich HA vorher noch nie benutzt habe 🙂

  2. Danke für den informativen Beitrag! Konnte soeben nach wenigen Minuten den ESP32 in Betrieb nehmen, ohne mich je davor mit dem beschäftigt zu haben 🙂
    Die Sensoren sind echt top!

  3. Hallo, ich bin auf diesen sehr informativen Beitrag gestoßen und wollte es gleich ausprobieren. Da mein Raspi in meiner Nähe steht, brauchte ich die ESP32-Datei nicht. Ich dachte, ich kopiere mir das, was unter Sensor steht in die config.yaml. Doch das System meldet, dass eine Integration fehlt. Welche Integration muss ich installieren? Oder geht das nur über die Cloud?
    Beste Grüße,
    Andreas

  4. Ich habe auch diese Sensoren. Kinderzimmer, Keller usw. Echt praktisch und preiswert wie du schon sagtest. Mit der neuen Obergrenze war mir nicht bewusst aus China.

Schreibe einen Kommentar zu SebastianAntworten abbrechen

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