❀ Xiaomi Miflora Sensoren ☘ via ESP32 Bluetooth Gateway und Tasmota in openHAB einbinden ❀

  • Ich hatte das ganze schon länger geplant umzusetzen, bisher aber keine Lust gehabt den eigenen Sketch zu ersetzen.
    Mit der ESP32 Bluetooth Gateway Umsetzung beseitigt Ihr das Problem der begrenzten Bluetooth Reichweite. Die Sensordaten werden dann vom ESP32 per MQTT ans Smarthome System gesendet.

    ESP32 Vorbereitung

    - ESP32 mit Tasmota32-Bluetooth flashen http://ota.tasmota.com/tasmota32/rele…2-bluetooth.bin und ins Netzwerk bringen
    - die Xiaomi Miflora Sensoren werden automatisch erkannt und in der Liste auf der Startseite als "Flora" gelistet
    - Sensoren können mit einem Alias-Namen versehen werden um sie später in der Liste leichter identifizierbar zu machen. beispiel mit 2 Sensoren (die Zahlen sind die MAC-Adressen der Sensoren und die Rule, welche in der Tasmota Konsole eingegeben werden muss, kann natürlich mit noch mehr Sensoren erweitert werden)
    Backlog Rule1 ON System#Boot DO BLEAlias C47C8D6AF5D9=WZ_Efeu_links C47C8D65BEDF=WZ_Efeu_rechts endon; Rule1 1
    Die Batteriewerte werden NICHT automatisch abgefragt, da dadurch die Laufzeit der Sensoren leidet. Für die Batteriedaten folgende Rule bei Tasmota eingeben. In diesem Beispiel erfolgt die Abfrage 02.00Uhr...also Minute 120
    Rule2 ON Time#Minute=120 DO MI32Battery endon; Rule2 1

    Openhab Integration

    Transformation Addons notwendig: Regex, Jsonpath

    things (in den mqtt bereich einfügen)
    Topic und bezeichnung (Flora65e57c) muss auf eure Werte angepasst werden. Den generierten "Flora-Wert" findet ihr im Tasmota Log.

    Code
    Thing topic Palme_Bu "Pflanzen Palme Büro"  @ "Büro" {
        Channels:
            Type number : Palme_Bu_Licht            "Palme Büro Licht"          [stateTopic="tele/bluetooth_gateway/SENSOR", transformationPattern="REGEX:(.*Flora65e57c.*)∩JSONPATH:$.Flora65e57c.Illuminance"]
            Type number : Palme_Bu_Temperatur       "Palme Büro Temperatur"     [stateTopic="tele/bluetooth_gateway/SENSOR", transformationPattern="REGEX:(.*Flora65e57c.*)∩JSONPATH:$.Flora65e57c.Temperature"]
            Type number : Palme_Bu_Feuchtigkeit     "Palme Büro Feuchtigkeit"   [stateTopic="tele/bluetooth_gateway/SENSOR", transformationPattern="REGEX:(.*Flora65e57c.*)∩JSONPATH:$.Flora65e57c.Moisture"]
            Type number : Palme_Bu_Duenger          "Palme Büro Dünger"         [stateTopic="tele/bluetooth_gateway/SENSOR", transformationPattern="REGEX:(.*Flora65e57c.*)∩JSONPATH:$.Flora65e57c.Fertility"]
            Type number : Palme_Bu_Batterie         "Palme Büro Batterie"       [stateTopic="stat/bluetooth_gateway/SENSOR", transformationPattern="REGEX:(.*Flora65e57c.*)∩JSONPATH:$.Flora65e57c.Battery"]
    }


    items

    Code
    Number:Illuminance      Palme_Bu_Licht           "Helligkeit [%d Lux]"                  <sun>               {channel="mqtt:topic:embedded-mqtt-broker:Palme_Bu:Palme_Bu_Licht"}
    Number:Temperature      Palme_Bu_Temperatur      "Temperatur [%.1f °C]"                 <temperature>       {channel="mqtt:topic:embedded-mqtt-broker:Palme_Bu:Palme_Bu_Temperatur"}
    Number:Dimensionless    Palme_Bu_Feuchtigkeit    "Büro Palme [%d %%]"                   <flow>              {channel="mqtt:topic:embedded-mqtt-broker:Palme_Bu:Palme_Bu_Feuchtigkeit"}
    Number                  Palme_Bu_Duenger         "Nährstoffe [%d µS/cm]"                <status>            {channel="mqtt:topic:embedded-mqtt-broker:Palme_Bu:Palme_Bu_Duenger"}
    Number                  Palme_Bu_Batterie        "Pflanzensensor Palme Büro [%d %%]"    <batterylevel>      {channel="mqtt:topic:embedded-mqtt-broker:Palme_Bu:Palme_Bu_Batterie"}

    sitemaps

    Code
    Text item=WZ_Palme_Feuchtigkeit label="Bodenfeuchte" valuecolor=[WZ_Palme_Feuchtigkeit < 20 = "red"]
    Text item=WZ_Palme_Duenger
    Text item=WZ_Palme_Licht
    Text item=WZ_Palme_Temperatur

    Der Tasmota Befehl MI32Period legt die Häufigkeit der Aktualisierungen fest. Standard sind 3000 Sekunden, also 50min.
    Das kann bspw mit MI32Period 21600 auf 6 Stunden geändert werden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!