ESPHome 2025.5.0
Loading...
Searching...
No Matches
ccs811.h
Go to the documentation of this file.
1#pragma once
2
8
9namespace esphome {
10namespace ccs811 {
11
13 public:
14 void set_co2(sensor::Sensor *co2) { co2_ = co2; }
15 void set_tvoc(sensor::Sensor *tvoc) { tvoc_ = tvoc; }
16 void set_version(text_sensor::TextSensor *version) { version_ = version; }
17 void set_baseline(uint16_t baseline) { baseline_ = baseline; }
18 void set_humidity(sensor::Sensor *humidity) { humidity_ = humidity; }
20
22 void setup() override;
24 void update() override;
25
26 void dump_config() override;
27
28 float get_setup_priority() const override { return setup_priority::DATA; }
29
30 protected:
31 optional<uint8_t> read_status_() { return this->read_byte(0x00); }
32 bool status_has_error_() { return this->read_status_().value_or(1) & 1; }
33 bool status_app_is_valid_() { return this->read_status_().value_or(0) & (1 << 4); }
34 bool status_has_data_() { return this->read_status_().value_or(0) & (1 << 3); }
35 void send_env_data_();
36
45
54};
55
56} // namespace ccs811
57} // namespace esphome
This class simplifies creating components that periodically check a state.
Definition component.h:301
enum esphome::ccs811::CCS811Component::ErrorCode UNKNOWN
optional< uint16_t > baseline_
Definition ccs811.h:49
void set_version(text_sensor::TextSensor *version)
Definition ccs811.h:16
void set_humidity(sensor::Sensor *humidity)
Definition ccs811.h:18
text_sensor::TextSensor * version_
Definition ccs811.h:48
sensor::Sensor * temperature_
Input sensor for temperature reading.
Definition ccs811.h:53
void set_baseline(uint16_t baseline)
Definition ccs811.h:17
void set_co2(sensor::Sensor *co2)
Definition ccs811.h:14
void set_temperature(sensor::Sensor *temperature)
Definition ccs811.h:19
void set_tvoc(sensor::Sensor *tvoc)
Definition ccs811.h:15
optional< uint8_t > read_status_()
Definition ccs811.h:31
sensor::Sensor * humidity_
Input sensor for humidity reading.
Definition ccs811.h:51
float get_setup_priority() const override
Definition ccs811.h:28
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:133
bool read_byte(uint8_t a_register, uint8_t *data, bool stop=true)
Definition i2c.h:239
value_type value_or(U const &v) const
Definition optional.h:93
Base-class for all sensors.
Definition sensor.h:57
const float DATA
For components that import data from directly connected sensors like DHT.
Definition component.cpp:19
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7
uint16_t temperature
Definition sun_gtil2.cpp:12