diff --git a/esphome/components/esp32_touch/esp32_touch.cpp b/esphome/components/esp32_touch/esp32_touch.cpp index e18b9aa362..d2e462bcbe 100644 --- a/esphome/components/esp32_touch/esp32_touch.cpp +++ b/esphome/components/esp32_touch/esp32_touch.cpp @@ -427,37 +427,9 @@ void ESP32TouchComponent::loop() { const uint32_t now = App.get_loop_component_start_time(); bool should_print = now - this->setup_mode_last_log_print_ > 1000; // Log every second - // Always check touch status periodically - if (should_print) { - uint32_t current_status = touch_pad_get_status(); - uint32_t hal_status; - touch_ll_read_trigger_status_mask(&hal_status); - - // Check if FSM is still in timer mode - touch_fsm_mode_t fsm_mode; - touch_pad_get_fsm_mode(&fsm_mode); - - ESP_LOGD(TAG, "Current touch status: 0x%04x (HAL: 0x%04x), FSM: %s", current_status, hal_status, - fsm_mode == TOUCH_FSM_MODE_TIMER ? "TIMER" : "SW"); - - // Try a manual software trigger to see if measurements are working at all - if (current_status == 0 && hal_status == 0) { - ESP_LOGD(TAG, "No touch status, trying manual trigger..."); - touch_pad_sw_start(); - } - - for (auto *child : this->children_) { - uint32_t value = this->component_touch_pad_read(child->get_touch_pad()); - // Touch detection logic differs between ESP32 variants -#if defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) - bool is_touched = value > child->get_threshold(); -#else - bool is_touched = value < child->get_threshold(); -#endif - ESP_LOGD(TAG, "Touch Pad '%s' (T%" PRIu32 "): value=%" PRIu32 ", threshold=%" PRIu32 ", touched=%s", - child->get_name().c_str(), (uint32_t) child->get_touch_pad(), value, child->get_threshold(), - is_touched ? "YES" : "NO"); - } + if (this->setup_mode_ && should_print) { + ESP_LOGD(TAG, "Touch Pad '%s' (T%u): value=NA", this->children_[0]->get_name().c_str(), + this->children_[0]->get_touch_pad()); this->setup_mode_last_log_print_ = now; }