Preformatted textGood morning,
I created a small box to check the air quality in a room.
For this, I used a scd4x sensor which returns temperature, humidity and co2. I also integrated three WS2812b LED strips which change color depending on the temperature, humidity and CO2 present in the room. The data is also transmitted to Home Assistant.
The humidity and CO2 work correctly, but the temperature is distorted, the box returns 24°C when it is actually 20°C in the room. I am therefore trying to modify the YAML code so that the temperature returned to HA is the temperature received by the scd4x sensor minus 4°C in order to obtain the actual temperature of the room.
Here is the YAML code:
<esphome:
name: air-quality-sensor-desk
friendly_name: Air_Quality_Sensor_Desk
esp8266:
board: d1_mini
framework:
version: 2.7.4
logger:
ota:
password: “808c89c250d0c696911b4ef4fb180667”
wifi:
ssid: *************
password: *************
manual_ip:
static_ip: 192.168.1.136
gateway: 192.168.1.1
subnet: 255.255.255.0
mqtt:
broker: 192.168.1.127
username: ******
password: *****
i2c:
sda: GPIO4
scl: GPIO5
scan: true
id: bus_a
sensor:
-
platform: scd4x
i2c_id: bus_a
co2:
id: CO2
name: “CO2”
on_value_range:- below: 1400
then:- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0% - delay : 100ms
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 1
red: 0%
green: 50%
blue: 0%
- light.addressable_set:
- above: 1400
below: 1600
then:- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0% - delay : 100ms
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 3
red: 25%
green: 50%
blue: 0%
- light.addressable_set:
- above: 1600
below: 1800
then:- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0% - delay : 100ms
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 4
red: 50%
green: 50%
blue: 0%
- light.addressable_set:
- above: 1800
below: 1900
then:- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0% - delay : 100ms
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 8
red: 50%
green: 25%
blue: 0%
- light.addressable_set:
- above: 1900
below: 2100
then:- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0% - delay : 100ms
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 9
red: 50%
green: 0%
blue: 0%
- light.addressable_set:
- above: 2100
then:- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0% - delay : 100ms
- light.addressable_set:
id: Strip_CO2
range_from: 0
range_to: 11
red: 50%
green: 0%
blue: 0%
- light.addressable_set:
temperature:
name: “Temperature”
id: Temp
on_value_range:
- below: 10
then:
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay: 100ms
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 1
red: 0%
green: 0%
blue: 50%
- above: 10
below: 17
then:
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay: 100ms
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 3
red: 0%
green: 50%
blue: 50%
- above: 17
below: 22
then:
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay: 100ms
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 4
red: 0%
green: 50%
blue: 0%
- above: 22
below: 27
then:
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay: 100ms
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 6
red: 50%
green: 50%
blue: 0%
- above: 27
then:
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0%
- delay: 100ms
- light.addressable_set:
id: Strip_Temp
range_from: 0
range_to: 11
red: 50%
green: 0%
blue: 0%humidity:
name: “Humidity”
id: Humon_value:
then:
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 2
red: 0%
green: 50%
blue: 0%
on_value_range:
- below: 35
then:- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0% - delay : 100ms
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 1
red: 50%
green: 0%
blue: 0%
- light.addressable_set:
- above: 35
below: 45
then:- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0% - delay : 100ms
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 2
red: 50%
green: 50%
blue: 0%
- light.addressable_set:
- above: 45
below: 65
then:- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 4
red: 0%
green: 50%
blue: 0%
- light.addressable_set:
- above: 65
below: 75
then:- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0% - delay : 100ms
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 7
red: 50%
green: 50%
blue: 0%
- light.addressable_set:
- above: 75
then:- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 11
red: 0%
green: 0%
blue: 0% - delay : 100ms
- light.addressable_set:
id: Strip_Hum
range_from: 0
range_to: 7
red: 50%
green: 0%
blue: 0%
update_interval: 1s
- light.addressable_set:
- below: 1400
light:
- platform: fastled_clockless
chipset: WS2812b
id: Strip_Temp
pin: GPIO14
num_leds: 10
rgb_order: GRB
name: “Strip_Temp” - platform: fastled_clockless
chipset: WS2812b
id: Strip_CO2
pin: GPIO13
num_leds: 10
rgb_order: GRB
name: “Strip_CO2” - platform: fastled_clockless
chipset: WS2812b
id: Strip_Hum
pin: GPIO12
num_leds: 10
rgb_order: GRB
name: “Strip_Hum”>