From 51af5be7787af196693a7927fa0f306bc7ea4e35 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Mon, 11 Aug 2025 14:48:08 +0200 Subject: [PATCH] Fix LwDecode.be colors - Add hot-reload to all vendor drivers --- tasmota/berry/lorawan/decoders/LwDecode.be | 18 ++++++++---------- .../lorawan/decoders/vendors/dragino/D20.be | 4 +++- .../lorawan/decoders/vendors/dragino/DDS75L.be | 4 +++- .../lorawan/decoders/vendors/dragino/LDS02.be | 4 +++- .../lorawan/decoders/vendors/dragino/LHT52.be | 4 +++- .../lorawan/decoders/vendors/dragino/LHT65.be | 5 ++++- .../decoders/vendors/dragino/PS-L-I5.be | 4 +++- .../lorawan/decoders/vendors/dragino/SE01-L.be | 4 +++- .../decoders/vendors/dragino/SN50v3L.be | 4 +++- .../lorawan/decoders/vendors/merryiot/DW10.be | 4 +++- .../decoders/vendors/milesight/WS202.be | 4 +++- .../decoders/vendors/milesight/WS301.be | 4 +++- .../decoders/vendors/milesight/WS522.be | 4 +++- 13 files changed, 45 insertions(+), 22 deletions(-) diff --git a/tasmota/berry/lorawan/decoders/LwDecode.be b/tasmota/berry/lorawan/decoders/LwDecode.be index 87f4987dd..fd26edb99 100644 --- a/tasmota/berry/lorawan/decoders/LwDecode.be +++ b/tasmota/berry/lorawan/decoders/LwDecode.be @@ -309,7 +309,6 @@ class lwdecode_cls end def header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen) - var color_text = format('%s', tasmota.webcolor(0)) var msg = format("%s", name_tooltip, name) if battery < 1000 @@ -319,15 +318,15 @@ class lwdecode_cls if batt_percent < 0 batt_percent = 0 end if batt_percent > 98 batt_percent = 98 end # 98% / 14px = 7 batt_percent /= 7 # 1..14px showing battery load - msg += format("", - battery, self.dhm(battery_last_seen), batt_percent, color_text) + msg += format("", + battery, self.dhm(battery_last_seen), batt_percent) elif battery >= 100000 && battery <= 100100 # battery already expressed in % var pbatt = battery - 100000 var batt_percent = pbatt if batt_percent > 98 batt_percent = 98 end # 98% / 14px = 7 batt_percent /= 7 # 1..14px showing battery load - msg += format("", - pbatt, self.dhm(battery_last_seen), batt_percent, color_text) + msg += format("", + pbatt, self.dhm(battery_last_seen), batt_percent) else msg += " " end @@ -344,7 +343,7 @@ class lwdecode_cls msg += " " end - msg += format("🕗%s", color_text, self.dhm(last_seen)) + msg += format("🕗%s", self.dhm(last_seen)) return msg end #sensor() @@ -367,8 +366,7 @@ class lwdecode_cls end if msg - var color_text = format('%s', tasmota.webcolor(0 #-COL_TEXT-#)) # '#eaeaea' - var full_msg = format("" # Terminate current two column table and open new table + var full_msg = format("" # Terminate current two column table and open new table "" "{t}%s{t}", - color_text, msg) + msg) self.web_msg_cache = full_msg self.cache_timeout = current_time + 5000 diff --git a/tasmota/berry/lorawan/decoders/vendors/dragino/D20.be b/tasmota/berry/lorawan/decoders/vendors/dragino/D20.be index 6d99c207d..abfa57e3d 100644 --- a/tasmota/berry/lorawan/decoders/vendors/dragino/D20.be +++ b/tasmota/berry/lorawan/decoders/vendors/dragino/D20.be @@ -6,7 +6,9 @@ import string -global.DrgD20Nodes = {} +if !global.DrgD20Nodes # data survive to decoder reload + global.DrgD20Nodes = {} +end class LwDecoDrgD20 static def decodeUplink(Name, Node, RSSI, FPort, Bytes) diff --git a/tasmota/berry/lorawan/decoders/vendors/dragino/DDS75L.be b/tasmota/berry/lorawan/decoders/vendors/dragino/DDS75L.be index 119ac4a37..30146a1c2 100644 --- a/tasmota/berry/lorawan/decoders/vendors/dragino/DDS75L.be +++ b/tasmota/berry/lorawan/decoders/vendors/dragino/DDS75L.be @@ -6,7 +6,9 @@ import string -global.dds75lbNodes = {} +if !global.dds75lbNodes # data survive to decoder reload + global.dds75lbNodes = {} +end class LwDecoDDS75LB static def decodeUplink(Name, Node, RSSI, FPort, Bytes) diff --git a/tasmota/berry/lorawan/decoders/vendors/dragino/LDS02.be b/tasmota/berry/lorawan/decoders/vendors/dragino/LDS02.be index 2e61518db..9c51b84fc 100644 --- a/tasmota/berry/lorawan/decoders/vendors/dragino/LDS02.be +++ b/tasmota/berry/lorawan/decoders/vendors/dragino/LDS02.be @@ -6,7 +6,9 @@ import string -global.lds02Nodes = {} +if !global.lds02Nodes # data survive to decoder reload + global.lds02Nodes = {} +end class LwDecoLDS02 static def decodeUplink(Name, Node, RSSI, FPort, Bytes) diff --git a/tasmota/berry/lorawan/decoders/vendors/dragino/LHT52.be b/tasmota/berry/lorawan/decoders/vendors/dragino/LHT52.be index 739a3b05a..222c4e486 100644 --- a/tasmota/berry/lorawan/decoders/vendors/dragino/LHT52.be +++ b/tasmota/berry/lorawan/decoders/vendors/dragino/LHT52.be @@ -6,7 +6,9 @@ import string -global.lht52Nodes = {} +if !global.lht52Nodes # data survive to decoder reload + global.lht52Nodes = {} +end class LwDecoLHT52 static def decodeUplink(Name, Node, RSSI, FPort, Bytes) diff --git a/tasmota/berry/lorawan/decoders/vendors/dragino/LHT65.be b/tasmota/berry/lorawan/decoders/vendors/dragino/LHT65.be index 61e9bddcb..2039fc4cd 100644 --- a/tasmota/berry/lorawan/decoders/vendors/dragino/LHT65.be +++ b/tasmota/berry/lorawan/decoders/vendors/dragino/LHT65.be @@ -6,7 +6,10 @@ import string var LHT65_BatteryStatus = ["Very low <= 2.5V","Low <=2.55V","OK","Good >= 2.65V"] -global.lht65Nodes = {} + +if !global.lht65Nodes # data survive to decoder reload + global.lht65Nodes = {} +end class LwDecoLHT65 static def decodeUplink(Name, Node, RSSI, FPort, Bytes) diff --git a/tasmota/berry/lorawan/decoders/vendors/dragino/PS-L-I5.be b/tasmota/berry/lorawan/decoders/vendors/dragino/PS-L-I5.be index 996b29c4f..4790c1c25 100644 --- a/tasmota/berry/lorawan/decoders/vendors/dragino/PS-L-I5.be +++ b/tasmota/berry/lorawan/decoders/vendors/dragino/PS-L-I5.be @@ -7,7 +7,9 @@ import string -global.psli5Nodes = {} +if !global.psli5Nodes # data survive to decoder reload + global.psli5Nodes = {} +end class LwDecoPSLI5 static def decodeUplink(Name, Node, RSSI, FPort, Bytes) diff --git a/tasmota/berry/lorawan/decoders/vendors/dragino/SE01-L.be b/tasmota/berry/lorawan/decoders/vendors/dragino/SE01-L.be index cdb95b2ca..3b9c8279a 100644 --- a/tasmota/berry/lorawan/decoders/vendors/dragino/SE01-L.be +++ b/tasmota/berry/lorawan/decoders/vendors/dragino/SE01-L.be @@ -8,7 +8,9 @@ import string -global.se01LNodes = {} +if !global.se01LNodes # data survive to decoder reload + global.se01LNodes = {} +end class LwDecoSE01L static def decodeUplink(Name, Node, RSSI, FPort, Bytes) diff --git a/tasmota/berry/lorawan/decoders/vendors/dragino/SN50v3L.be b/tasmota/berry/lorawan/decoders/vendors/dragino/SN50v3L.be index 5d6eec9b3..81aa46a77 100644 --- a/tasmota/berry/lorawan/decoders/vendors/dragino/SN50v3L.be +++ b/tasmota/berry/lorawan/decoders/vendors/dragino/SN50v3L.be @@ -6,7 +6,9 @@ import string -global.DrgSN50v3LNodes = {} +if !global.DrgSN50v3LNodes # data survive to decoder reload + global.DrgSN50v3LNodes = {} +end class LwDecoDrgSN50v3L static def decodeUplink(Name, Node, RSSI, FPort, Bytes) diff --git a/tasmota/berry/lorawan/decoders/vendors/merryiot/DW10.be b/tasmota/berry/lorawan/decoders/vendors/merryiot/DW10.be index 31b222e7e..46acba12e 100644 --- a/tasmota/berry/lorawan/decoders/vendors/merryiot/DW10.be +++ b/tasmota/berry/lorawan/decoders/vendors/merryiot/DW10.be @@ -6,7 +6,9 @@ import string -global.dw10Nodes = {} +if !global.dw10Nodes # data survive to decoder reload + global.dw10Nodes = {} +end class LwDecoDW10 static def decodeUplink(Name, Node, RSSI, FPort, Bytes) diff --git a/tasmota/berry/lorawan/decoders/vendors/milesight/WS202.be b/tasmota/berry/lorawan/decoders/vendors/milesight/WS202.be index c6366104b..ec6c5d8cb 100644 --- a/tasmota/berry/lorawan/decoders/vendors/milesight/WS202.be +++ b/tasmota/berry/lorawan/decoders/vendors/milesight/WS202.be @@ -6,7 +6,9 @@ import string -global.ws202Nodes = {} +if !global.ws202Nodes # data survive to decoder reload + global.ws202Nodes = {} +end class LwDecoWS202 static def decodeUplink(Name, Node, RSSI, FPort, Bytes) diff --git a/tasmota/berry/lorawan/decoders/vendors/milesight/WS301.be b/tasmota/berry/lorawan/decoders/vendors/milesight/WS301.be index c2e6dc424..dee79e879 100644 --- a/tasmota/berry/lorawan/decoders/vendors/milesight/WS301.be +++ b/tasmota/berry/lorawan/decoders/vendors/milesight/WS301.be @@ -6,7 +6,9 @@ import string -global.ws301Nodes = {} +if !global.ws301Nodes # data survive to decoder reload + global.ws301Nodes = {} +end class LwDecoWS301 static def decodeUplink(Name, Node, RSSI, FPort, Bytes) diff --git a/tasmota/berry/lorawan/decoders/vendors/milesight/WS522.be b/tasmota/berry/lorawan/decoders/vendors/milesight/WS522.be index e063a1efb..da779e74e 100644 --- a/tasmota/berry/lorawan/decoders/vendors/milesight/WS522.be +++ b/tasmota/berry/lorawan/decoders/vendors/milesight/WS522.be @@ -6,7 +6,9 @@ import string -global.ws522Nodes = {} +if !global.ws522Nodes # data survive to decoder reload + global.ws522Nodes = {} +end def uint16le(value) return string.format( "%02x%02x",