ESPHome  2024.5.2
ens160.h
Go to the documentation of this file.
1 #pragma once
2 
6 
7 namespace esphome {
8 namespace ens160 {
9 
11  public:
12  void set_co2(sensor::Sensor *co2) { co2_ = co2; }
13  void set_tvoc(sensor::Sensor *tvoc) { tvoc_ = tvoc; }
14  void set_aqi(sensor::Sensor *aqi) { aqi_ = aqi; }
15 
16  void set_humidity(sensor::Sensor *humidity) { humidity_ = humidity; }
18 
19  void setup() override;
20  void update() override;
21  void dump_config() override;
22  float get_setup_priority() const override { return setup_priority::DATA; }
23 
24  protected:
25  void send_env_data_();
26 
27  enum ErrorCode {
28  NONE = 0,
35  } error_code_{NONE};
36 
37  enum ValidityFlag {
43 
44  bool warming_up_{false};
45  bool initial_startup_{false};
46 
47  uint8_t firmware_ver_major_{0};
48  uint8_t firmware_ver_minor_{0};
49  uint8_t firmware_ver_build_{0};
50 
51  sensor::Sensor *co2_{nullptr};
52  sensor::Sensor *tvoc_{nullptr};
53  sensor::Sensor *aqi_{nullptr};
54 
57 };
58 
59 } // namespace ens160
60 } // namespace esphome
void set_temperature(sensor::Sensor *temperature)
Definition: ens160.h:17
const float DATA
For components that import data from directly connected sensors like DHT.
Definition: component.cpp:19
sensor::Sensor * humidity_
Definition: ens160.h:55
float get_setup_priority() const override
Definition: ens160.h:22
sensor::Sensor * aqi_
Definition: ens160.h:53
sensor::Sensor * tvoc_
Definition: ens160.h:52
This class simplifies creating components that periodically check a state.
Definition: component.h:283
void set_humidity(sensor::Sensor *humidity)
Definition: ens160.h:16
void set_tvoc(sensor::Sensor *tvoc)
Definition: ens160.h:13
uint16_t temperature
Definition: sun_gtil2.cpp:26
sensor::Sensor * co2_
Definition: ens160.h:51
void set_aqi(sensor::Sensor *aqi)
Definition: ens160.h:14
This is a workaround until we can figure out a way to get the tflite-micro idf component code availab...
Definition: a01nyub.cpp:7
sensor::Sensor * temperature_
Definition: ens160.h:56
Base-class for all sensors.
Definition: sensor.h:57
This Class provides the methods to read/write bytes from/to an i2c device.
Definition: i2c.h:133
enum esphome::ens160::ENS160Component::ErrorCode NONE
enum esphome::ens160::ENS160Component::ValidityFlag validity_flag_
void set_co2(sensor::Sensor *co2)
Definition: ens160.h:12