6#if defined(USE_ESP32_VARIANT_ESP32)
11#elif defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || \
12 defined(USE_ESP32_VARIANT_ESP32C5) || defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || \
13 defined(USE_ESP32_VARIANT_ESP32H2) || defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || \
14 defined(USE_ESP32_VARIANT_ESP32S3)
15#include "driver/temperature_sensor.h"
20static const char *
const TAG =
"internal_temperature.esp32";
22#if defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32C5) || \
23 defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || defined(USE_ESP32_VARIANT_ESP32H2) || \
24 defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
25static temperature_sensor_handle_t tsensNew = NULL;
31#if defined(USE_ESP32_VARIANT_ESP32)
33 ESP_LOGV(TAG,
"Raw temperature value: %d",
raw);
35 success = (
raw != 128);
36#elif defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || \
37 defined(USE_ESP32_VARIANT_ESP32C5) || defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || \
38 defined(USE_ESP32_VARIANT_ESP32H2) || defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || \
39 defined(USE_ESP32_VARIANT_ESP32S3)
40 esp_err_t result = temperature_sensor_get_celsius(tsensNew, &
temperature);
41 success = (result == ESP_OK);
43 ESP_LOGE(TAG,
"Reading failed (%d)", result);
50 ESP_LOGD(TAG,
"Ignoring invalid temperature (success=%d, value=%.1f)", success,
temperature);
58#if defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32C5) || \
59 defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || defined(USE_ESP32_VARIANT_ESP32H2) || \
60 defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3)
61 temperature_sensor_config_t tsens_config = TEMPERATURE_SENSOR_CONFIG_DEFAULT(-10, 80);
63 esp_err_t result = temperature_sensor_install(&tsens_config, &tsensNew);
64 if (result != ESP_OK) {
65 ESP_LOGE(TAG,
"Install failed (%d)", result);
70 result = temperature_sensor_enable(tsensNew);
71 if (result != ESP_OK) {
72 ESP_LOGE(TAG,
"Enabling failed (%d)", result);
void mark_failed()
Mark this component as failed.
void publish_state(float state)
Publish a new state to the front-end.
uint8_t temprature_sens_read()