ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
ccs811.h
Go to the documentation of this file.
1#pragma once
2
8
9namespace esphome::ccs811 {
10
12 public:
13 void set_co2(sensor::Sensor *co2) { co2_ = co2; }
14 void set_tvoc(sensor::Sensor *tvoc) { tvoc_ = tvoc; }
15 void set_version(text_sensor::TextSensor *version) { version_ = version; }
16 void set_baseline(uint16_t baseline) { baseline_ = baseline; }
17 void set_humidity(sensor::Sensor *humidity) { humidity_ = humidity; }
19
21 void setup() override;
23 void update() override;
24
25 void dump_config() override;
26
27 protected:
28 optional<uint8_t> read_status_() { return this->read_byte(0x00); }
29 bool status_has_error_() { return this->read_status_().value_or(1) & 1; }
30 bool status_app_is_valid_() { return this->read_status_().value_or(0) & (1 << 4); }
31 bool status_has_data_() { return this->read_status_().value_or(0) & (1 << 3); }
32 void send_env_data_();
33
42
46 optional<uint16_t> baseline_{};
51};
52
53} // namespace esphome::ccs811
This class simplifies creating components that periodically check a state.
Definition component.h:585
enum esphome::ccs811::CCS811Component::ErrorCode UNKNOWN
optional< uint16_t > baseline_
Definition ccs811.h:46
void set_version(text_sensor::TextSensor *version)
Definition ccs811.h:15
void set_humidity(sensor::Sensor *humidity)
Definition ccs811.h:17
text_sensor::TextSensor * version_
Definition ccs811.h:45
sensor::Sensor * temperature_
Input sensor for temperature reading.
Definition ccs811.h:50
void set_baseline(uint16_t baseline)
Definition ccs811.h:16
void set_co2(sensor::Sensor *co2)
Definition ccs811.h:13
void set_temperature(sensor::Sensor *temperature)
Definition ccs811.h:18
void set_tvoc(sensor::Sensor *tvoc)
Definition ccs811.h:14
optional< uint8_t > read_status_()
Definition ccs811.h:28
sensor::Sensor * humidity_
Input sensor for humidity reading.
Definition ccs811.h:48
void setup() override
Setup the sensor and test for a connection.
Definition ccs811.cpp:22
void update() override
Schedule temperature+pressure readings.
Definition ccs811.cpp:89
This Class provides the methods to read/write bytes from/to an i2c device.
Definition i2c.h:132
bool read_byte(uint8_t a_register, uint8_t *data)
Definition i2c.h:240
Base-class for all sensors.
Definition sensor.h:47
uint16_t temperature
Definition sun_gtil2.cpp:12