Hi.
I have SCD30 connected to a ESP8266. First tried to use the auto calibration, but then value where around 300ppm inside. Then added the manual calibration function. Placed the unit outside for 1hour, and calibrated to 425ppm. Then placed the unit inside again. Then it raised to around 700ppm. And now the sensor is back to 372ppm overnight. I have another SCD30 unit with ESP3266, same procedures is used to calibrate it, this sensor is now showing 415ppm.
Added the code below. Do anyone know whats wrong or causing this? In general Im happy to have low CO2 ppm inside. But better then fresh air outside is most likely to good to be true:P
i2c:
sda: GPIO4
scl: GPIO5
scan: true
id: bus_a
sensor:
- platform: scd30
co2:
name: "Soverom CO2"
accuracy_decimals: 1
temperature:
name: "Soverom Temperature"
accuracy_decimals: 2
humidity:
name: "Soverom Humidity"
accuracy_decimals: 1
temperature_offset: 3.92 °C
automatic_self_calibration: False
address: 0x61
update_interval: 60s
- platform: wifi_signal
name: "WiFi Signal Sensor"
update_interval: 60s
# Example on how to implement a UI section in HA for manual calibration.
# Note: Please enter first a CO2 value before pressing the button.
button:
- platform: template
name: "SCD30 Force manual calibration"
entity_category: "config"
on_press:
then:
- scd30.force_recalibration_with_reference:
value: !lambda 'return id(co2_cal).state;'
number:
- platform: template
name: "CO2 calibration value"
optimistic: true
min_value: 425
max_value: 40000
step: 1
id: co2_cal
icon: "mdi:molecule-co2"
entity_category: "config"
I just started the unit, placed it outside and running for one hour. Before I sent the force calibration command. So not sure if that enough? Is it storing the calibration value in the sensor? Just thinking if the sensor is restarted.
If the calibration is programmed correctly. One should have a look at the component library to be sure. Is it operating the sensor in continuous mode or not…
You need to be able to read code and datasheets to verify it.
What about self-calibration? I would trust more that than the field calibration implementation in esphome.
From datasheet: 1.4.6 (De-)Activate Automatic Self-Calibration (ASC) Continuous automatic self-calibration can be (de-)activated with the following command. When activated for the first time a period of minimum 7 days is needed so that the algorithm can find its initial parameter set for ASC. The sensor has to be exposed to fresh air for at least 1 hour every day. Also during that period, the sensor may not be disconnected from the power supply, otherwise the procedure to find calibration parameters is aborted and has to be restarted from the beginning. The successfully calculated parameters are stored in non-volatile memory of the SCD30 having the effect that after a restart the previously found parameters for ASC are still present. Note that the most recently found self-calibration parameters will be actively used for selfcalibration disregarding the status of this feature. Finding a new parameter set by the here described method will always overwrite the settings from external recalibration (see chapter 0) and vice-versa. The feature is switched off by default. To work properly SCD30 has to see fresh air on a regular basis. Optimal working conditions are given when the sensor sees fresh air for one hour every day so that ASC can constantly re-calibrate. ASC only works in continuous measurement mode.
Thanks. Make sense why its a bit off, so if I undertand i correctly. I need to put it outside for a week. And then need to take it outside now and then to ensure its calibrated. Its a bit circumstantial way but.
Maybe I need to find another alternative. do you have experiance with similar sensors?
I have placed the sensor outside now. So will monitor it the next days,
Current state: Sensor1: CO2 395.7ppm - Sensor2 CO2 354.7ppm both is placed next to each other and been running for around 3hours