1
0
mirror of https://github.com/esphome/esphome.git synced 2025-09-03 20:02:22 +01:00
Files
esphome/esphome/components/sen21231/sen21231.cpp
2025-05-29 01:59:38 -05:00

33 lines
936 B
C++

#include "sen21231.h"
#include "esphome/core/log.h"
namespace esphome {
namespace sen21231_sensor {
static const char *const TAG = "sen21231_sensor.sensor";
void Sen21231Sensor::update() { this->read_data_(); }
void Sen21231Sensor::dump_config() {
ESP_LOGCONFIG(TAG, "SEN21231:");
LOG_I2C_DEVICE(this);
if (this->is_failed()) {
ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
}
ESP_LOGI(TAG, "SEN21231: %s", this->is_failed() ? "FAILED" : "OK");
LOG_UPDATE_INTERVAL(this);
}
void Sen21231Sensor::read_data_() {
person_sensor_results_t results;
this->read_bytes(PERSON_SENSOR_I2C_ADDRESS, (uint8_t *) &results, sizeof(results));
ESP_LOGD(TAG, "SEN21231: %d faces detected", results.num_faces);
this->publish_state(results.num_faces);
if (results.num_faces == 1) {
ESP_LOGD(TAG, "SEN21231: is facing towards camera: %d", results.faces[0].is_facing);
}
}
} // namespace sen21231_sensor
} // namespace esphome