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