mirror of
https://github.com/esphome/esphome.git
synced 2026-08-17 10:52:56 +08:00
[sgp4x] Rename voc/nox sensor keys to voc_index/nox_index (#17723)
This commit is contained in:
@@ -24,6 +24,7 @@ CONF_IAQ = "iaq"
|
||||
CONF_IGNORE_NOT_FOUND = "ignore_not_found"
|
||||
CONF_LIBRETINY = "libretiny"
|
||||
CONF_LOOP = "loop"
|
||||
CONF_NOX_INDEX = "nox_index"
|
||||
CONF_ON_PACKET = "on_packet"
|
||||
CONF_ON_RECEIVE = "on_receive"
|
||||
CONF_ON_STATE_CHANGE = "on_state_change"
|
||||
@@ -36,6 +37,7 @@ CONF_SHA256 = "sha256"
|
||||
CONF_STATE_SAVE_INTERVAL = "state_save_interval"
|
||||
CONF_STOP_BITS = "stop_bits"
|
||||
CONF_USE_PSRAM = "use_psram"
|
||||
CONF_VOC_INDEX = "voc_index"
|
||||
CONF_VOLUME_INCREMENT = "volume_increment"
|
||||
CONF_VOLUME_INITIAL = "volume_initial"
|
||||
CONF_VOLUME_MAX = "volume_max"
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
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,
|
||||
@@ -35,9 +36,9 @@ CONF_HUMIDITY_SOURCE = "humidity_source"
|
||||
|
||||
|
||||
def validate_sensors(config):
|
||||
if CONF_VOC not in config and CONF_NOX not in config:
|
||||
if CONF_VOC_INDEX not in config and CONF_NOX_INDEX not in config:
|
||||
raise cv.Invalid(
|
||||
f"At least one sensor is required. Define {CONF_VOC} and/or {CONF_NOX}"
|
||||
f"At least one sensor is required. Define {CONF_VOC_INDEX} and/or {CONF_NOX_INDEX}"
|
||||
)
|
||||
return config
|
||||
|
||||
@@ -65,15 +66,17 @@ VOC_SENSOR = _gas_sensor_schema(100)
|
||||
NOX_SENSOR = _gas_sensor_schema(1)
|
||||
|
||||
CONFIG_SCHEMA = cv.All(
|
||||
cv.rename_key(CONF_VOC, CONF_VOC_INDEX, removed_in="2027.2.0", component="sgp4x"),
|
||||
cv.rename_key(CONF_NOX, CONF_NOX_INDEX, removed_in="2027.2.0", component="sgp4x"),
|
||||
cv.Schema(
|
||||
{
|
||||
cv.GenerateID(): cv.declare_id(SGP4xComponent),
|
||||
cv.Optional(CONF_VOC): sensor.sensor_schema(
|
||||
cv.Optional(CONF_VOC_INDEX): sensor.sensor_schema(
|
||||
icon=ICON_RADIATOR,
|
||||
accuracy_decimals=0,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
).extend(VOC_SENSOR),
|
||||
cv.Optional(CONF_NOX): sensor.sensor_schema(
|
||||
cv.Optional(CONF_NOX_INDEX): sensor.sensor_schema(
|
||||
icon=ICON_RADIATOR,
|
||||
accuracy_decimals=0,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
@@ -107,11 +110,11 @@ async def to_code(config):
|
||||
|
||||
cg.add(var.set_store_baseline(config[CONF_STORE_BASELINE]))
|
||||
|
||||
if CONF_VOC in config:
|
||||
sens = await sensor.new_sensor(config[CONF_VOC])
|
||||
if CONF_VOC_INDEX in config:
|
||||
sens = await sensor.new_sensor(config[CONF_VOC_INDEX])
|
||||
cg.add(var.set_voc_sensor(sens))
|
||||
if CONF_ALGORITHM_TUNING in config[CONF_VOC]:
|
||||
cfg = config[CONF_VOC][CONF_ALGORITHM_TUNING]
|
||||
if CONF_ALGORITHM_TUNING in config[CONF_VOC_INDEX]:
|
||||
cfg = config[CONF_VOC_INDEX][CONF_ALGORITHM_TUNING]
|
||||
cg.add(
|
||||
var.set_voc_algorithm_tuning(
|
||||
cfg[CONF_INDEX_OFFSET],
|
||||
@@ -123,11 +126,11 @@ async def to_code(config):
|
||||
)
|
||||
)
|
||||
|
||||
if CONF_NOX in config:
|
||||
sens = await sensor.new_sensor(config[CONF_NOX])
|
||||
if CONF_NOX_INDEX in config:
|
||||
sens = await sensor.new_sensor(config[CONF_NOX_INDEX])
|
||||
cg.add(var.set_nox_sensor(sens))
|
||||
if CONF_ALGORITHM_TUNING in config[CONF_NOX]:
|
||||
cfg = config[CONF_NOX][CONF_ALGORITHM_TUNING]
|
||||
if CONF_ALGORITHM_TUNING in config[CONF_NOX_INDEX]:
|
||||
cfg = config[CONF_NOX_INDEX][CONF_ALGORITHM_TUNING]
|
||||
cg.add(
|
||||
var.set_nox_algorithm_tuning(
|
||||
cfg[CONF_INDEX_OFFSET],
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
sensor:
|
||||
- platform: sgp4x
|
||||
i2c_id: i2c_bus
|
||||
voc:
|
||||
voc_index:
|
||||
name: VOC Index
|
||||
id: sgp40_voc_index
|
||||
algorithm_tuning:
|
||||
@@ -11,8 +11,8 @@ sensor:
|
||||
gating_max_duration_minutes: 180
|
||||
std_initial: 50
|
||||
gain_factor: 230
|
||||
nox:
|
||||
name: NOx
|
||||
nox_index:
|
||||
name: NOx Index
|
||||
algorithm_tuning:
|
||||
index_offset: 100
|
||||
learning_time_offset_hours: 12
|
||||
|
||||
Reference in New Issue
Block a user