From 0cb2de76d1ece55dcb85f528a95d4665ccfb65e1 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Mon, 6 Apr 2026 12:54:13 +0200 Subject: [PATCH] Fix LoRaWan millis overflow (#24373) - Fix lock/unlock icons --- .../berry/extensions/LoRaWan_Decoders.tapp | Bin 101393 -> 98681 bytes .../berry/extensions/LoRaWan_Decoders/DW10.be | 2 +- .../extensions/LoRaWan_Decoders/LDS02.be | 2 +- .../extensions/LoRaWan_Decoders/LHT65.be | 2 +- .../extensions/LoRaWan_Decoders/changelog.md | 5 +++++ .../extensions/LoRaWan_Decoders/filelist | 12 ++++++------ .../LoRaWan_Decoders/lorawan_decoders.be | 6 ++---- .../extensions/LoRaWan_Decoders/manifest.json | 2 +- 8 files changed, 17 insertions(+), 14 deletions(-) diff --git a/tasmota/berry/extensions/LoRaWan_Decoders.tapp b/tasmota/berry/extensions/LoRaWan_Decoders.tapp index 8cefd1b15c213f40a7f7eb7ceedf90a04b3dfba9..ad188a1d62ea7256388c7aa6764cb607ddcf9387 100644 GIT binary patch delta 24344 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 literal 101393 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

Q_B7GC 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 yy%mqqg6vC(&+ end diff --git a/tasmota/berry/extensions/LoRaWan_Decoders/LDS02.be b/tasmota/berry/extensions/LoRaWan_Decoders/LDS02.be index a024bc4a2..50a84875b 100644 --- a/tasmota/berry/extensions/LoRaWan_Decoders/LDS02.be +++ b/tasmota/berry/extensions/LoRaWan_Decoders/LDS02.be @@ -82,7 +82,7 @@ class LwDecoLDS02 var door_open = sensor[6] var door_open_last_seen = sensor[7] msg += "┆" # | - msg += string.format(" %s %s", (door_open) ? "🔓" : "🔒", # Open or Closed lock - Door + msg += string.format(" %s %s", (door_open) ? "🔓" : "🔒", # Open or Closed lock - Door fmt.dhm(door_open_last_seen)) msg += "{e}" # = end diff --git a/tasmota/berry/extensions/LoRaWan_Decoders/LHT65.be b/tasmota/berry/extensions/LoRaWan_Decoders/LHT65.be index 4c90dcf70..e9318f620 100644 --- a/tasmota/berry/extensions/LoRaWan_Decoders/LHT65.be +++ b/tasmota/berry/extensions/LoRaWan_Decoders/LHT65.be @@ -195,7 +195,7 @@ class LwDecoLHT65 msg += string.format(" ☀️ ext %.1f°C", temp_ext) # Sunshine - Temperature external end if door_open < 1000 - msg += string.format(" %s %s", (door_open) ? "🔓" : "🔒", # Open or Closed lock - Door + msg += string.format(" %s %s", (door_open) ? "🔓" : "🔒", # Open or Closed lock - Door fmt.dhm(door_open_last_seen)) end msg += "{e}" # = diff --git a/tasmota/berry/extensions/LoRaWan_Decoders/changelog.md b/tasmota/berry/extensions/LoRaWan_Decoders/changelog.md index 93ee8a611..e0d30ae71 100644 --- a/tasmota/berry/extensions/LoRaWan_Decoders/changelog.md +++ b/tasmota/berry/extensions/LoRaWan_Decoders/changelog.md @@ -1,5 +1,10 @@ # Changelog +[v26.4.6.0] +### Fixed +- GUI cache timer overflow +- Lock/Unlock icons + [v25.1.19.0] ### Changed - LoRaWan End Device configuration Decoder File drop down box based on decoder files within `LoRaWan_Decoders.tapp` using function `path.listdir(<.tapp file>)` from Tasmota v15.2.0.3 before using the filelist (Theo Arends) diff --git a/tasmota/berry/extensions/LoRaWan_Decoders/filelist b/tasmota/berry/extensions/LoRaWan_Decoders/filelist index 690c8e637..c72ff84b7 100644 --- a/tasmota/berry/extensions/LoRaWan_Decoders/filelist +++ b/tasmota/berry/extensions/LoRaWan_Decoders/filelist @@ -1,18 +1,18 @@ +autoexec.be +changelog.md D20.be DDS75L.be DW10.be +filelist LDS02.be LHT52.be LHT65.be +lorawan_decoders.be +manifest.json PS-L-I5.be SE01-L.be SN50v3L.be +walker.be WS202.be WS301.be WS522.be -autoexec.be -changelog.md -filelist -lorawan_decoders.be -manifest.json -walker.be diff --git a/tasmota/berry/extensions/LoRaWan_Decoders/lorawan_decoders.be b/tasmota/berry/extensions/LoRaWan_Decoders/lorawan_decoders.be index f664237fb..8859df526 100644 --- a/tasmota/berry/extensions/LoRaWan_Decoders/lorawan_decoders.be +++ b/tasmota/berry/extensions/LoRaWan_Decoders/lorawan_decoders.be @@ -615,9 +615,7 @@ class lorawan_decoders Called every WebRefresh time ------------------------------------------------------------# def web_sensor() - var current_time = tasmota.millis() - - if current_time < self.cache_timeout + if !tasmota.time_reached(self.cache_timeout) tasmota.web_send_decimal(self.web_msg_cache) return end @@ -644,7 +642,7 @@ class lorawan_decoders msg) self.web_msg_cache = full_msg - self.cache_timeout = current_time + 5000 + self.cache_timeout = tasmota.millis() + 5000 tasmota.web_send_decimal(full_msg) end end diff --git a/tasmota/berry/extensions/LoRaWan_Decoders/manifest.json b/tasmota/berry/extensions/LoRaWan_Decoders/manifest.json index 93047ae90..847dce154 100644 --- a/tasmota/berry/extensions/LoRaWan_Decoders/manifest.json +++ b/tasmota/berry/extensions/LoRaWan_Decoders/manifest.json @@ -1,6 +1,6 @@ { "name": "LoRaWan Decoders", - "version": "0x1A011300", + "version": "0x1A040600", "description": "Decode LoRaWan devices", "author": "Theo Arends", "min_tasmota": "0x0E060001",