Skip to main content

Luftdaten / Airrohr in ESPHome

Hier ist die Funktion des Projekts von luftdaten.info bzw. sensor.community in ESPHome umgesetzt. Es fehlt hier natürlich die Anbindung an die offiziellen externen APIs oder Schnittstellen außerhalb von Home Assistant (z.B: InfluxDB).

esphome:
  name: luftdaten1
  platform: ESP8266
  board: nodemcuv2

wifi:
  ssid: !secret iot_wifi_ssid
  password: !secret iot_wifi_password
  manual_ip:
    static_ip: 172.16.72.102
    gateway: 172.16.72.1
    subnet: 255.255.255.0
    dns1: 172.16.71.1

  ap:
    ssid: "Luftdaten Fallback Hotspot"
    password: !secret fallback_password

captive_portal:

# Enable logging, but use UART1 as UART0 is used by the sds011 sensor
logger:
  hardware_uart: UART1

api:

ota:

# serial communication SDS011 particle matter concentration sensor
uart:
  rx_pin: D1
  tx_pin: D2
  baud_rate: 9600

sensor:
  # SDS011 particle matter concentration sensor
  - platform: sds011
    pm_2_5:
      name: "Luftdaten Feinstaubkonzentration <2.5µm"
    pm_10_0:
      name: "Luftdaten Feinstaubkonzentration <10.0µm"
    update_interval: 5min

  # DHTP22
  - platform: dht
    pin: D7
    temperature:
      name: "Luftdaten Temperatur"
    humidity:
      name: "Luftdaten Luftfeuchtigkeit"
    update_interval: 60s

  - platform: wifi_signal
    name: "Luftdaten WiFi Signal"
    id: luftdaten_wifi_signal
    update_interval: 60s
    
  - platform: template
    name: "Luftdaten WiFi Quality"
    update_interval: 60s
    unit_of_measurement: "%"
    icon: "mdi:wifi"
    lambda: |-
      if (id(luftdaten_wifi_signal).state <= -100) {
        return 0;
      } else if (id(luftdaten_wifi_signal).state >= -50) {
        return 100;
      } else {
        return 2 * (id(luftdaten_wifi_signal).state + 100);
      }