mirror of
https://github.com/CeeWeasel/fresh-home.git
synced 2026-08-09 10:30:14 -04:00
53 lines
1.5 KiB
YAML
53 lines
1.5 KiB
YAML
# Example configuration entry
|
|
sensor:
|
|
- platform: bme680
|
|
temperature:
|
|
name: "BME680 Temperature"
|
|
oversampling: 16x
|
|
pressure:
|
|
name: "BME680 Pressure"
|
|
humidity:
|
|
id: "humidity"
|
|
name: "BME680 Humidity"
|
|
gas_resistance:
|
|
id: "gas_resistance"
|
|
name: "BME680 Gas Resistance"
|
|
address: 0x77
|
|
update_interval: 60s
|
|
- platform: template
|
|
name: "BME680 Indoor Air Quality"
|
|
id: iaq
|
|
icon: "mdi:gauge"
|
|
# calculation: comp_gas = log(R_gas[ohm]) + 0.04 log(Ohm)/%rh * hum[%rh]
|
|
lambda: |-
|
|
return log(id(gas_resistance).state) + 0.04 * id(humidity).state;
|
|
state_class: "measurement"
|
|
text_sensor:
|
|
- platform: template
|
|
name: "BME680 IAQ Classification"
|
|
icon: "mdi:checkbox-marked-circle-outline"
|
|
lambda: |-
|
|
if (int(id(iaq).state) <= 50) {
|
|
return {"Excellent"};
|
|
}
|
|
else if (int(id(iaq).state) <= 100) {
|
|
return {"Good"};
|
|
}
|
|
else if (int(id(iaq).state) <= 150) {
|
|
return {"Lightly polluted"};
|
|
}
|
|
else if (int(id(iaq).state) <= 200) {
|
|
return {"Moderately polluted"};
|
|
}
|
|
else if (int(id(iaq).state) <= 250) {
|
|
return {"Heavily polluted"};
|
|
}
|
|
else if (int(id(iaq).state) <= 350) {
|
|
return {"Severely polluted"};
|
|
}
|
|
else if (int(id(iaq).state) <= 500) {
|
|
return {"Extremely polluted"};
|
|
}
|
|
else {
|
|
return {"unknown"};
|
|
} |