From aa0bf6e2d6caf05cc198f68d66b5f31714fc08fa Mon Sep 17 00:00:00 2001 From: smash Date: Wed, 2 Sep 2020 11:07:18 +0000 Subject: [PATCH] initial commit --- ampelschirm.svg | 63 +++++++++++++++++++++ box.svg | 95 +++++++++++++++++++++++++++++++ co2sensor.yaml | 131 +++++++++++++++++++++++++++++++++++++++++++ font.ttf | Bin 0 -> 55156 bytes secrets.yaml.example | 2 + 5 files changed, 291 insertions(+) create mode 100644 ampelschirm.svg create mode 100644 box.svg create mode 100644 co2sensor.yaml create mode 100644 font.ttf create mode 100644 secrets.yaml.example diff --git a/ampelschirm.svg b/ampelschirm.svg new file mode 100644 index 0000000..3a44e8e --- /dev/null +++ b/ampelschirm.svg @@ -0,0 +1,63 @@ + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + diff --git a/box.svg b/box.svg new file mode 100644 index 0000000..5dcb531 --- /dev/null +++ b/box.svg @@ -0,0 +1,95 @@ + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + diff --git a/co2sensor.yaml b/co2sensor.yaml new file mode 100644 index 0000000..603a222 --- /dev/null +++ b/co2sensor.yaml @@ -0,0 +1,131 @@ +esphome: + name: co2_sensor + platform: ESP32 + board: esp32doit-devkit-v1 + on_boot: + - display.page.show: boot + +logger: + level: DEBUG +wifi: + ssid: !secret wifi_ssid + password: !secret wifi_passwd + +mqtt: + broker: mqtt.unhb + birth_message: + topic: co2_sensor/status + payload: online + will_message: + topic: co2_sensor/status + payload: offline + +uart: + rx_pin: GPIO17 + tx_pin: GPIO16 + baud_rate: 9600 + id: uart_mhz19 + +light: + - platform: neopixelbus + pin: GPIO4 + num_leds: 12 + name: "ws2812 ring" + id: "ws2812" + restore_mode: ALWAYS_OFF + +output: + - platform: ledc + pin: GPIO12 + id: buzzer + +sensor: + - platform: mhz19 + co2: + name: "MH-Z19 CO2" + id: mhz19_co2 + on_value: + then: + if: + condition: + sensor.in_range: + id: mhz19_co2 + above: 0 + below: 800 + then: + - light.turn_off: + id: ws2812 + - display.page.show: co2 + else: + if: + condition: + sensor.in_range: + id: mhz19_co2 + above: 800 + below: 1500 + then: + - light.turn_on: + id: ws2812 + brightness: 80% + red: 50% + green: 50% + blue: 0% + else: + if: + condition: + sensor.in_range: + id: mhz19_co2 + above: 1500 + then: + - light.turn_on: + id: ws2812 + brightness: 100% + red: 100% + green: 0% + blue: 0% + - output.turn_on: buzzer + - output.ledc.set_frequency: + id: buzzer + frequency: "5000Hz" + - output.set_level: + id: buzzer + level: "80%" + - delay: 500ms + - output.turn_off: buzzer + - lambda: |- + static int num_executions = 0; + ESP_LOGD("main", "I am at execution number %d", num_executions); + num_executions += 1; + + + + temperature: + name: "MH-Z19 Temperature" + id: mhz19_temp + update_interval: 30s + automatic_baseline_calibration: false + uart_id: uart_mhz19 + +i2c: + sda: GPIO21 + scl: GPIO22 + +font: + - file: "font.ttf" + id: cust_font + size: 28 + +display: + - platform: ssd1306_i2c + model: "SSD1306 128x64" + address: 0x3C + brightness: 100% + update_interval: 30s + pages: + - id: boot + lambda: |- + it.printf(64, 32, id(cust_font), COLOR_ON, TextAlign::TOP_CENTER, "starte..."); + - id: co2 + lambda: |- + it.printf(64, 32, id(cust_font), COLOR_ON, TextAlign::TOP_CENTER, "%.0fPPM", id(mhz19_co2).state); +# it.printf(64, 40, id(cust_font),TextAlign::TOP_CENTER, "%.0f°C", id(mhz19_temp).state); diff --git a/font.ttf b/font.ttf new file mode 100644 index 0000000000000000000000000000000000000000..15237b30404146f8f959a95694c1a13a416eaa29 GIT binary patch literal 55156 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 literal 0 HcmV?d00001 diff --git a/secrets.yaml.example b/secrets.yaml.example new file mode 100644 index 0000000..1739a52 --- /dev/null +++ b/secrets.yaml.example @@ -0,0 +1,2 @@ +wifi_ssid: 'Freifunk' +wifi_passwd: ''