mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	Update some sensor schemas to be Optional (#8803)
This commit is contained in:
		| @@ -32,14 +32,14 @@ CONFIG_SCHEMA = ( | ||||
|     cv.Schema( | ||||
|         { | ||||
|             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, | ||||
|                 icon=ICON_MOLECULE_CO2, | ||||
|                 accuracy_decimals=0, | ||||
|                 device_class=DEVICE_CLASS_CARBON_DIOXIDE, | ||||
|                 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, | ||||
|                 icon=ICON_RADIATOR, | ||||
|                 accuracy_decimals=0, | ||||
| @@ -64,10 +64,13 @@ async def to_code(config): | ||||
|     await cg.register_component(var, config) | ||||
|     await i2c.register_i2c_device(var, config) | ||||
|  | ||||
|     sens = await sensor.new_sensor(config[CONF_ECO2]) | ||||
|     cg.add(var.set_co2(sens)) | ||||
|     sens = await sensor.new_sensor(config[CONF_TVOC]) | ||||
|     cg.add(var.set_tvoc(sens)) | ||||
|     if eco2_config := config.get(CONF_ECO2): | ||||
|         sens = await sensor.new_sensor(eco2_config) | ||||
|         cg.add(var.set_co2(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): | ||||
|         sens = await text_sensor.new_text_sensor(version_config) | ||||
|   | ||||
| @@ -27,14 +27,14 @@ CONFIG_SCHEMA = ( | ||||
|     cv.Schema( | ||||
|         { | ||||
|             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, | ||||
|                 icon=ICON_THERMOMETER, | ||||
|                 accuracy_decimals=1, | ||||
|                 device_class=DEVICE_CLASS_TEMPERATURE, | ||||
|                 state_class=STATE_CLASS_MEASUREMENT, | ||||
|             ), | ||||
|             cv.Required(CONF_PRESSURE): sensor.sensor_schema( | ||||
|             cv.Optional(CONF_PRESSURE): sensor.sensor_schema( | ||||
|                 unit_of_measurement=UNIT_HECTOPASCAL, | ||||
|                 icon=ICON_GAUGE, | ||||
|                 accuracy_decimals=1, | ||||
| @@ -53,10 +53,10 @@ async def to_code(config): | ||||
|     await cg.register_component(var, config) | ||||
|     await i2c.register_i2c_device(var, config) | ||||
|  | ||||
|     if CONF_TEMPERATURE in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_TEMPERATURE]) | ||||
|     if temperature := config.get(CONF_TEMPERATURE): | ||||
|         sens = await sensor.new_sensor(temperature) | ||||
|         cg.add(var.set_temperature_sensor(sens)) | ||||
|  | ||||
|     if CONF_PRESSURE in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_PRESSURE]) | ||||
|     if pressure := config.get(CONF_PRESSURE): | ||||
|         sens = await sensor.new_sensor(pressure) | ||||
|         cg.add(var.set_pressure_sensor(sens)) | ||||
|   | ||||
| @@ -26,19 +26,19 @@ CONFIG_SCHEMA = ( | ||||
|     cv.Schema( | ||||
|         { | ||||
|             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, | ||||
|                 accuracy_decimals=1, | ||||
|                 device_class=DEVICE_CLASS_TEMPERATURE, | ||||
|                 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, | ||||
|                 icon=ICON_MOLECULE_CO2, | ||||
|                 accuracy_decimals=0, | ||||
|                 state_class=STATE_CLASS_MEASUREMENT, | ||||
|             ), | ||||
|             cv.Required(CONF_PRESSURE): sensor.sensor_schema( | ||||
|             cv.Optional(CONF_PRESSURE): sensor.sensor_schema( | ||||
|                 unit_of_measurement=UNIT_HECTOPASCAL, | ||||
|                 accuracy_decimals=1, | ||||
|                 device_class=DEVICE_CLASS_PRESSURE, | ||||
| @@ -56,14 +56,14 @@ async def to_code(config): | ||||
|     await cg.register_component(var, config) | ||||
|     await i2c.register_i2c_device(var, config) | ||||
|  | ||||
|     if CONF_TEMPERATURE in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_TEMPERATURE]) | ||||
|     if temperature := config.get(CONF_TEMPERATURE): | ||||
|         sens = await sensor.new_sensor(temperature) | ||||
|         cg.add(var.set_temperature_sensor(sens)) | ||||
|  | ||||
|     if CONF_CO2 in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_CO2]) | ||||
|     if co2 := config.get(CONF_CO2): | ||||
|         sens = await sensor.new_sensor(co2) | ||||
|         cg.add(var.set_co2_sensor(sens)) | ||||
|  | ||||
|     if CONF_PRESSURE in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_PRESSURE]) | ||||
|     if pressure := config.get(CONF_PRESSURE): | ||||
|         sens = await sensor.new_sensor(pressure) | ||||
|         cg.add(var.set_pressure_sensor(sens)) | ||||
|   | ||||
| @@ -28,21 +28,21 @@ UNIT_INDEX = "index" | ||||
|  | ||||
| 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, | ||||
|             icon=ICON_MOLECULE_CO2, | ||||
|             accuracy_decimals=0, | ||||
|             device_class=DEVICE_CLASS_CARBON_DIOXIDE, | ||||
|             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, | ||||
|             icon=ICON_RADIATOR, | ||||
|             accuracy_decimals=0, | ||||
|             device_class=DEVICE_CLASS_VOLATILE_ORGANIC_COMPOUNDS_PARTS, | ||||
|             state_class=STATE_CLASS_MEASUREMENT, | ||||
|         ), | ||||
|         cv.Required(CONF_AQI): sensor.sensor_schema( | ||||
|         cv.Optional(CONF_AQI): sensor.sensor_schema( | ||||
|             icon=ICON_CHEMICAL_WEAPON, | ||||
|             accuracy_decimals=0, | ||||
|             device_class=DEVICE_CLASS_AQI, | ||||
| @@ -62,12 +62,15 @@ async def to_code_base(config): | ||||
|     var = cg.new_Pvariable(config[CONF_ID]) | ||||
|     await cg.register_component(var, config) | ||||
|  | ||||
|     sens = await sensor.new_sensor(config[CONF_ECO2]) | ||||
|     cg.add(var.set_co2(sens)) | ||||
|     sens = await sensor.new_sensor(config[CONF_TVOC]) | ||||
|     cg.add(var.set_tvoc(sens)) | ||||
|     sens = await sensor.new_sensor(config[CONF_AQI]) | ||||
|     cg.add(var.set_aqi(sens)) | ||||
|     if eco2_config := config.get(CONF_ECO2): | ||||
|         sens = await sensor.new_sensor(eco2_config) | ||||
|         cg.add(var.set_co2(sens)) | ||||
|     if tvoc_config := config.get(CONF_TVOC): | ||||
|         sens = await sensor.new_sensor(tvoc_config) | ||||
|         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): | ||||
|         sens = await cg.get_variable(compensation_config[CONF_TEMPERATURE]) | ||||
|   | ||||
| @@ -25,13 +25,13 @@ CONFIG_SCHEMA = ( | ||||
|     cv.Schema( | ||||
|         { | ||||
|             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, | ||||
|                 accuracy_decimals=1, | ||||
|                 device_class=DEVICE_CLASS_TEMPERATURE, | ||||
|                 state_class=STATE_CLASS_MEASUREMENT, | ||||
|             ), | ||||
|             cv.Required(CONF_HUMIDITY): sensor.sensor_schema( | ||||
|             cv.Optional(CONF_HUMIDITY): sensor.sensor_schema( | ||||
|                 unit_of_measurement=UNIT_PERCENT, | ||||
|                 accuracy_decimals=1, | ||||
|                 device_class=DEVICE_CLASS_HUMIDITY, | ||||
| @@ -49,10 +49,10 @@ async def to_code(config): | ||||
|     await cg.register_component(var, config) | ||||
|     await i2c.register_i2c_device(var, config) | ||||
|  | ||||
|     if CONF_TEMPERATURE in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_TEMPERATURE]) | ||||
|     if temperature := config.get(CONF_TEMPERATURE): | ||||
|         sens = await sensor.new_sensor(temperature) | ||||
|         cg.add(var.set_temperature_sensor(sens)) | ||||
|  | ||||
|     if CONF_HUMIDITY in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_HUMIDITY]) | ||||
|     if humidity := config.get(CONF_HUMIDITY): | ||||
|         sens = await sensor.new_sensor(humidity) | ||||
|         cg.add(var.set_humidity_sensor(sens)) | ||||
|   | ||||
| @@ -23,13 +23,13 @@ CONFIG_SCHEMA = ( | ||||
|     cv.Schema( | ||||
|         { | ||||
|             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, | ||||
|                 accuracy_decimals=1, | ||||
|                 device_class=DEVICE_CLASS_TEMPERATURE, | ||||
|                 state_class=STATE_CLASS_MEASUREMENT, | ||||
|             ), | ||||
|             cv.Required(CONF_HUMIDITY): sensor.sensor_schema( | ||||
|             cv.Optional(CONF_HUMIDITY): sensor.sensor_schema( | ||||
|                 unit_of_measurement=UNIT_PERCENT, | ||||
|                 accuracy_decimals=1, | ||||
|                 device_class=DEVICE_CLASS_HUMIDITY, | ||||
| @@ -47,10 +47,10 @@ async def to_code(config): | ||||
|     await cg.register_component(var, config) | ||||
|     await i2c.register_i2c_device(var, config) | ||||
|  | ||||
|     if CONF_TEMPERATURE in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_TEMPERATURE]) | ||||
|     if temperature := config.get(CONF_TEMPERATURE): | ||||
|         sens = await sensor.new_sensor(temperature) | ||||
|         cg.add(var.set_temperature(sens)) | ||||
|  | ||||
|     if CONF_HUMIDITY in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_HUMIDITY]) | ||||
|     if humidity := config.get(CONF_HUMIDITY): | ||||
|         sens = await sensor.new_sensor(humidity) | ||||
|         cg.add(var.set_humidity(sens)) | ||||
|   | ||||
| @@ -32,7 +32,7 @@ CONFIG_SCHEMA = ( | ||||
|     cv.Schema( | ||||
|         { | ||||
|             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, | ||||
|                 icon=ICON_MOLECULE_CO2, | ||||
|                 accuracy_decimals=0, | ||||
| @@ -61,16 +61,20 @@ async def to_code(config): | ||||
|     await cg.register_component(var, config) | ||||
|     await uart.register_uart_device(var, config) | ||||
|  | ||||
|     if CONF_CO2 in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_CO2]) | ||||
|     if co2 := config.get(CONF_CO2): | ||||
|         sens = await sensor.new_sensor(co2) | ||||
|         cg.add(var.set_co2_sensor(sens)) | ||||
|  | ||||
|     if CONF_TEMPERATURE in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_TEMPERATURE]) | ||||
|     if temperature := config.get(CONF_TEMPERATURE): | ||||
|         sens = await sensor.new_sensor(temperature) | ||||
|         cg.add(var.set_temperature_sensor(sens)) | ||||
|  | ||||
|     if CONF_AUTOMATIC_BASELINE_CALIBRATION in config: | ||||
|         cg.add(var.set_abc_enabled(config[CONF_AUTOMATIC_BASELINE_CALIBRATION])) | ||||
|     if ( | ||||
|         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])) | ||||
|  | ||||
|   | ||||
| @@ -24,13 +24,13 @@ CONFIG_SCHEMA = ( | ||||
|     cv.Schema( | ||||
|         { | ||||
|             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, | ||||
|                 accuracy_decimals=1, | ||||
|                 device_class=DEVICE_CLASS_TEMPERATURE, | ||||
|                 state_class=STATE_CLASS_MEASUREMENT, | ||||
|             ), | ||||
|             cv.Required(CONF_PRESSURE): sensor.sensor_schema( | ||||
|             cv.Optional(CONF_PRESSURE): sensor.sensor_schema( | ||||
|                 unit_of_measurement=UNIT_HECTOPASCAL, | ||||
|                 icon=ICON_GAUGE, | ||||
|                 accuracy_decimals=1, | ||||
| @@ -49,10 +49,10 @@ async def to_code(config): | ||||
|     await cg.register_component(var, config) | ||||
|     await i2c.register_i2c_device(var, config) | ||||
|  | ||||
|     if CONF_TEMPERATURE in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_TEMPERATURE]) | ||||
|     if temperature := config.get(CONF_TEMPERATURE): | ||||
|         sens = await sensor.new_sensor(temperature) | ||||
|         cg.add(var.set_temperature_sensor(sens)) | ||||
|  | ||||
|     if CONF_PRESSURE in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_PRESSURE]) | ||||
|     if pressure := config.get(CONF_PRESSURE): | ||||
|         sens = await sensor.new_sensor(pressure) | ||||
|         cg.add(var.set_pressure_sensor(sens)) | ||||
|   | ||||
| @@ -29,19 +29,19 @@ CONFIG_SCHEMA = ( | ||||
|     cv.Schema( | ||||
|         { | ||||
|             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, | ||||
|                 accuracy_decimals=2,  # Resolution: 0.01 | ||||
|                 device_class=DEVICE_CLASS_TEMPERATURE, | ||||
|                 state_class=STATE_CLASS_MEASUREMENT, | ||||
|             ), | ||||
|             cv.Required(CONF_PRESSURE): sensor.sensor_schema( | ||||
|             cv.Optional(CONF_PRESSURE): sensor.sensor_schema( | ||||
|                 unit_of_measurement=UNIT_HECTOPASCAL, | ||||
|                 accuracy_decimals=2,  # Resolution: 0.016 | ||||
|                 device_class=DEVICE_CLASS_PRESSURE, | ||||
|                 state_class=STATE_CLASS_MEASUREMENT, | ||||
|             ), | ||||
|             cv.Required(CONF_HUMIDITY): sensor.sensor_schema( | ||||
|             cv.Optional(CONF_HUMIDITY): sensor.sensor_schema( | ||||
|                 unit_of_measurement=UNIT_PERCENT, | ||||
|                 accuracy_decimals=2,  # Resolution: 0.04 | ||||
|                 device_class=DEVICE_CLASS_HUMIDITY, | ||||
|   | ||||
| @@ -38,7 +38,7 @@ CONFIG_SCHEMA = ( | ||||
|     cv.Schema( | ||||
|         { | ||||
|             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, | ||||
|                 icon=ICON_MOLECULE_CO2, | ||||
|                 accuracy_decimals=0, | ||||
| @@ -57,8 +57,8 @@ async def to_code(config): | ||||
|     await cg.register_component(var, config) | ||||
|     await uart.register_uart_device(var, config) | ||||
|  | ||||
|     if CONF_CO2 in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_CO2]) | ||||
|     if co2 := config.get(CONF_CO2): | ||||
|         sens = await sensor.new_sensor(co2) | ||||
|         cg.add(var.set_co2_sensor(sens)) | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -37,14 +37,14 @@ CONFIG_SCHEMA = ( | ||||
|     cv.Schema( | ||||
|         { | ||||
|             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, | ||||
|                 icon=ICON_MOLECULE_CO2, | ||||
|                 accuracy_decimals=0, | ||||
|                 device_class=DEVICE_CLASS_CARBON_DIOXIDE, | ||||
|                 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, | ||||
|                 icon=ICON_RADIATOR, | ||||
|                 accuracy_decimals=0, | ||||
| @@ -86,32 +86,30 @@ async def to_code(config): | ||||
|     await cg.register_component(var, config) | ||||
|     await i2c.register_i2c_device(var, config) | ||||
|  | ||||
|     if CONF_ECO2 in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_ECO2]) | ||||
|     if eco2_config := config.get(CONF_ECO2): | ||||
|         sens = await sensor.new_sensor(eco2_config) | ||||
|         cg.add(var.set_eco2_sensor(sens)) | ||||
|  | ||||
|     if CONF_TVOC in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_TVOC]) | ||||
|     if tvoc_config := config.get(CONF_TVOC): | ||||
|         sens = await sensor.new_sensor(tvoc_config) | ||||
|         cg.add(var.set_tvoc_sensor(sens)) | ||||
|  | ||||
|     if CONF_ECO2_BASELINE in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_ECO2_BASELINE]) | ||||
|     if eco2_baseline_config := config.get(CONF_ECO2_BASELINE): | ||||
|         sens = await sensor.new_sensor(eco2_baseline_config) | ||||
|         cg.add(var.set_eco2_baseline_sensor(sens)) | ||||
|  | ||||
|     if CONF_TVOC_BASELINE in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_TVOC_BASELINE]) | ||||
|     if tvoc_baseline_config := config.get(CONF_TVOC_BASELINE): | ||||
|         sens = await sensor.new_sensor(tvoc_baseline_config) | ||||
|         cg.add(var.set_tvoc_baseline_sensor(sens)) | ||||
|  | ||||
|     if CONF_STORE_BASELINE in config: | ||||
|         cg.add(var.set_store_baseline(config[CONF_STORE_BASELINE])) | ||||
|     if (store_baseline := config.get(CONF_STORE_BASELINE)) is not None: | ||||
|         cg.add(var.set_store_baseline(store_baseline)) | ||||
|  | ||||
|     if CONF_BASELINE in config: | ||||
|         baseline_config = config[CONF_BASELINE] | ||||
|     if baseline_config := config.get(CONF_BASELINE): | ||||
|         cg.add(var.set_eco2_baseline(baseline_config[CONF_ECO2_BASELINE])) | ||||
|         cg.add(var.set_tvoc_baseline(baseline_config[CONF_TVOC_BASELINE])) | ||||
|  | ||||
|     if CONF_COMPENSATION in config: | ||||
|         compensation_config = config[CONF_COMPENSATION] | ||||
|     if compensation_config := config.get(CONF_COMPENSATION): | ||||
|         sens = await cg.get_variable(compensation_config[CONF_HUMIDITY_SOURCE]) | ||||
|         cg.add(var.set_humidity_sensor(sens)) | ||||
|         sens = await cg.get_variable(compensation_config[CONF_TEMPERATURE_SOURCE]) | ||||
|   | ||||
| @@ -26,13 +26,13 @@ CONFIG_SCHEMA = ( | ||||
|     cv.Schema( | ||||
|         { | ||||
|             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, | ||||
|                 accuracy_decimals=1, | ||||
|                 device_class=DEVICE_CLASS_TEMPERATURE, | ||||
|                 state_class=STATE_CLASS_MEASUREMENT, | ||||
|             ), | ||||
|             cv.Required(CONF_HUMIDITY): sensor.sensor_schema( | ||||
|             cv.Optional(CONF_HUMIDITY): sensor.sensor_schema( | ||||
|                 unit_of_measurement=UNIT_PERCENT, | ||||
|                 accuracy_decimals=1, | ||||
|                 device_class=DEVICE_CLASS_HUMIDITY, | ||||
| @@ -50,10 +50,10 @@ async def to_code(config): | ||||
|     await cg.register_component(var, config) | ||||
|     await i2c.register_i2c_device(var, config) | ||||
|  | ||||
|     if CONF_TEMPERATURE in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_TEMPERATURE]) | ||||
|     if temperature := config.get(CONF_TEMPERATURE): | ||||
|         sens = await sensor.new_sensor(temperature) | ||||
|         cg.add(var.set_temperature_sensor(sens)) | ||||
|  | ||||
|     if CONF_HUMIDITY in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_HUMIDITY]) | ||||
|     if humidity := config.get(CONF_HUMIDITY): | ||||
|         sens = await sensor.new_sensor(humidity) | ||||
|         cg.add(var.set_humidity_sensor(sens)) | ||||
|   | ||||
| @@ -19,7 +19,7 @@ CONFIG_SCHEMA = ( | ||||
|     cv.Schema( | ||||
|         { | ||||
|             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, | ||||
|                 accuracy_decimals=0, | ||||
|                 device_class=DEVICE_CLASS_CARBON_DIOXIDE, | ||||
| @@ -41,6 +41,6 @@ async def to_code(config): | ||||
|     await cg.register_component(var, config) | ||||
|     await uart.register_uart_device(var, config) | ||||
|  | ||||
|     if CONF_CO2 in config: | ||||
|         sens = await sensor.new_sensor(config[CONF_CO2]) | ||||
|     if co2 := config.get(CONF_CO2): | ||||
|         sens = await sensor.new_sensor(co2) | ||||
|         cg.add(var.set_co2_sensor(sens)) | ||||
|   | ||||
| @@ -63,7 +63,8 @@ void T6615Component::loop() { | ||||
|     case T6615Command::GET_PPM: { | ||||
|       const uint16_t ppm = encode_uint16(response_buffer[3], response_buffer[4]); | ||||
|       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; | ||||
|     } | ||||
|     default: | ||||
|   | ||||
		Reference in New Issue
	
	Block a user