Problem calibrating my SenseAir S8 Sensor

I recently created one of these DIY Air Quality Sensor stations which came with a senseair s8 sensor for measuring the current CO2 value.

This is the relevant configuration:

# Enable Home Assistant API
api:
  services:
    - service: sensair_background_calibrate
      then:
        - senseair.background_calibration: senseair_s8
    - service: sensair_background_calibration_result
      then:
        - senseair.background_calibration_result: senseair_s8
sensor:
  - platform: senseair
    uart_id: uart2
    id: senseair_s8
    co2:
      id: co2
      name: "BĂĽro CO2 Konzentration"
    update_interval: 60s

I thought it works pretty good first, but if I keep my window open for a longer period of time, the value (ppm) “drops” below zero, which results in an integer overflow and values of ~65535.

co2

I already tried using the senseair.background_calibration action, but it gave me something like SenseAir Result=OK (020000)

Any idea how to fix this?

Found this issue: Background calibration & ABC commands for SenseAir S8 not working · Issue #2444 · esphome/issues · GitHub and will try to set the logger to VERY_VERBOSE

didn’t work :frowning: My device can’t connect to my wifi after I changed the loglevel.

Ok, using the latest esphome version helped…there was an update I missed^^

1 Like

so setting it to very verbose solved the issue of not being able to calibrate?

Sadly no. The only thing that helped me was updating esphome to the latest version…

1 Like

Is it possible to add manual calibration button like in SCD30

Yes. Just add the action to a button.


sensor:
  - platform: senseair
    co2:
      name: "sensair_s8"
    update_interval: 60s
    id: sensair_s8

switch:
  - platform: template
    name: "Calibrate Sensair S8"
    id : "calibrate_s8"
    turn_on_action:
        - senseair.background_calibration: sensair_s8
        - logger.log: "Switch Turned On!"
        
  - platform: template
    name: "Result Calibrate Sensair S8"
    id : "result_calibrate_s8"
    turn_on_action:
        - senseair.background_calibration_result: sensair_s8

Is it possible to enter a manual calibration value as well?
The manual calibration of the s8 senseair runs at 400ppm, but it is said that there is already 420 in the atmosphere

It’s easy to add your own calibration values to sensors using filters.