1
0
mirror of https://github.com/esphome/esphome.git synced 2025-09-17 18:52:19 +01:00
This commit is contained in:
J. Nick Koston
2025-06-12 15:46:56 -05:00
parent 9b0d01e03f
commit e83f4ae974

View File

@@ -296,7 +296,7 @@ void ESP32TouchComponent::loop() {
// Find the child for the pad that triggered the interrupt // Find the child for the pad that triggered the interrupt
for (auto *child : this->children_) { for (auto *child : this->children_) {
if (child->get_touch_pad() == event.pad) { if (child->get_touch_pad() == event.pad an && d child->last_state_ != is_touch_event) {
// Read current value // Read current value
uint32_t value = 0; uint32_t value = 0;
if (this->filter_configured_()) { if (this->filter_configured_()) {
@@ -305,13 +305,10 @@ void ESP32TouchComponent::loop() {
touch_pad_read_benchmark(event.pad, &value); touch_pad_read_benchmark(event.pad, &value);
} }
// Update state if changed child->last_state_ = is_touch_event;
if (child->last_state_ != is_touch_event) { child->publish_state(is_touch_event);
child->last_state_ = is_touch_event; ESP_LOGD(TAG, "Touch Pad '%s' %s (value: %d, threshold: %d)", child->get_name().c_str(),
child->publish_state(is_touch_event); is_touch_event ? "touched" : "released", value, child->get_threshold());
ESP_LOGD(TAG, "Touch Pad '%s' %s (value: %d, threshold: %d)", child->get_name().c_str(),
is_touch_event ? "touched" : "released", value, child->get_threshold());
}
break; break;
} }
} }