From 1795b5b439ab2d13175b702aba487c9f8ee4d72d Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Mon, 29 Dec 2025 16:46:14 +0100 Subject: [PATCH] Fix GDK101 power on detection (#24242) --- CHANGELOG.md | 1 + RELEASENOTES.md | 1 + tasmota/tasmota_xsns_sensor/xsns_106_gdk101.ino | 9 +++++---- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a043a7870..6fbc12f5f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ All notable changes to this project will be documented in this file. ### Fixed - ESP32 BLE not starting (#24240) +- GDK101 power on detection (#24242) ### Removed diff --git a/RELEASENOTES.md b/RELEASENOTES.md index 4520a4658..fd7f31aab 100644 --- a/RELEASENOTES.md +++ b/RELEASENOTES.md @@ -126,6 +126,7 @@ The latter links can be used for OTA upgrades too like ``OtaUrl https://ota.tasm ### Fixed - ESP8266 TasmotaSerial flush receive buffer on executing `TasmotaSerial.flush();` - ESP32-P4 unique MQTT Client based on hosted MCU MAC address +- GDK101 power on detection [#24242](https://github.com/arendst/Tasmota/issues/24242) - DALI watchdog exception - TuyaMCU v1 exception 28 regression from v15.1.0.1 reverted PR24063 [#24220](https://github.com/arendst/Tasmota/issues/24220) - ESP32 BLE not starting [#24240](https://github.com/arendst/Tasmota/issues/24240) diff --git a/tasmota/tasmota_xsns_sensor/xsns_106_gdk101.ino b/tasmota/tasmota_xsns_sensor/xsns_106_gdk101.ino index cdccf5ce8..19c260021 100644 --- a/tasmota/tasmota_xsns_sensor/xsns_106_gdk101.ino +++ b/tasmota/tasmota_xsns_sensor/xsns_106_gdk101.ino @@ -256,10 +256,11 @@ bool Xsns106(uint32_t function) { bool result = false; - if (FUNC_INIT == function) { - Gdk101Detect(); - } - else if (Gdk.ready) { + if (!Gdk.ready) { + if ((TasmotaGlobal.uptime < 20) && (FUNC_EVERY_SECOND == function)) { + Gdk101Detect(); // GDK101 power on ready can take 8 seconds so try every second for up to 20 seconds + } + } else { switch (function) { case FUNC_EVERY_SECOND: Gdk101EverySecond();