ESPHome 2025.12.2
Loading...
Searching...
No Matches
sps30.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace esphome {
8namespace sps30 {
9
13 public:
22 void set_pmc_10_0_sensor(sensor::Sensor *pmc_10_0) { pmc_10_0_sensor_ = pmc_10_0; }
23
25 void set_auto_cleaning_interval(uint32_t auto_cleaning_interval) { fan_interval_ = auto_cleaning_interval; }
26 void set_idle_interval(uint32_t idle_interval) { idle_interval_ = idle_interval; }
27 void setup() override;
28 void update() override;
29 void dump_config() override;
30
31 bool start_fan_cleaning();
32 bool stop_measurement();
33 bool start_measurement();
34
35 protected:
36 bool setup_complete_{false};
38 char serial_number_[17] = {0};
40 uint32_t next_state_ms_ = 0;
41
42 enum NextState : uint8_t { WAKE, READ, NONE } next_state_{NONE};
43
45
55
68};
69
70} // namespace sps30
71} // namespace esphome
This class simplifies creating components that periodically check a state.
Definition component.h:474
Base-class for all sensors.
Definition sensor.h:43
This class implements support for the Sensirion SPS30 i2c/UART Particulate Matter PM1....
Definition sps30.h:12
void set_idle_interval(uint32_t idle_interval)
Definition sps30.h:26
void set_auto_cleaning_interval(uint32_t auto_cleaning_interval)
Definition sps30.h:25
void set_pm_10_0_sensor(sensor::Sensor *pm_10_0)
Definition sps30.h:17
sensor::Sensor * pm_2_5_sensor_
Definition sps30.h:57
optional< uint32_t > fan_interval_
Definition sps30.h:66
void set_pmc_1_0_sensor(sensor::Sensor *pmc_1_0)
Definition sps30.h:19
void set_pmc_0_5_sensor(sensor::Sensor *pmc_0_5)
Definition sps30.h:18
void set_pm_size_sensor(sensor::Sensor *pm_size)
Definition sps30.h:24
void set_pm_1_0_sensor(sensor::Sensor *pm_1_0)
Definition sps30.h:14
sensor::Sensor * pmc_4_0_sensor_
Definition sps30.h:63
sensor::Sensor * pmc_2_5_sensor_
Definition sps30.h:62
sensor::Sensor * pm_10_0_sensor_
Definition sps30.h:59
uint8_t skipped_data_read_cycles_
Terminating NULL character.
Definition sps30.h:39
enum esphome::sps30::SPS30Component::NextState NONE
void set_pmc_4_0_sensor(sensor::Sensor *pmc_4_0)
Definition sps30.h:21
void set_pmc_10_0_sensor(sensor::Sensor *pmc_10_0)
Definition sps30.h:22
enum esphome::sps30::SPS30Component::ErrorCode UNKNOWN
sensor::Sensor * pm_1_0_sensor_
Definition sps30.h:56
void set_pmc_2_5_sensor(sensor::Sensor *pmc_2_5)
Definition sps30.h:20
sensor::Sensor * pm_size_sensor_
Definition sps30.h:65
void dump_config() override
Definition sps30.cpp:74
sensor::Sensor * pmc_0_5_sensor_
Definition sps30.h:60
void set_pm_2_5_sensor(sensor::Sensor *pm_2_5)
Definition sps30.h:15
sensor::Sensor * pm_4_0_sensor_
Definition sps30.h:58
optional< uint32_t > idle_interval_
Definition sps30.h:67
void set_pm_4_0_sensor(sensor::Sensor *pm_4_0)
Definition sps30.h:16
sensor::Sensor * pmc_10_0_sensor_
Definition sps30.h:64
sensor::Sensor * pmc_1_0_sensor_
Definition sps30.h:61
Providing packet encoding functions for exchanging data with a remote host.
Definition a01nyub.cpp:7