ESPHome 2026.5.1
Loading...
Searching...
No Matches
sgp30.h
Go to the documentation of this file.
1#pragma once
2
7
8#include <cinttypes>
9#include <cmath>
10
11namespace esphome::sgp30 {
12
14 uint16_t eco2;
15 uint16_t tvoc;
17
20 public:
23 void set_eco2_baseline_sensor(sensor::Sensor *eco2_baseline) { eco2_sensor_baseline_ = eco2_baseline; }
24 void set_tvoc_baseline_sensor(sensor::Sensor *tvoc_baseline) { tvoc_sensor_baseline_ = tvoc_baseline; }
25 void set_store_baseline(bool store_baseline) { store_baseline_ = store_baseline; }
26 void set_eco2_baseline(uint16_t eco2_baseline) { eco2_baseline_ = eco2_baseline; }
27 void set_tvoc_baseline(uint16_t tvoc_baseline) { tvoc_baseline_ = tvoc_baseline; }
28 void set_humidity_sensor(sensor::Sensor *humidity) { humidity_sensor_ = humidity; }
30
31 void setup() override;
32 void update() override;
33 void dump_config() override;
34
35 protected:
36 void send_env_data_();
37 void read_iaq_baseline_();
39 void write_iaq_baseline_(uint16_t eco2_baseline, uint16_t tvoc_baseline);
40
44 uint16_t featureset_;
45 uint16_t eco2_baseline_{0x0000};
46 uint16_t tvoc_baseline_{0x0000};
48
56
59
67};
68
69} // namespace esphome::sgp30
This class simplifies creating components that periodically check a state.
Definition component.h:602
Base-class for all sensors.
Definition sensor.h:47
This class implements support for the Sensirion SGP30 i2c GAS (VOC and CO2eq) sensors.
Definition sgp30.h:19
void set_tvoc_sensor(sensor::Sensor *tvoc)
Definition sgp30.h:22
sensor::Sensor * eco2_sensor_baseline_
Definition sgp30.h:62
sensor::Sensor * temperature_sensor_
Definition sgp30.h:66
SGP30Baselines baselines_storage_
Definition sgp30.h:58
sensor::Sensor * tvoc_sensor_
Definition sgp30.h:61
sensor::Sensor * tvoc_sensor_baseline_
Definition sgp30.h:63
void set_tvoc_baseline_sensor(sensor::Sensor *tvoc_baseline)
Definition sgp30.h:24
void set_humidity_sensor(sensor::Sensor *humidity)
Definition sgp30.h:28
void set_eco2_baseline(uint16_t eco2_baseline)
Definition sgp30.h:26
sensor::Sensor * humidity_sensor_
Input sensor for humidity and temperature compensation.
Definition sgp30.h:65
void set_tvoc_baseline(uint16_t tvoc_baseline)
Definition sgp30.h:27
uint32_t seconds_since_last_store_
Definition sgp30.h:43
void set_eco2_sensor(sensor::Sensor *eco2)
Definition sgp30.h:21
ESPPreferenceObject pref_
Definition sgp30.h:57
void write_iaq_baseline_(uint16_t eco2_baseline, uint16_t tvoc_baseline)
Definition sgp30.cpp:211
void set_temperature_sensor(sensor::Sensor *temperature)
Definition sgp30.h:29
void dump_config() override
Definition sgp30.cpp:227
enum esphome::sgp30::SGP30Component::ErrorCode UNKNOWN
sensor::Sensor * eco2_sensor_
Definition sgp30.h:60
void set_store_baseline(bool store_baseline)
Definition sgp30.h:25
void set_eco2_baseline_sensor(sensor::Sensor *eco2_baseline)
Definition sgp30.h:23
struct esphome::sgp30::SGP30Baselines PACKED
static void uint32_t
uint16_t temperature
Definition sun_gtil2.cpp:12