22static const uint8_t D01_FRAME_HEADER = 0xA5;
29 if (this->
peek() != D01_FRAME_HEADER) {
34 uint8_t sum = (buf[0] + buf[1] + buf[2]) & 0x7F;
36 ESP_LOGW(TAG,
"checksum mismatch");
39 uint16_t latest_concentration = (buf[1] & 0x7F) * 128 + (buf[2] & 0x7F);
40 ESP_LOGV(TAG,
"Unadjusted PM2.5 Concentration: %d µg/m³", latest_concentration);
void dump_config() override
void publish_state(float state)
Publish a new state to the front-end.
optional< std::array< uint8_t, N > > read_array()
ESPHOME_LOG_TAG(TAG, "d01")