[sen5x] Rename voc/nox sensor keys to voc_index/nox_index (#17724)

This commit is contained in:
Brandon Harvey
2026-07-28 22:35:34 -04:00
committed by GitHub
parent 6ad804fbc5
commit a9df82fa0a
2 changed files with 15 additions and 12 deletions
+11 -8
View File
@@ -2,6 +2,7 @@ from esphome import automation
from esphome.automation import maybe_simple_id
import esphome.codegen as cg
from esphome.components import i2c, sensirion_common, sensor
from esphome.components.const import CONF_NOX_INDEX, CONF_VOC_INDEX
import esphome.config_validation as cv
from esphome.const import (
CONF_ALGORITHM_TUNING,
@@ -122,7 +123,9 @@ def float_previously_pct(value):
return value
CONFIG_SCHEMA = (
CONFIG_SCHEMA = cv.All(
cv.rename_key(CONF_VOC, CONF_VOC_INDEX, removed_in="2027.2.0", component="sen5x"),
cv.rename_key(CONF_NOX, CONF_NOX_INDEX, removed_in="2027.2.0", component="sen5x"),
cv.Schema(
{
cv.GenerateID(): cv.declare_id(SEN5XComponent),
@@ -154,7 +157,7 @@ CONFIG_SCHEMA = (
state_class=STATE_CLASS_MEASUREMENT,
),
cv.Optional(CONF_AUTO_CLEANING_INTERVAL): cv.update_interval,
cv.Optional(CONF_VOC): _gas_sensor(
cv.Optional(CONF_VOC_INDEX): _gas_sensor(
index_offset=100,
learning_time_offset=12,
learning_time_gain=12,
@@ -162,7 +165,7 @@ CONFIG_SCHEMA = (
std_initial=50,
gain_factor=230,
),
cv.Optional(CONF_NOX): _gas_sensor(
cv.Optional(CONF_NOX_INDEX): _gas_sensor(
index_offset=1,
learning_time_offset=12,
learning_time_gain=12,
@@ -199,7 +202,7 @@ CONFIG_SCHEMA = (
}
)
.extend(cv.polling_component_schema("60s"))
.extend(i2c.i2c_device_schema(0x69))
.extend(i2c.i2c_device_schema(0x69)),
)
SENSOR_MAP = {
@@ -207,8 +210,8 @@ SENSOR_MAP = {
CONF_PM_2_5: "set_pm_2_5_sensor",
CONF_PM_4_0: "set_pm_4_0_sensor",
CONF_PM_10_0: "set_pm_10_0_sensor",
CONF_VOC: "set_voc_sensor",
CONF_NOX: "set_nox_sensor",
CONF_VOC_INDEX: "set_voc_sensor",
CONF_NOX_INDEX: "set_nox_sensor",
CONF_TEMPERATURE: "set_temperature_sensor",
CONF_HUMIDITY: "set_humidity_sensor",
}
@@ -237,7 +240,7 @@ async def to_code(config: ConfigType) -> None:
sens = await sensor.new_sensor(cfg)
cg.add(getattr(var, funcName)(sens))
if cfg := config.get(CONF_VOC, {}).get(CONF_ALGORITHM_TUNING):
if cfg := config.get(CONF_VOC_INDEX, {}).get(CONF_ALGORITHM_TUNING):
cg.add(
var.set_voc_algorithm_tuning(
cfg[CONF_INDEX_OFFSET],
@@ -248,7 +251,7 @@ async def to_code(config: ConfigType) -> None:
cfg[CONF_GAIN_FACTOR],
)
)
if cfg := config.get(CONF_NOX, {}).get(CONF_ALGORITHM_TUNING):
if cfg := config.get(CONF_NOX_INDEX, {}).get(CONF_ALGORITHM_TUNING):
cg.add(
var.set_nox_algorithm_tuning(
cfg[CONF_INDEX_OFFSET],
+4 -4
View File
@@ -24,10 +24,10 @@ sensor:
name: PM <10µm Weight concentration
id: pm_10_0
accuracy_decimals: 1
nox:
name: NOx
voc:
name: VOC
nox_index:
name: NOx Index
voc_index:
name: VOC Index
algorithm_tuning:
index_offset: 100
learning_time_offset_hours: 12