Deprecated diy air quality sensor due to dead ESP32
This commit is contained in:
283
esphome/archive/sleepingroom.yaml
Normal file
283
esphome/archive/sleepingroom.yaml
Normal file
@@ -0,0 +1,283 @@
|
||||
substitutions:
|
||||
name: "sleepingroom"
|
||||
friendly_name: "Luftqualität Schlafzimmer"
|
||||
|
||||
esphome:
|
||||
name: ${name}
|
||||
friendly_name: ${friendly_name}
|
||||
name_add_mac_suffix: false
|
||||
project:
|
||||
name: sensor.${name}
|
||||
version: "1.0"
|
||||
min_version: 2021.9.0
|
||||
on_boot:
|
||||
then:
|
||||
- light.turn_on:
|
||||
id: co2_light
|
||||
red: 0%
|
||||
green: 100%
|
||||
blue: 9%
|
||||
- delay: 1.5s
|
||||
- light.turn_on:
|
||||
id: co2_light
|
||||
red: 100%
|
||||
green: 75%
|
||||
blue: 0%
|
||||
- delay: 1.5s
|
||||
- light.turn_on:
|
||||
id: co2_light
|
||||
red: 100%
|
||||
green: 0%
|
||||
blue: 0%
|
||||
- delay: 1.5s
|
||||
- light.turn_on:
|
||||
id: co2_light
|
||||
red: 100%
|
||||
green: 75%
|
||||
blue: 0%
|
||||
- delay: 1.5s
|
||||
- light.turn_on:
|
||||
id: co2_light
|
||||
red: 0%
|
||||
green: 100%
|
||||
blue: 9%
|
||||
- text_sensor.template.publish:
|
||||
id: co2_warn
|
||||
state: "grün"
|
||||
- text_sensor.template.publish:
|
||||
id: pm25_warn
|
||||
state: "grün"
|
||||
|
||||
esp32:
|
||||
board: nodemcu-32s
|
||||
framework:
|
||||
type: esp-idf
|
||||
|
||||
wifi:
|
||||
ssid: "Voltage-legacy"
|
||||
password: !secret voltage_legacy_psk
|
||||
use_address: ${name}.home
|
||||
power_save_mode: high
|
||||
fast_connect: on
|
||||
min_auth_mode: WPA2
|
||||
|
||||
# Enable fallback hotspot (captive portal) in case wifi connection fails
|
||||
ap:
|
||||
ssid: "Schlafzimmer Fallback Hotspot"
|
||||
password: !secret fallback_psk
|
||||
|
||||
captive_portal:
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
level: DEBUG
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
encryption:
|
||||
key: !secret apikey
|
||||
|
||||
# Enable over-the-air updates
|
||||
ota:
|
||||
platform: esphome
|
||||
password: !secret ota
|
||||
|
||||
# Initialize I²C
|
||||
i2c:
|
||||
- id: bus_a
|
||||
sda: 13
|
||||
scl: 16
|
||||
scan: true
|
||||
|
||||
# Initialize LEDC GPIOs
|
||||
output:
|
||||
- platform: ledc
|
||||
pin: GPIO17
|
||||
id: led_red
|
||||
- platform: ledc
|
||||
pin: GPIO18
|
||||
id: led_green
|
||||
max_power: 50%
|
||||
- platform: ledc
|
||||
pin: GPIO19
|
||||
id: led_blue
|
||||
|
||||
# Define RGB mode for LED
|
||||
light:
|
||||
- platform: rgb
|
||||
id: co2_light
|
||||
name: "CO2 Status LED"
|
||||
red: led_red
|
||||
green: led_green
|
||||
blue: led_blue
|
||||
internal: true
|
||||
|
||||
# Initialize UART for Vindriktning sensor
|
||||
uart:
|
||||
id: uartPM
|
||||
rx_pin: GPIO26
|
||||
baud_rate: 9600
|
||||
|
||||
# Create text sensor to represent CO2 LED warn state (somewhat redundant)
|
||||
text_sensor:
|
||||
- platform: template
|
||||
name: "Schlafzimmer CO2 Warnstufe"
|
||||
id: co2_warn
|
||||
- platform: template
|
||||
name: "Schlafzimmer Feinstaub Warnstufe"
|
||||
id: pm25_warn
|
||||
|
||||
sensor:
|
||||
# WiFi signal strength
|
||||
- platform: wifi_signal
|
||||
name: "WiFi Signalstärke"
|
||||
update_interval: 60s
|
||||
# SCD30 CO2 + temperature + humidity sensor
|
||||
# * air quality category 0: LED is purple, sensor needs calibration (<380ppm)
|
||||
# • air quality category 1: LED is green (380-800ppm)
|
||||
# • air quality category 2: LED is yellow (900-1200ppm)
|
||||
# • air quality category 3: LED is orange/amber (1200 bis 1600ppm)
|
||||
# • air quality category 4: LED is red (1600-2000ppm)
|
||||
- platform: scd30
|
||||
i2c_id: bus_a
|
||||
co2:
|
||||
name: "Schlafzimmer CO2"
|
||||
id: co2_value
|
||||
accuracy_decimals: 1
|
||||
on_value_range:
|
||||
- below: 380
|
||||
then:
|
||||
- text_sensor.template.publish:
|
||||
id: co2_warn
|
||||
state: "Kalibrierung nötig"
|
||||
- light.turn_on:
|
||||
id: co2_light
|
||||
red: 75%
|
||||
green: 0%
|
||||
blue: 100%
|
||||
- above: 380
|
||||
below: 800
|
||||
then:
|
||||
- text_sensor.template.publish:
|
||||
id: co2_warn
|
||||
state: "grün"
|
||||
- light.turn_on:
|
||||
id: co2_light
|
||||
red: 0%
|
||||
green: 100%
|
||||
blue: 0%
|
||||
- above: 800
|
||||
below: 1200
|
||||
then:
|
||||
- text_sensor.template.publish:
|
||||
id: co2_warn
|
||||
state: "gelb"
|
||||
- light.turn_on:
|
||||
id: co2_light
|
||||
red: 100%
|
||||
green: 100%
|
||||
blue: 0%
|
||||
- above: 1200
|
||||
below: 1600
|
||||
then:
|
||||
- text_sensor.template.publish:
|
||||
id: co2_warn
|
||||
state: "orange"
|
||||
- light.turn_on:
|
||||
id: co2_light
|
||||
red: 100%
|
||||
green: 75%
|
||||
blue: 0%
|
||||
- above: 1600
|
||||
then:
|
||||
- text_sensor.template.publish:
|
||||
id: co2_warn
|
||||
state: "rot"
|
||||
- light.turn_on:
|
||||
id: co2_light
|
||||
red: 100%
|
||||
green: 0%
|
||||
blue: 0%
|
||||
temperature:
|
||||
name: "Schlafzimmer Temperatur"
|
||||
accuracy_decimals: 2
|
||||
filters:
|
||||
- offset: -2.5
|
||||
humidity:
|
||||
name: "Schlafzimmer Luftfeuchtigkeit"
|
||||
accuracy_decimals: 1
|
||||
# SCD30 temp sensor is a bit off
|
||||
ambient_pressure_compensation: 1
|
||||
automatic_self_calibration: True
|
||||
address: 0x61
|
||||
update_interval: 10s
|
||||
# Vindriktning particulate matter sensor
|
||||
- platform: pm1006
|
||||
uart_id: uartPM
|
||||
pm_2_5:
|
||||
name: "Feinstaub PM 2.5µm"
|
||||
on_value_range:
|
||||
- above: 0
|
||||
below: 35
|
||||
then:
|
||||
- text_sensor.template.publish:
|
||||
id: pm25_warn
|
||||
state: "grün"
|
||||
- above: 35
|
||||
below: 85
|
||||
then:
|
||||
- text_sensor.template.publish:
|
||||
id: pm25_warn
|
||||
state: "orange"
|
||||
- above: 85
|
||||
then:
|
||||
- text_sensor.template.publish:
|
||||
id: pm25_warn
|
||||
state: "rot"
|
||||
# Analog photo diode voltage
|
||||
- platform: adc
|
||||
pin: 32
|
||||
name: "Spannung Photodiode"
|
||||
attenuation: 12db
|
||||
update_interval: 1s
|
||||
internal: true
|
||||
on_value_range:
|
||||
- below: 0.25
|
||||
then:
|
||||
light.turn_on:
|
||||
id: co2_light
|
||||
brightness: 30%
|
||||
- above: 0.5
|
||||
then:
|
||||
light.turn_on:
|
||||
id: co2_light
|
||||
brightness: 60%
|
||||
|
||||
# IR Receiver, dumps all received values into serial
|
||||
remote_receiver:
|
||||
pin:
|
||||
number: 23
|
||||
inverted: True
|
||||
dump: all
|
||||
|
||||
# IR Transmitter
|
||||
remote_transmitter:
|
||||
non_blocking: True
|
||||
pin: GPIO22
|
||||
# Infrared remotes use a 50% carrier signal
|
||||
carrier_duty_percent: 50%
|
||||
|
||||
# Temporary test switches
|
||||
switch:
|
||||
- platform: template
|
||||
name: Yamaha Power Button
|
||||
turn_on_action:
|
||||
- remote_transmitter.transmit_nec:
|
||||
address: 0x7E81
|
||||
command: 0x54AB
|
||||
- platform: template
|
||||
name: Samsung Power Button
|
||||
turn_on_action:
|
||||
- remote_transmitter.transmit_samsung:
|
||||
data: 0xE0E040BF
|
||||
nbits: 32
|
||||
Reference in New Issue
Block a user