Software & Integration: Deinen Sensor mit Home Assistant verbinden
Software & Integration: Deinen Sensor mit Home Assistant verbinden
 

In diesem Kapitel lernst du, wie du deinen selbstgebauten Bodenfeuchtigkeitssensor mit eigener Software versiehst und in Home Assistant einbindest. Schritt für Schritt zeige ich dir:

  • Wie du die passende Firmware mit ESPHome erstellst, konfigurierst und auf deinen ESP-Controller (z. B. ESP8266) flashst.

  • Wie du deine Sensorwerte richtig interpretierst, in Home Assistant visualisierst und ein Dashboard dafür baust.

  • Wie du Template-Sensoren definierst, um aus Rohdaten sinnvolle Feuchtigkeitswerte in Prozent zu machen.

  • Wie du durch Daten-Glättung (Median, Moving Average) saubere und stabile Messwerte erhältst.

  • Praktische Tipps zur Fehlerbehebung, zur Wasserdichtigkeit deines Sensors und zur Stabilität der WLAN-Verbindung.

Nach diesem Kapitel ist dein erster Sensor einsatzbereit für den smarten Gartenbetrieb.


Hier der Code zu rauskopieren:

sensor:
  - platform: adc
    pin: GPIO1
    name: "Bodenfeuchte Sensor05"
    id: soil_moisture_05
    update_interval: 5s
    unit_of_measurement: "M"
    attenuation: 12db
    filters:
    - multiply: 100
    - median:
        window_size: 7
        send_every: 4
        send_first_at: 1
    - sliding_window_moving_average:
        window_size: 15
        send_every: 5

  - platform: wifi_signal
    name: "WiFi Signal Sensor"
    update_interval: 60s

 #### Code für YAMl Configuration ###  




template:

  - sensor:
      - name: "Bodenfeuchte 6 %"
        unit_of_measurement: "%"
        icon: "mdi:water-percent"
        state: >
          {% set trocken = 100.0 %}
          {% set feucht = 30.0 %}
          {% set wert = states('sensor.bodenfeuchtikeit_06_bodenfeuchte_sensor06') | float(0) %}
          
          {% if wert > trocken %}
            {% set wert = trocken %}
          {% elif wert < feucht %}
            {% set wert = feucht %}
          {% endif %}
          
          {{ ((trocken - wert) / (trocken - feucht) * 100) | round(1) }}
        availability: >
          {{ states('sensor.bodenfeuchtikeit_06_bodenfeuchte_sensor06') not in ['unavailable', 'unknown'] }}