mirror of
https://github.com/esphome/esphome.git
synced 2025-07-28 14:16:40 +00:00
Update some sensor schemas to be Optional (#8803)
This commit is contained in:
parent
730441c120
commit
1a651ce66d
@ -32,14 +32,14 @@ CONFIG_SCHEMA = (
|
|||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(CCS811Component),
|
cv.GenerateID(): cv.declare_id(CCS811Component),
|
||||||
cv.Required(CONF_ECO2): sensor.sensor_schema(
|
cv.Optional(CONF_ECO2): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
||||||
icon=ICON_MOLECULE_CO2,
|
icon=ICON_MOLECULE_CO2,
|
||||||
accuracy_decimals=0,
|
accuracy_decimals=0,
|
||||||
device_class=DEVICE_CLASS_CARBON_DIOXIDE,
|
device_class=DEVICE_CLASS_CARBON_DIOXIDE,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
cv.Required(CONF_TVOC): sensor.sensor_schema(
|
cv.Optional(CONF_TVOC): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PARTS_PER_BILLION,
|
unit_of_measurement=UNIT_PARTS_PER_BILLION,
|
||||||
icon=ICON_RADIATOR,
|
icon=ICON_RADIATOR,
|
||||||
accuracy_decimals=0,
|
accuracy_decimals=0,
|
||||||
@ -64,10 +64,13 @@ async def to_code(config):
|
|||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await i2c.register_i2c_device(var, config)
|
await i2c.register_i2c_device(var, config)
|
||||||
|
|
||||||
sens = await sensor.new_sensor(config[CONF_ECO2])
|
if eco2_config := config.get(CONF_ECO2):
|
||||||
cg.add(var.set_co2(sens))
|
sens = await sensor.new_sensor(eco2_config)
|
||||||
sens = await sensor.new_sensor(config[CONF_TVOC])
|
cg.add(var.set_co2(sens))
|
||||||
cg.add(var.set_tvoc(sens))
|
|
||||||
|
if tvoc_config := config.get(CONF_TVOC):
|
||||||
|
sens = await sensor.new_sensor(tvoc_config)
|
||||||
|
cg.add(var.set_tvoc(sens))
|
||||||
|
|
||||||
if version_config := config.get(CONF_VERSION):
|
if version_config := config.get(CONF_VERSION):
|
||||||
sens = await text_sensor.new_text_sensor(version_config)
|
sens = await text_sensor.new_text_sensor(version_config)
|
||||||
|
@ -27,14 +27,14 @@ CONFIG_SCHEMA = (
|
|||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(DPS310Component),
|
cv.GenerateID(): cv.declare_id(DPS310Component),
|
||||||
cv.Required(CONF_TEMPERATURE): sensor.sensor_schema(
|
cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_CELSIUS,
|
unit_of_measurement=UNIT_CELSIUS,
|
||||||
icon=ICON_THERMOMETER,
|
icon=ICON_THERMOMETER,
|
||||||
accuracy_decimals=1,
|
accuracy_decimals=1,
|
||||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
cv.Required(CONF_PRESSURE): sensor.sensor_schema(
|
cv.Optional(CONF_PRESSURE): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_HECTOPASCAL,
|
unit_of_measurement=UNIT_HECTOPASCAL,
|
||||||
icon=ICON_GAUGE,
|
icon=ICON_GAUGE,
|
||||||
accuracy_decimals=1,
|
accuracy_decimals=1,
|
||||||
@ -53,10 +53,10 @@ async def to_code(config):
|
|||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await i2c.register_i2c_device(var, config)
|
await i2c.register_i2c_device(var, config)
|
||||||
|
|
||||||
if CONF_TEMPERATURE in config:
|
if temperature := config.get(CONF_TEMPERATURE):
|
||||||
sens = await sensor.new_sensor(config[CONF_TEMPERATURE])
|
sens = await sensor.new_sensor(temperature)
|
||||||
cg.add(var.set_temperature_sensor(sens))
|
cg.add(var.set_temperature_sensor(sens))
|
||||||
|
|
||||||
if CONF_PRESSURE in config:
|
if pressure := config.get(CONF_PRESSURE):
|
||||||
sens = await sensor.new_sensor(config[CONF_PRESSURE])
|
sens = await sensor.new_sensor(pressure)
|
||||||
cg.add(var.set_pressure_sensor(sens))
|
cg.add(var.set_pressure_sensor(sens))
|
||||||
|
@ -26,19 +26,19 @@ CONFIG_SCHEMA = (
|
|||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(EE895Component),
|
cv.GenerateID(): cv.declare_id(EE895Component),
|
||||||
cv.Required(CONF_TEMPERATURE): sensor.sensor_schema(
|
cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_CELSIUS,
|
unit_of_measurement=UNIT_CELSIUS,
|
||||||
accuracy_decimals=1,
|
accuracy_decimals=1,
|
||||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
cv.Required(CONF_CO2): sensor.sensor_schema(
|
cv.Optional(CONF_CO2): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
||||||
icon=ICON_MOLECULE_CO2,
|
icon=ICON_MOLECULE_CO2,
|
||||||
accuracy_decimals=0,
|
accuracy_decimals=0,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
cv.Required(CONF_PRESSURE): sensor.sensor_schema(
|
cv.Optional(CONF_PRESSURE): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_HECTOPASCAL,
|
unit_of_measurement=UNIT_HECTOPASCAL,
|
||||||
accuracy_decimals=1,
|
accuracy_decimals=1,
|
||||||
device_class=DEVICE_CLASS_PRESSURE,
|
device_class=DEVICE_CLASS_PRESSURE,
|
||||||
@ -56,14 +56,14 @@ async def to_code(config):
|
|||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await i2c.register_i2c_device(var, config)
|
await i2c.register_i2c_device(var, config)
|
||||||
|
|
||||||
if CONF_TEMPERATURE in config:
|
if temperature := config.get(CONF_TEMPERATURE):
|
||||||
sens = await sensor.new_sensor(config[CONF_TEMPERATURE])
|
sens = await sensor.new_sensor(temperature)
|
||||||
cg.add(var.set_temperature_sensor(sens))
|
cg.add(var.set_temperature_sensor(sens))
|
||||||
|
|
||||||
if CONF_CO2 in config:
|
if co2 := config.get(CONF_CO2):
|
||||||
sens = await sensor.new_sensor(config[CONF_CO2])
|
sens = await sensor.new_sensor(co2)
|
||||||
cg.add(var.set_co2_sensor(sens))
|
cg.add(var.set_co2_sensor(sens))
|
||||||
|
|
||||||
if CONF_PRESSURE in config:
|
if pressure := config.get(CONF_PRESSURE):
|
||||||
sens = await sensor.new_sensor(config[CONF_PRESSURE])
|
sens = await sensor.new_sensor(pressure)
|
||||||
cg.add(var.set_pressure_sensor(sens))
|
cg.add(var.set_pressure_sensor(sens))
|
||||||
|
@ -28,21 +28,21 @@ UNIT_INDEX = "index"
|
|||||||
|
|
||||||
CONFIG_SCHEMA_BASE = cv.Schema(
|
CONFIG_SCHEMA_BASE = cv.Schema(
|
||||||
{
|
{
|
||||||
cv.Required(CONF_ECO2): sensor.sensor_schema(
|
cv.Optional(CONF_ECO2): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
||||||
icon=ICON_MOLECULE_CO2,
|
icon=ICON_MOLECULE_CO2,
|
||||||
accuracy_decimals=0,
|
accuracy_decimals=0,
|
||||||
device_class=DEVICE_CLASS_CARBON_DIOXIDE,
|
device_class=DEVICE_CLASS_CARBON_DIOXIDE,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
cv.Required(CONF_TVOC): sensor.sensor_schema(
|
cv.Optional(CONF_TVOC): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PARTS_PER_BILLION,
|
unit_of_measurement=UNIT_PARTS_PER_BILLION,
|
||||||
icon=ICON_RADIATOR,
|
icon=ICON_RADIATOR,
|
||||||
accuracy_decimals=0,
|
accuracy_decimals=0,
|
||||||
device_class=DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS,
|
device_class=DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
cv.Required(CONF_AQI): sensor.sensor_schema(
|
cv.Optional(CONF_AQI): sensor.sensor_schema(
|
||||||
icon=ICON_CHEMICAL_WEAPON,
|
icon=ICON_CHEMICAL_WEAPON,
|
||||||
accuracy_decimals=0,
|
accuracy_decimals=0,
|
||||||
device_class=DEVICE_CLASS_AQI,
|
device_class=DEVICE_CLASS_AQI,
|
||||||
@ -62,12 +62,15 @@ async def to_code_base(config):
|
|||||||
var = cg.new_Pvariable(config[CONF_ID])
|
var = cg.new_Pvariable(config[CONF_ID])
|
||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
|
|
||||||
sens = await sensor.new_sensor(config[CONF_ECO2])
|
if eco2_config := config.get(CONF_ECO2):
|
||||||
cg.add(var.set_co2(sens))
|
sens = await sensor.new_sensor(eco2_config)
|
||||||
sens = await sensor.new_sensor(config[CONF_TVOC])
|
cg.add(var.set_co2(sens))
|
||||||
cg.add(var.set_tvoc(sens))
|
if tvoc_config := config.get(CONF_TVOC):
|
||||||
sens = await sensor.new_sensor(config[CONF_AQI])
|
sens = await sensor.new_sensor(tvoc_config)
|
||||||
cg.add(var.set_aqi(sens))
|
cg.add(var.set_tvoc(sens))
|
||||||
|
if aqi_config := config.get(CONF_AQI):
|
||||||
|
sens = await sensor.new_sensor(aqi_config)
|
||||||
|
cg.add(var.set_aqi(sens))
|
||||||
|
|
||||||
if compensation_config := config.get(CONF_COMPENSATION):
|
if compensation_config := config.get(CONF_COMPENSATION):
|
||||||
sens = await cg.get_variable(compensation_config[CONF_TEMPERATURE])
|
sens = await cg.get_variable(compensation_config[CONF_TEMPERATURE])
|
||||||
|
@ -25,13 +25,13 @@ CONFIG_SCHEMA = (
|
|||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(HTE501Component),
|
cv.GenerateID(): cv.declare_id(HTE501Component),
|
||||||
cv.Required(CONF_TEMPERATURE): sensor.sensor_schema(
|
cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_CELSIUS,
|
unit_of_measurement=UNIT_CELSIUS,
|
||||||
accuracy_decimals=1,
|
accuracy_decimals=1,
|
||||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
cv.Required(CONF_HUMIDITY): sensor.sensor_schema(
|
cv.Optional(CONF_HUMIDITY): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PERCENT,
|
unit_of_measurement=UNIT_PERCENT,
|
||||||
accuracy_decimals=1,
|
accuracy_decimals=1,
|
||||||
device_class=DEVICE_CLASS_HUMIDITY,
|
device_class=DEVICE_CLASS_HUMIDITY,
|
||||||
@ -49,10 +49,10 @@ async def to_code(config):
|
|||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await i2c.register_i2c_device(var, config)
|
await i2c.register_i2c_device(var, config)
|
||||||
|
|
||||||
if CONF_TEMPERATURE in config:
|
if temperature := config.get(CONF_TEMPERATURE):
|
||||||
sens = await sensor.new_sensor(config[CONF_TEMPERATURE])
|
sens = await sensor.new_sensor(temperature)
|
||||||
cg.add(var.set_temperature_sensor(sens))
|
cg.add(var.set_temperature_sensor(sens))
|
||||||
|
|
||||||
if CONF_HUMIDITY in config:
|
if humidity := config.get(CONF_HUMIDITY):
|
||||||
sens = await sensor.new_sensor(config[CONF_HUMIDITY])
|
sens = await sensor.new_sensor(humidity)
|
||||||
cg.add(var.set_humidity_sensor(sens))
|
cg.add(var.set_humidity_sensor(sens))
|
||||||
|
@ -23,13 +23,13 @@ CONFIG_SCHEMA = (
|
|||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(HYT271Component),
|
cv.GenerateID(): cv.declare_id(HYT271Component),
|
||||||
cv.Required(CONF_TEMPERATURE): sensor.sensor_schema(
|
cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_CELSIUS,
|
unit_of_measurement=UNIT_CELSIUS,
|
||||||
accuracy_decimals=1,
|
accuracy_decimals=1,
|
||||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
cv.Required(CONF_HUMIDITY): sensor.sensor_schema(
|
cv.Optional(CONF_HUMIDITY): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PERCENT,
|
unit_of_measurement=UNIT_PERCENT,
|
||||||
accuracy_decimals=1,
|
accuracy_decimals=1,
|
||||||
device_class=DEVICE_CLASS_HUMIDITY,
|
device_class=DEVICE_CLASS_HUMIDITY,
|
||||||
@ -47,10 +47,10 @@ async def to_code(config):
|
|||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await i2c.register_i2c_device(var, config)
|
await i2c.register_i2c_device(var, config)
|
||||||
|
|
||||||
if CONF_TEMPERATURE in config:
|
if temperature := config.get(CONF_TEMPERATURE):
|
||||||
sens = await sensor.new_sensor(config[CONF_TEMPERATURE])
|
sens = await sensor.new_sensor(temperature)
|
||||||
cg.add(var.set_temperature(sens))
|
cg.add(var.set_temperature(sens))
|
||||||
|
|
||||||
if CONF_HUMIDITY in config:
|
if humidity := config.get(CONF_HUMIDITY):
|
||||||
sens = await sensor.new_sensor(config[CONF_HUMIDITY])
|
sens = await sensor.new_sensor(humidity)
|
||||||
cg.add(var.set_humidity(sens))
|
cg.add(var.set_humidity(sens))
|
||||||
|
@ -32,7 +32,7 @@ CONFIG_SCHEMA = (
|
|||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(MHZ19Component),
|
cv.GenerateID(): cv.declare_id(MHZ19Component),
|
||||||
cv.Required(CONF_CO2): sensor.sensor_schema(
|
cv.Optional(CONF_CO2): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
||||||
icon=ICON_MOLECULE_CO2,
|
icon=ICON_MOLECULE_CO2,
|
||||||
accuracy_decimals=0,
|
accuracy_decimals=0,
|
||||||
@ -61,16 +61,20 @@ async def to_code(config):
|
|||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await uart.register_uart_device(var, config)
|
await uart.register_uart_device(var, config)
|
||||||
|
|
||||||
if CONF_CO2 in config:
|
if co2 := config.get(CONF_CO2):
|
||||||
sens = await sensor.new_sensor(config[CONF_CO2])
|
sens = await sensor.new_sensor(co2)
|
||||||
cg.add(var.set_co2_sensor(sens))
|
cg.add(var.set_co2_sensor(sens))
|
||||||
|
|
||||||
if CONF_TEMPERATURE in config:
|
if temperature := config.get(CONF_TEMPERATURE):
|
||||||
sens = await sensor.new_sensor(config[CONF_TEMPERATURE])
|
sens = await sensor.new_sensor(temperature)
|
||||||
cg.add(var.set_temperature_sensor(sens))
|
cg.add(var.set_temperature_sensor(sens))
|
||||||
|
|
||||||
if CONF_AUTOMATIC_BASELINE_CALIBRATION in config:
|
if (
|
||||||
cg.add(var.set_abc_enabled(config[CONF_AUTOMATIC_BASELINE_CALIBRATION]))
|
automatic_baseline_calibration := config.get(
|
||||||
|
CONF_AUTOMATIC_BASELINE_CALIBRATION
|
||||||
|
)
|
||||||
|
) is not None:
|
||||||
|
cg.add(var.set_abc_enabled(automatic_baseline_calibration))
|
||||||
|
|
||||||
cg.add(var.set_warmup_seconds(config[CONF_WARMUP_TIME]))
|
cg.add(var.set_warmup_seconds(config[CONF_WARMUP_TIME]))
|
||||||
|
|
||||||
|
@ -24,13 +24,13 @@ CONFIG_SCHEMA = (
|
|||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(MS5611Component),
|
cv.GenerateID(): cv.declare_id(MS5611Component),
|
||||||
cv.Required(CONF_TEMPERATURE): sensor.sensor_schema(
|
cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_CELSIUS,
|
unit_of_measurement=UNIT_CELSIUS,
|
||||||
accuracy_decimals=1,
|
accuracy_decimals=1,
|
||||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
cv.Required(CONF_PRESSURE): sensor.sensor_schema(
|
cv.Optional(CONF_PRESSURE): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_HECTOPASCAL,
|
unit_of_measurement=UNIT_HECTOPASCAL,
|
||||||
icon=ICON_GAUGE,
|
icon=ICON_GAUGE,
|
||||||
accuracy_decimals=1,
|
accuracy_decimals=1,
|
||||||
@ -49,10 +49,10 @@ async def to_code(config):
|
|||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await i2c.register_i2c_device(var, config)
|
await i2c.register_i2c_device(var, config)
|
||||||
|
|
||||||
if CONF_TEMPERATURE in config:
|
if temperature := config.get(CONF_TEMPERATURE):
|
||||||
sens = await sensor.new_sensor(config[CONF_TEMPERATURE])
|
sens = await sensor.new_sensor(temperature)
|
||||||
cg.add(var.set_temperature_sensor(sens))
|
cg.add(var.set_temperature_sensor(sens))
|
||||||
|
|
||||||
if CONF_PRESSURE in config:
|
if pressure := config.get(CONF_PRESSURE):
|
||||||
sens = await sensor.new_sensor(config[CONF_PRESSURE])
|
sens = await sensor.new_sensor(pressure)
|
||||||
cg.add(var.set_pressure_sensor(sens))
|
cg.add(var.set_pressure_sensor(sens))
|
||||||
|
@ -29,19 +29,19 @@ CONFIG_SCHEMA = (
|
|||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(MS8607Component),
|
cv.GenerateID(): cv.declare_id(MS8607Component),
|
||||||
cv.Required(CONF_TEMPERATURE): sensor.sensor_schema(
|
cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_CELSIUS,
|
unit_of_measurement=UNIT_CELSIUS,
|
||||||
accuracy_decimals=2, # Resolution: 0.01
|
accuracy_decimals=2, # Resolution: 0.01
|
||||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
cv.Required(CONF_PRESSURE): sensor.sensor_schema(
|
cv.Optional(CONF_PRESSURE): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_HECTOPASCAL,
|
unit_of_measurement=UNIT_HECTOPASCAL,
|
||||||
accuracy_decimals=2, # Resolution: 0.016
|
accuracy_decimals=2, # Resolution: 0.016
|
||||||
device_class=DEVICE_CLASS_PRESSURE,
|
device_class=DEVICE_CLASS_PRESSURE,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
cv.Required(CONF_HUMIDITY): sensor.sensor_schema(
|
cv.Optional(CONF_HUMIDITY): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PERCENT,
|
unit_of_measurement=UNIT_PERCENT,
|
||||||
accuracy_decimals=2, # Resolution: 0.04
|
accuracy_decimals=2, # Resolution: 0.04
|
||||||
device_class=DEVICE_CLASS_HUMIDITY,
|
device_class=DEVICE_CLASS_HUMIDITY,
|
||||||
|
@ -38,7 +38,7 @@ CONFIG_SCHEMA = (
|
|||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(SenseAirComponent),
|
cv.GenerateID(): cv.declare_id(SenseAirComponent),
|
||||||
cv.Required(CONF_CO2): sensor.sensor_schema(
|
cv.Optional(CONF_CO2): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
||||||
icon=ICON_MOLECULE_CO2,
|
icon=ICON_MOLECULE_CO2,
|
||||||
accuracy_decimals=0,
|
accuracy_decimals=0,
|
||||||
@ -57,8 +57,8 @@ async def to_code(config):
|
|||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await uart.register_uart_device(var, config)
|
await uart.register_uart_device(var, config)
|
||||||
|
|
||||||
if CONF_CO2 in config:
|
if co2 := config.get(CONF_CO2):
|
||||||
sens = await sensor.new_sensor(config[CONF_CO2])
|
sens = await sensor.new_sensor(co2)
|
||||||
cg.add(var.set_co2_sensor(sens))
|
cg.add(var.set_co2_sensor(sens))
|
||||||
|
|
||||||
|
|
||||||
|
@ -37,14 +37,14 @@ CONFIG_SCHEMA = (
|
|||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(SGP30Component),
|
cv.GenerateID(): cv.declare_id(SGP30Component),
|
||||||
cv.Required(CONF_ECO2): sensor.sensor_schema(
|
cv.Optional(CONF_ECO2): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
||||||
icon=ICON_MOLECULE_CO2,
|
icon=ICON_MOLECULE_CO2,
|
||||||
accuracy_decimals=0,
|
accuracy_decimals=0,
|
||||||
device_class=DEVICE_CLASS_CARBON_DIOXIDE,
|
device_class=DEVICE_CLASS_CARBON_DIOXIDE,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
cv.Required(CONF_TVOC): sensor.sensor_schema(
|
cv.Optional(CONF_TVOC): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PARTS_PER_BILLION,
|
unit_of_measurement=UNIT_PARTS_PER_BILLION,
|
||||||
icon=ICON_RADIATOR,
|
icon=ICON_RADIATOR,
|
||||||
accuracy_decimals=0,
|
accuracy_decimals=0,
|
||||||
@ -86,32 +86,30 @@ async def to_code(config):
|
|||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await i2c.register_i2c_device(var, config)
|
await i2c.register_i2c_device(var, config)
|
||||||
|
|
||||||
if CONF_ECO2 in config:
|
if eco2_config := config.get(CONF_ECO2):
|
||||||
sens = await sensor.new_sensor(config[CONF_ECO2])
|
sens = await sensor.new_sensor(eco2_config)
|
||||||
cg.add(var.set_eco2_sensor(sens))
|
cg.add(var.set_eco2_sensor(sens))
|
||||||
|
|
||||||
if CONF_TVOC in config:
|
if tvoc_config := config.get(CONF_TVOC):
|
||||||
sens = await sensor.new_sensor(config[CONF_TVOC])
|
sens = await sensor.new_sensor(tvoc_config)
|
||||||
cg.add(var.set_tvoc_sensor(sens))
|
cg.add(var.set_tvoc_sensor(sens))
|
||||||
|
|
||||||
if CONF_ECO2_BASELINE in config:
|
if eco2_baseline_config := config.get(CONF_ECO2_BASELINE):
|
||||||
sens = await sensor.new_sensor(config[CONF_ECO2_BASELINE])
|
sens = await sensor.new_sensor(eco2_baseline_config)
|
||||||
cg.add(var.set_eco2_baseline_sensor(sens))
|
cg.add(var.set_eco2_baseline_sensor(sens))
|
||||||
|
|
||||||
if CONF_TVOC_BASELINE in config:
|
if tvoc_baseline_config := config.get(CONF_TVOC_BASELINE):
|
||||||
sens = await sensor.new_sensor(config[CONF_TVOC_BASELINE])
|
sens = await sensor.new_sensor(tvoc_baseline_config)
|
||||||
cg.add(var.set_tvoc_baseline_sensor(sens))
|
cg.add(var.set_tvoc_baseline_sensor(sens))
|
||||||
|
|
||||||
if CONF_STORE_BASELINE in config:
|
if (store_baseline := config.get(CONF_STORE_BASELINE)) is not None:
|
||||||
cg.add(var.set_store_baseline(config[CONF_STORE_BASELINE]))
|
cg.add(var.set_store_baseline(store_baseline))
|
||||||
|
|
||||||
if CONF_BASELINE in config:
|
if baseline_config := config.get(CONF_BASELINE):
|
||||||
baseline_config = config[CONF_BASELINE]
|
|
||||||
cg.add(var.set_eco2_baseline(baseline_config[CONF_ECO2_BASELINE]))
|
cg.add(var.set_eco2_baseline(baseline_config[CONF_ECO2_BASELINE]))
|
||||||
cg.add(var.set_tvoc_baseline(baseline_config[CONF_TVOC_BASELINE]))
|
cg.add(var.set_tvoc_baseline(baseline_config[CONF_TVOC_BASELINE]))
|
||||||
|
|
||||||
if CONF_COMPENSATION in config:
|
if compensation_config := config.get(CONF_COMPENSATION):
|
||||||
compensation_config = config[CONF_COMPENSATION]
|
|
||||||
sens = await cg.get_variable(compensation_config[CONF_HUMIDITY_SOURCE])
|
sens = await cg.get_variable(compensation_config[CONF_HUMIDITY_SOURCE])
|
||||||
cg.add(var.set_humidity_sensor(sens))
|
cg.add(var.set_humidity_sensor(sens))
|
||||||
sens = await cg.get_variable(compensation_config[CONF_TEMPERATURE_SOURCE])
|
sens = await cg.get_variable(compensation_config[CONF_TEMPERATURE_SOURCE])
|
||||||
|
@ -26,13 +26,13 @@ CONFIG_SCHEMA = (
|
|||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(SHTCXComponent),
|
cv.GenerateID(): cv.declare_id(SHTCXComponent),
|
||||||
cv.Required(CONF_TEMPERATURE): sensor.sensor_schema(
|
cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_CELSIUS,
|
unit_of_measurement=UNIT_CELSIUS,
|
||||||
accuracy_decimals=1,
|
accuracy_decimals=1,
|
||||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||||
state_class=STATE_CLASS_MEASUREMENT,
|
state_class=STATE_CLASS_MEASUREMENT,
|
||||||
),
|
),
|
||||||
cv.Required(CONF_HUMIDITY): sensor.sensor_schema(
|
cv.Optional(CONF_HUMIDITY): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PERCENT,
|
unit_of_measurement=UNIT_PERCENT,
|
||||||
accuracy_decimals=1,
|
accuracy_decimals=1,
|
||||||
device_class=DEVICE_CLASS_HUMIDITY,
|
device_class=DEVICE_CLASS_HUMIDITY,
|
||||||
@ -50,10 +50,10 @@ async def to_code(config):
|
|||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await i2c.register_i2c_device(var, config)
|
await i2c.register_i2c_device(var, config)
|
||||||
|
|
||||||
if CONF_TEMPERATURE in config:
|
if temperature := config.get(CONF_TEMPERATURE):
|
||||||
sens = await sensor.new_sensor(config[CONF_TEMPERATURE])
|
sens = await sensor.new_sensor(temperature)
|
||||||
cg.add(var.set_temperature_sensor(sens))
|
cg.add(var.set_temperature_sensor(sens))
|
||||||
|
|
||||||
if CONF_HUMIDITY in config:
|
if humidity := config.get(CONF_HUMIDITY):
|
||||||
sens = await sensor.new_sensor(config[CONF_HUMIDITY])
|
sens = await sensor.new_sensor(humidity)
|
||||||
cg.add(var.set_humidity_sensor(sens))
|
cg.add(var.set_humidity_sensor(sens))
|
||||||
|
@ -19,7 +19,7 @@ CONFIG_SCHEMA = (
|
|||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(T6615Component),
|
cv.GenerateID(): cv.declare_id(T6615Component),
|
||||||
cv.Required(CONF_CO2): sensor.sensor_schema(
|
cv.Optional(CONF_CO2): sensor.sensor_schema(
|
||||||
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
unit_of_measurement=UNIT_PARTS_PER_MILLION,
|
||||||
accuracy_decimals=0,
|
accuracy_decimals=0,
|
||||||
device_class=DEVICE_CLASS_CARBON_DIOXIDE,
|
device_class=DEVICE_CLASS_CARBON_DIOXIDE,
|
||||||
@ -41,6 +41,6 @@ async def to_code(config):
|
|||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await uart.register_uart_device(var, config)
|
await uart.register_uart_device(var, config)
|
||||||
|
|
||||||
if CONF_CO2 in config:
|
if co2 := config.get(CONF_CO2):
|
||||||
sens = await sensor.new_sensor(config[CONF_CO2])
|
sens = await sensor.new_sensor(co2)
|
||||||
cg.add(var.set_co2_sensor(sens))
|
cg.add(var.set_co2_sensor(sens))
|
||||||
|
@ -63,7 +63,8 @@ void T6615Component::loop() {
|
|||||||
case T6615Command::GET_PPM: {
|
case T6615Command::GET_PPM: {
|
||||||
const uint16_t ppm = encode_uint16(response_buffer[3], response_buffer[4]);
|
const uint16_t ppm = encode_uint16(response_buffer[3], response_buffer[4]);
|
||||||
ESP_LOGD(TAG, "T6615 Received CO₂=%uppm", ppm);
|
ESP_LOGD(TAG, "T6615 Received CO₂=%uppm", ppm);
|
||||||
this->co2_sensor_->publish_state(ppm);
|
if (this->co2_sensor_ != nullptr)
|
||||||
|
this->co2_sensor_->publish_state(ppm);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user