Add BME680, fix LEDs
This commit is contained in:
@ -36,10 +36,7 @@ esphome:
|
|||||||
id(light_presence).publish_state(false);
|
id(light_presence).publish_state(false);
|
||||||
- light.turn_on:
|
- light.turn_on:
|
||||||
id: output_led
|
id: output_led
|
||||||
effect: flash
|
effect: flash_white
|
||||||
red: 1
|
|
||||||
green: 1
|
|
||||||
blue: 1
|
|
||||||
|
|
||||||
dashboard_import:
|
dashboard_import:
|
||||||
package_import_url: github://joshuaboniface/supersensor/supersensor.yaml
|
package_import_url: github://joshuaboniface/supersensor/supersensor.yaml
|
||||||
@ -218,10 +215,7 @@ api:
|
|||||||
on_client_disconnected:
|
on_client_disconnected:
|
||||||
- light.turn_on:
|
- light.turn_on:
|
||||||
id: output_led
|
id: output_led
|
||||||
effect: flash
|
effect: flash_white
|
||||||
red: 1
|
|
||||||
green: 1
|
|
||||||
blue: 1
|
|
||||||
- switch.turn_off: use_wake_word
|
- switch.turn_off: use_wake_word
|
||||||
on_client_connected:
|
on_client_connected:
|
||||||
# This absolute absurdity is required to prevent
|
# This absolute absurdity is required to prevent
|
||||||
@ -254,8 +248,8 @@ wifi:
|
|||||||
|
|
||||||
uart:
|
uart:
|
||||||
id: ld2410_uart
|
id: ld2410_uart
|
||||||
rx_pin: GPIO18
|
rx_pin: GPIO19
|
||||||
tx_pin: GPIO19
|
tx_pin: GPIO18
|
||||||
baud_rate: 256000
|
baud_rate: 256000
|
||||||
data_bits: 8
|
data_bits: 8
|
||||||
stop_bits: 1
|
stop_bits: 1
|
||||||
@ -267,8 +261,8 @@ i2c:
|
|||||||
scan: true
|
scan: true
|
||||||
|
|
||||||
i2s_audio:
|
i2s_audio:
|
||||||
i2s_lrclk_pin: GPIO27
|
i2s_lrclk_pin: GPIO26
|
||||||
i2s_bclk_pin: GPIO26
|
i2s_bclk_pin: GPIO27
|
||||||
|
|
||||||
microphone:
|
microphone:
|
||||||
- platform: i2s_audio
|
- platform: i2s_audio
|
||||||
@ -344,9 +338,13 @@ light:
|
|||||||
flash_transition_length: 0.15s
|
flash_transition_length: 0.15s
|
||||||
effects:
|
effects:
|
||||||
- strobe:
|
- strobe:
|
||||||
name: flash
|
name: flash_white
|
||||||
colors:
|
colors:
|
||||||
- state: true
|
- state: true
|
||||||
|
brightness: 50%
|
||||||
|
red: 40%
|
||||||
|
green: 45%
|
||||||
|
blue: 50%
|
||||||
duration: 0.5s
|
duration: 0.5s
|
||||||
- state: false
|
- state: false
|
||||||
duration: 0.5s
|
duration: 0.5s
|
||||||
@ -362,12 +360,15 @@ output:
|
|||||||
- platform: ledc
|
- platform: ledc
|
||||||
id: rgb_r
|
id: rgb_r
|
||||||
pin: GPIO32
|
pin: GPIO32
|
||||||
|
inverted: true
|
||||||
- platform: ledc
|
- platform: ledc
|
||||||
id: rgb_g
|
id: rgb_g
|
||||||
pin: GPIO33
|
pin: GPIO33
|
||||||
|
inverted: true
|
||||||
- platform: ledc
|
- platform: ledc
|
||||||
id: rgb_b
|
id: rgb_b
|
||||||
pin: GPIO25
|
pin: GPIO25
|
||||||
|
inverted: true
|
||||||
|
|
||||||
ld2410:
|
ld2410:
|
||||||
id: ld2410_radar
|
id: ld2410_radar
|
||||||
@ -445,23 +446,35 @@ binary_sensor:
|
|||||||
name: "LD2410C Still Target"
|
name: "LD2410C Still Target"
|
||||||
|
|
||||||
sensor:
|
sensor:
|
||||||
# - platform: bme280
|
- platform: bme680
|
||||||
# temperature:
|
|
||||||
# name: "BME280 Temperature"
|
|
||||||
# pressure:
|
|
||||||
# name: "BME280 Pressure"
|
|
||||||
# humidity:
|
|
||||||
# name: "BME280 Humidity"
|
|
||||||
# update_interval: 15s
|
|
||||||
# address: 0x76
|
|
||||||
|
|
||||||
- platform: bmp280
|
|
||||||
temperature:
|
temperature:
|
||||||
name: "BMP280 Temperature"
|
name: "BME680 Temperature"
|
||||||
|
id: bme680_temperature
|
||||||
pressure:
|
pressure:
|
||||||
name: "BMP280 Pressure"
|
name: "BME680 Pressure"
|
||||||
|
id: bme680_pressure
|
||||||
|
humidity:
|
||||||
|
name: "BME680 Relative Humidity"
|
||||||
|
id: bme680_humidity
|
||||||
|
gas_resistance:
|
||||||
|
name: "BME680 Gas Resistance"
|
||||||
|
id: bme680_gas_resistance
|
||||||
|
internal: yes
|
||||||
|
address: 0x77
|
||||||
update_interval: 5s
|
update_interval: 5s
|
||||||
address: 0x76
|
|
||||||
|
- platform: absolute_humidity
|
||||||
|
name: "BME680 Absolute Humidity"
|
||||||
|
temperature: bme680_temperature
|
||||||
|
humidity: bme680_humidity
|
||||||
|
|
||||||
|
- platform: template
|
||||||
|
name: "BME680 Indoor Air Quality"
|
||||||
|
id: bme680_iaq
|
||||||
|
icon: "mdi:gauge"
|
||||||
|
# caulculation: comp_gas = log(R_gas[ohm]) + 0.04 log(Ohm)/%rh * hum[%rh]
|
||||||
|
lambda: |-
|
||||||
|
return log(id(bme680_gas_resistance).state) + 0.04 * id(bme680_humidity).state;
|
||||||
|
|
||||||
- platform: tsl2591
|
- platform: tsl2591
|
||||||
address: 0x29
|
address: 0x29
|
||||||
@ -543,6 +556,35 @@ sensor:
|
|||||||
entity_category: diagnostic
|
entity_category: diagnostic
|
||||||
|
|
||||||
text_sensor:
|
text_sensor:
|
||||||
|
- platform: template
|
||||||
|
name: "BME680 IAQ Classification"
|
||||||
|
icon: "mdi:checkbox-marked-circle-outline"
|
||||||
|
lambda: |-
|
||||||
|
if (int(id(bme680_iaq).state) <= 50) {
|
||||||
|
return {"Excellent"};
|
||||||
|
}
|
||||||
|
else if (int(id(bme680_iaq).state) <= 100) {
|
||||||
|
return {"Good"};
|
||||||
|
}
|
||||||
|
else if (int(id(bme680_iaq).state) <= 150) {
|
||||||
|
return {"Lightly polluted"};
|
||||||
|
}
|
||||||
|
else if (int(id(bme680_iaq).state) <= 200) {
|
||||||
|
return {"Moderately polluted"};
|
||||||
|
}
|
||||||
|
else if (int(id(bme680_iaq).state) <= 250) {
|
||||||
|
return {"Heavily polluted"};
|
||||||
|
}
|
||||||
|
else if (int(id(bme680_iaq).state) <= 350) {
|
||||||
|
return {"Severely polluted"};
|
||||||
|
}
|
||||||
|
else if (int(id(bme680_iaq).state) <= 500) {
|
||||||
|
return {"Extremely polluted"};
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return {"Unknown"};
|
||||||
|
}
|
||||||
|
|
||||||
- platform: wifi_info
|
- platform: wifi_info
|
||||||
ip_address:
|
ip_address:
|
||||||
name: "WiFi IP Address"
|
name: "WiFi IP Address"
|
||||||
|
Reference in New Issue
Block a user