You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.8 KiB
96 lines
2.8 KiB
# BME680 Temperature+Pressure+Humidity+Gas Sensor
|
|
sensor:
|
|
- platform: bme680_bsec
|
|
temperature:
|
|
name: "${node_name} Temperature"
|
|
id: temperature
|
|
filters:
|
|
- median:
|
|
window_size: 12
|
|
send_every: 12
|
|
pressure:
|
|
name: "${node_name} Pressure"
|
|
id: pressure
|
|
filters:
|
|
- median:
|
|
window_size: 12
|
|
send_every: 12
|
|
humidity:
|
|
name: "${node_name} Humidity"
|
|
id: humidity
|
|
filters:
|
|
- median:
|
|
window_size: 12
|
|
send_every: 12
|
|
gas_resistance:
|
|
name: "${node_name} Gas Resistance"
|
|
id: voc
|
|
filters:
|
|
- median:
|
|
window_size: 12
|
|
send_every: 12
|
|
iaq:
|
|
name: "${node_name} IAQ"
|
|
id: iaq
|
|
filters:
|
|
- median:
|
|
window_size: 12
|
|
send_every: 12
|
|
iaq_accuracy:
|
|
name: "${node_name} Numeric IAQ Accuracy"
|
|
id: iaq_accuracy
|
|
filters:
|
|
- median:
|
|
window_size: 12
|
|
send_every: 12
|
|
co2_equivalent:
|
|
name: "${node_name} CO2 Equivalent"
|
|
filters:
|
|
- median:
|
|
window_size: 12
|
|
send_every: 12
|
|
breath_voc_equivalent:
|
|
name: "${node_name} Breath VOC Equivalent"
|
|
filters:
|
|
- median:
|
|
window_size: 12
|
|
send_every: 12
|
|
- platform: template
|
|
name: "${node_name} Equivalent sea level pressure"
|
|
id: pressure_sealevel
|
|
lambda: |-
|
|
const float STANDARD_ALTITUDE = ${altitude}; // in meters, see note
|
|
return id(pressure).state / powf(1 - ((0.0065 * STANDARD_ALTITUDE) /
|
|
(id(temperature).state + (0.0065 * STANDARD_ALTITUDE) + 273.15)), 5.257); // in hPa
|
|
update_interval: 60s
|
|
unit_of_measurement: 'hPa'
|
|
- platform: template
|
|
name: "${node_name} Absolute Humidity"
|
|
lambda: |-
|
|
const float mw = 18.01534; // molar mass of water g/mol
|
|
const float r = 8.31447215; // Universal gas constant J/mol/K
|
|
return (6.112 * powf(2.718281828, (17.67 * id(temperature).state) /
|
|
(id(temperature).state + 243.5)) * id(humidity).state * mw) /
|
|
((273.15 + id(temperature).state) * r); // in grams/m^3
|
|
accuracy_decimals: 2
|
|
update_interval: 60s
|
|
icon: 'mdi:water'
|
|
unit_of_measurement: 'g/m³'
|
|
- platform: template
|
|
name: "${node_name} Dew Point"
|
|
lambda: |-
|
|
return (243.5*(log(id(humidity).state/100)+((17.67*id(temperature).state)/
|
|
(243.5+id(temperature).state)))/(17.67-log(id(humidity).state/100)-
|
|
((17.67*id(temperature).state)/(243.5+id(temperature).state))));
|
|
accuracy_decimals: 1
|
|
update_interval: 60s
|
|
unit_of_measurement: °C
|
|
icon: 'mdi:thermometer-alert'
|
|
|
|
text_sensor:
|
|
- platform: bme680_bsec
|
|
iaq_accuracy:
|
|
name: "${node_name} IAQ Accuracy"
|
|
|
|
bme680_bsec:
|
|
address: 0x77
|
|
|