10static const char *
const TAG =
"dht12";
18 const uint16_t raw_temperature = uint16_t(data[2]) * 10 + (data[3] & 0x7F);
20 if ((data[3] & 0x80) != 0) {
25 const uint16_t raw_humidity = uint16_t(data[0]) * 10 + data[1];
26 float humidity = raw_humidity / 10.0f;
28 ESP_LOGD(TAG,
"Got temperature=%.2f°C humidity=%.2f%%",
temperature, humidity);
43 ESP_LOGD(TAG,
"DHT12:");
46 ESP_LOGE(TAG, ESP_LOG_MSG_COMM_FAIL);
54 ESP_LOGW(TAG,
"Updating DHT12 failed!");
58 uint8_t
checksum = data[0] + data[1] + data[2] + data[3];
60 ESP_LOGW(TAG,
"DHT12 Checksum invalid!");
void mark_failed()
Mark this component as failed.
void status_set_warning()
void status_clear_warning()
void dump_config() override
sensor::Sensor * humidity_sensor_
sensor::Sensor * temperature_sensor_
bool read_data_(uint8_t *data)
bool read_bytes(uint8_t a_register, uint8_t *data, uint8_t len)
Compat APIs All methods below have been added for compatibility reasons.
void publish_state(float state)
Publish a new state to the front-end.