mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-28 13:16:32 +00:00
Allow LoRaWanName as GUI name
This commit is contained in:
parent
010de30400
commit
a273684902
@ -31,7 +31,7 @@ class lwdecode_cls
|
|||||||
|
|
||||||
var deviceData = data['LwReceived']
|
var deviceData = data['LwReceived']
|
||||||
var deviceName = deviceData.keys()()
|
var deviceName = deviceData.keys()()
|
||||||
var Device = deviceData[deviceName]['Name']
|
var Name = deviceData[deviceName]['Name']
|
||||||
var Node = deviceData[deviceName]['Node']
|
var Node = deviceData[deviceName]['Node']
|
||||||
var RSSI = deviceData[deviceName]['RSSI']
|
var RSSI = deviceData[deviceName]['RSSI']
|
||||||
var Payload = deviceData[deviceName]['Payload']
|
var Payload = deviceData[deviceName]['Payload']
|
||||||
@ -50,7 +50,7 @@ class lwdecode_cls
|
|||||||
end
|
end
|
||||||
|
|
||||||
if Payload.size() && self.LwDecoders.find(decoder)
|
if Payload.size() && self.LwDecoders.find(decoder)
|
||||||
var decoded = self.LwDecoders[decoder].decodeUplink(Node, RSSI, FPort, Payload)
|
var decoded = self.LwDecoders[decoder].decodeUplink(Name, Node, RSSI, FPort, Payload)
|
||||||
decoded.insert("Node", Node)
|
decoded.insert("Node", Node)
|
||||||
decoded.insert("RSSI", RSSI)
|
decoded.insert("RSSI", RSSI)
|
||||||
var mqttData = {deviceName:decoded}
|
var mqttData = {deviceName:decoded}
|
||||||
|
@ -9,7 +9,7 @@ import string
|
|||||||
global.DrgD20Nodes = {}
|
global.DrgD20Nodes = {}
|
||||||
|
|
||||||
class LwDecoDrgD20
|
class LwDecoDrgD20
|
||||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
static def decodeUplink(Name, Node, RSSI, FPort, Bytes)
|
||||||
var data = {"Device":"Dragino D20"}
|
var data = {"Device":"Dragino D20"}
|
||||||
|
|
||||||
var valid_values = false
|
var valid_values = false
|
||||||
@ -78,8 +78,8 @@ class LwDecoDrgD20
|
|||||||
if global.DrgD20Nodes.find(Node)
|
if global.DrgD20Nodes.find(Node)
|
||||||
global.DrgD20Nodes.remove(Node)
|
global.DrgD20Nodes.remove(Node)
|
||||||
end
|
end
|
||||||
# sensor[0] [1] [2] [3] [4] [5] [6] [7]
|
# sensor[0] [1] [2] [3] [4] [5] [6] [7] [8]
|
||||||
global.DrgD20Nodes.insert(Node, [Node, last_seen, battery_last_seen, battery, RSSI, tempC1, tempC2, tempC3])
|
global.DrgD20Nodes.insert(Node, [Name, Node, last_seen, battery_last_seen, battery, RSSI, tempC1, tempC2, tempC3])
|
||||||
end
|
end
|
||||||
|
|
||||||
return data
|
return data
|
||||||
@ -88,27 +88,30 @@ class LwDecoDrgD20
|
|||||||
static def add_web_sensor()
|
static def add_web_sensor()
|
||||||
var msg = ""
|
var msg = ""
|
||||||
for sensor: global.DrgD20Nodes
|
for sensor: global.DrgD20Nodes
|
||||||
var name = string.format("D20-%i", sensor[0])
|
var name = sensor[0]
|
||||||
|
if string.find(name, "D20") > -1 # If LoRaWanName contains D20 use D20-<node>
|
||||||
|
name = string.format("D20-%i", sensor[1])
|
||||||
|
end
|
||||||
var name_tooltip = "Dragino D20"
|
var name_tooltip = "Dragino D20"
|
||||||
var battery = sensor[3]
|
var last_seen = sensor[2]
|
||||||
var battery_last_seen = sensor[2]
|
var battery_last_seen = sensor[3]
|
||||||
var rssi = sensor[4]
|
var battery = sensor[4]
|
||||||
var last_seen = sensor[1]
|
var rssi = sensor[5]
|
||||||
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
||||||
|
|
||||||
# Sensors
|
# Sensors
|
||||||
var tempC1 = sensor[5]
|
var tempC1 = sensor[6]
|
||||||
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
||||||
if tempC1 < 1000
|
if tempC1 < 1000
|
||||||
msg += string.format(" ☀️ %.1f°C", tempC1) # Sunshine - Temperature
|
msg += string.format(" ☀️ %.1f°C", tempC1) # Sunshine - Temperature
|
||||||
end
|
end
|
||||||
|
|
||||||
var tempC2 = sensor[6]
|
var tempC2 = sensor[7]
|
||||||
if tempC2 < 1000
|
if tempC2 < 1000
|
||||||
msg += string.format(" ☀️ %.1f°C", tempC2)
|
msg += string.format(" ☀️ %.1f°C", tempC2)
|
||||||
end
|
end
|
||||||
|
|
||||||
var tempC3 = sensor[7]
|
var tempC3 = sensor[8]
|
||||||
if tempC3 < 1000
|
if tempC3 < 1000
|
||||||
msg += string.format(" ☀️ %.1f°C", tempC3)
|
msg += string.format(" ☀️ %.1f°C", tempC3)
|
||||||
end
|
end
|
||||||
|
@ -9,7 +9,7 @@ import string
|
|||||||
global.dds75lbNodes = {}
|
global.dds75lbNodes = {}
|
||||||
|
|
||||||
class LwDecoDDS75LB
|
class LwDecoDDS75LB
|
||||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
static def decodeUplink(Name, Node, RSSI, FPort, Bytes)
|
||||||
var data = {"Device":"Dragino DDS75-LB/LS"}
|
var data = {"Device":"Dragino DDS75-LB/LS"}
|
||||||
|
|
||||||
var valid_values = false
|
var valid_values = false
|
||||||
@ -57,8 +57,8 @@ class LwDecoDDS75LB
|
|||||||
if global.dds75lbNodes.find(Node)
|
if global.dds75lbNodes.find(Node)
|
||||||
global.dds75lbNodes.remove(Node)
|
global.dds75lbNodes.remove(Node)
|
||||||
end
|
end
|
||||||
# sensor[0] [1] [2] [3] [4] [5]
|
# sensor[0] [1] [2] [3] [4] [5] [6]
|
||||||
global.dds75lbNodes.insert(Node, [Node, last_seen, battery_last_seen, battery, RSSI, distance])
|
global.dds75lbNodes.insert(Node, [Name, Node, last_seen, battery_last_seen, battery, RSSI, distance])
|
||||||
end
|
end
|
||||||
|
|
||||||
return data
|
return data
|
||||||
@ -67,16 +67,19 @@ class LwDecoDDS75LB
|
|||||||
static def add_web_sensor()
|
static def add_web_sensor()
|
||||||
var msg = ""
|
var msg = ""
|
||||||
for sensor: global.dds75lbNodes
|
for sensor: global.dds75lbNodes
|
||||||
var name = string.format("DDS75-L-%i", sensor[0])
|
var name = sensor[0]
|
||||||
|
if string.find(name, "DDS75-L") > -1 # If LoRaWanName contains DDS75-L use DDS75-L-<node>
|
||||||
|
name = string.format("DDS75-L-%i", sensor[1])
|
||||||
|
end
|
||||||
var name_tooltip = "Dragino DDS75-L"
|
var name_tooltip = "Dragino DDS75-L"
|
||||||
var last_seen = sensor[1]
|
var last_seen = sensor[2]
|
||||||
var battery_last_seen = sensor[2]
|
var battery_last_seen = sensor[3]
|
||||||
var battery = sensor[3]
|
var battery = sensor[4]
|
||||||
var rssi = sensor[4]
|
var rssi = sensor[5]
|
||||||
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
||||||
|
|
||||||
# Sensors
|
# Sensors
|
||||||
var distance = sensor[5]
|
var distance = sensor[6]
|
||||||
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
||||||
msg += string.format(" ⭳️ %.0fmm", distance) # ⭳
|
msg += string.format(" ⭳️ %.0fmm", distance) # ⭳
|
||||||
msg += "{e}" # = </td></tr>
|
msg += "{e}" # = </td></tr>
|
||||||
|
@ -9,7 +9,7 @@ import string
|
|||||||
global.lds02Nodes = {}
|
global.lds02Nodes = {}
|
||||||
|
|
||||||
class LwDecoLDS02
|
class LwDecoLDS02
|
||||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
static def decodeUplink(Name, Node, RSSI, FPort, Bytes)
|
||||||
var data = {"Device":"Dragino LDS02"}
|
var data = {"Device":"Dragino LDS02"}
|
||||||
|
|
||||||
var valid_values = false
|
var valid_values = false
|
||||||
@ -49,8 +49,8 @@ class LwDecoLDS02
|
|||||||
if global.lds02Nodes.find(Node)
|
if global.lds02Nodes.find(Node)
|
||||||
global.lds02Nodes.remove(Node)
|
global.lds02Nodes.remove(Node)
|
||||||
end
|
end
|
||||||
# sensor[0] [1] [2] [3] [4] [5] [6]
|
# sensor[0] [1] [2] [3] [4] [5] [6] [7]
|
||||||
global.lds02Nodes.insert(Node, [Node, last_seen, battery_last_seen, battery, RSSI, door_open, door_open_last_seen])
|
global.lds02Nodes.insert(Node, [Name, Node, last_seen, battery_last_seen, battery, RSSI, door_open, door_open_last_seen])
|
||||||
end
|
end
|
||||||
|
|
||||||
return data
|
return data
|
||||||
@ -59,17 +59,20 @@ class LwDecoLDS02
|
|||||||
static def add_web_sensor()
|
static def add_web_sensor()
|
||||||
var msg = ""
|
var msg = ""
|
||||||
for sensor: global.lds02Nodes
|
for sensor: global.lds02Nodes
|
||||||
var name = string.format("LDS02-%i", sensor[0])
|
var name = sensor[0]
|
||||||
|
if string.find(name, "LDS02") > -1 # If LoRaWanName contains LDS02 use LDS02-<node>
|
||||||
|
name = string.format("LDS02-%i", sensor[1])
|
||||||
|
end
|
||||||
var name_tooltip = "Dragino LDS02"
|
var name_tooltip = "Dragino LDS02"
|
||||||
var battery = sensor[3]
|
var last_seen = sensor[2]
|
||||||
var battery_last_seen = sensor[2]
|
var battery_last_seen = sensor[3]
|
||||||
var rssi = sensor[4]
|
var battery = sensor[4]
|
||||||
var last_seen = sensor[1]
|
var rssi = sensor[5]
|
||||||
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
||||||
|
|
||||||
# Sensors
|
# Sensors
|
||||||
var door_open = sensor[5]
|
var door_open = sensor[6]
|
||||||
var door_open_last_seen = sensor[6]
|
var door_open_last_seen = sensor[7]
|
||||||
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
||||||
msg += string.format(" %s %s", (door_open) ? "🔓" : "🔒", # Open or Closed lock - Door
|
msg += string.format(" %s %s", (door_open) ? "🔓" : "🔒", # Open or Closed lock - Door
|
||||||
lwdecode.dhm(door_open_last_seen))
|
lwdecode.dhm(door_open_last_seen))
|
||||||
|
@ -9,7 +9,7 @@ import string
|
|||||||
global.lht52Nodes = {}
|
global.lht52Nodes = {}
|
||||||
|
|
||||||
class LwDecoLHT52
|
class LwDecoLHT52
|
||||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
static def decodeUplink(Name, Node, RSSI, FPort, Bytes)
|
||||||
var data = {"Device":"Dragino LHT52"}
|
var data = {"Device":"Dragino LHT52"}
|
||||||
|
|
||||||
var valid_values = false
|
var valid_values = false
|
||||||
@ -80,8 +80,8 @@ class LwDecoLHT52
|
|||||||
if global.lht52Nodes.find(Node)
|
if global.lht52Nodes.find(Node)
|
||||||
global.lht52Nodes.remove(Node)
|
global.lht52Nodes.remove(Node)
|
||||||
end
|
end
|
||||||
# sensor[0] [1] [2] [3] [4] [5] [6] [7]
|
# sensor[0] [1] [2] [3] [4] [5] [6] [7] [8]
|
||||||
global.lht52Nodes.insert(Node, [Node, last_seen, battery_last_seen, battery, RSSI, temp_int, humidity, temp_ext])
|
global.lht52Nodes.insert(Node, [Name, Node, last_seen, battery_last_seen, battery, RSSI, temp_int, humidity, temp_ext])
|
||||||
end
|
end
|
||||||
|
|
||||||
return data
|
return data
|
||||||
@ -90,18 +90,21 @@ class LwDecoLHT52
|
|||||||
static def add_web_sensor()
|
static def add_web_sensor()
|
||||||
var msg = ""
|
var msg = ""
|
||||||
for sensor: global.lht52Nodes
|
for sensor: global.lht52Nodes
|
||||||
var name = string.format("LHT52-%i", sensor[0])
|
var name = sensor[0]
|
||||||
|
if string.find(name, "LHT52") > -1 # If LoRaWanName contains LHT52 use LHT52-<node>
|
||||||
|
name = string.format("LHT52-%i", sensor[1])
|
||||||
|
end
|
||||||
var name_tooltip = "Dragino LHT52"
|
var name_tooltip = "Dragino LHT52"
|
||||||
var battery = sensor[3]
|
var last_seen = sensor[2]
|
||||||
var battery_last_seen = sensor[2]
|
var battery_last_seen = sensor[3]
|
||||||
var rssi = sensor[4]
|
var battery = sensor[4]
|
||||||
var last_seen = sensor[1]
|
var rssi = sensor[5]
|
||||||
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
||||||
|
|
||||||
# Sensors
|
# Sensors
|
||||||
var temp_int = sensor[5]
|
var temp_int = sensor[6]
|
||||||
var humidity = sensor[6]
|
var humidity = sensor[7]
|
||||||
var temp_ext = sensor[7]
|
var temp_ext = sensor[8]
|
||||||
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
||||||
if temp_int < 1000
|
if temp_int < 1000
|
||||||
msg += string.format(" ☀️ %.1f°C", temp_int) # Sunshine - Temperature internal
|
msg += string.format(" ☀️ %.1f°C", temp_int) # Sunshine - Temperature internal
|
||||||
|
@ -9,7 +9,7 @@ var LHT65_BatteryStatus = ["Very low <= 2.5V","Low <=2.55V","OK","Good >= 2.65V"
|
|||||||
global.lht65Nodes = {}
|
global.lht65Nodes = {}
|
||||||
|
|
||||||
class LwDecoLHT65
|
class LwDecoLHT65
|
||||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
static def decodeUplink(Name, Node, RSSI, FPort, Bytes)
|
||||||
var data = {"Device":"Dragino LHT65"}
|
var data = {"Device":"Dragino LHT65"}
|
||||||
|
|
||||||
var valid_values = false
|
var valid_values = false
|
||||||
@ -150,8 +150,8 @@ class LwDecoLHT65
|
|||||||
if global.lht65Nodes.find(Node)
|
if global.lht65Nodes.find(Node)
|
||||||
global.lht65Nodes.remove(Node)
|
global.lht65Nodes.remove(Node)
|
||||||
end
|
end
|
||||||
# sensor[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
|
# sensor[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
|
||||||
global.lht65Nodes.insert(Node, [Node, last_seen, battery_last_seen, battery, rssi, temp_int, humidity, temp_ext, door_open, door_open_last_seen])
|
global.lht65Nodes.insert(Node, [Name, Node, last_seen, battery_last_seen, battery, rssi, temp_int, humidity, temp_ext, door_open, door_open_last_seen])
|
||||||
end
|
end
|
||||||
|
|
||||||
return data
|
return data
|
||||||
@ -160,20 +160,23 @@ class LwDecoLHT65
|
|||||||
static def add_web_sensor()
|
static def add_web_sensor()
|
||||||
var msg = ""
|
var msg = ""
|
||||||
for sensor: global.lht65Nodes
|
for sensor: global.lht65Nodes
|
||||||
var name = string.format("LHT65-%i", sensor[0])
|
var name = sensor[0]
|
||||||
|
if string.find(name, "LHT65") > -1 # If LoRaWanName contains LHT65 use LHT65-<node>
|
||||||
|
name = string.format("LHT65-%i", sensor[1])
|
||||||
|
end
|
||||||
var name_tooltip = "Dragino LHT65"
|
var name_tooltip = "Dragino LHT65"
|
||||||
var battery = sensor[3]
|
var last_seen = sensor[2]
|
||||||
var battery_last_seen = sensor[2]
|
var battery_last_seen = sensor[3]
|
||||||
var rssi = sensor[4]
|
var battery = sensor[4]
|
||||||
var last_seen = sensor[1]
|
var rssi = sensor[5]
|
||||||
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
||||||
|
|
||||||
# Sensors
|
# Sensors
|
||||||
var temp_int = sensor[5]
|
var temp_int = sensor[6]
|
||||||
var humidity = sensor[6]
|
var humidity = sensor[7]
|
||||||
var temp_ext = sensor[7]
|
var temp_ext = sensor[8]
|
||||||
var door_open = sensor[8]
|
var door_open = sensor[9]
|
||||||
var door_open_last_seen = sensor[9]
|
var door_open_last_seen = sensor[10]
|
||||||
msg += "<tr class=\"htr\"><td colspan=\"4\">┆" # |
|
msg += "<tr class=\"htr\"><td colspan=\"4\">┆" # |
|
||||||
if temp_int < 1000
|
if temp_int < 1000
|
||||||
msg += string.format(" ☀️ %.1f°C", temp_int) # Sunshine - Temperature
|
msg += string.format(" ☀️ %.1f°C", temp_int) # Sunshine - Temperature
|
||||||
|
@ -10,7 +10,7 @@ import string
|
|||||||
global.psli5Nodes = {}
|
global.psli5Nodes = {}
|
||||||
|
|
||||||
class LwDecoPSLI5
|
class LwDecoPSLI5
|
||||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
static def decodeUplink(Name, Node, RSSI, FPort, Bytes)
|
||||||
var data = {"Device":"Dragino PS-LB/LS-I5"}
|
var data = {"Device":"Dragino PS-LB/LS-I5"}
|
||||||
|
|
||||||
var valid_values = false
|
var valid_values = false
|
||||||
@ -20,9 +20,9 @@ class LwDecoPSLI5
|
|||||||
var rssi = RSSI
|
var rssi = RSSI
|
||||||
var Water_deep_cm = 0
|
var Water_deep_cm = 0
|
||||||
|
|
||||||
var Probe_mod
|
var Probe_mod
|
||||||
var IDC_input_mA
|
var IDC_input_mA
|
||||||
var modelRangeCm = 500 # 4mA=0cm, 20mA=500cm
|
var modelRangeCm = 500 # 4mA=0cm, 20mA=500cm
|
||||||
|
|
||||||
if global.psli5Nodes.find(Node)
|
if global.psli5Nodes.find(Node)
|
||||||
last_seen = global.psli5Nodes.item(Node)[1]
|
last_seen = global.psli5Nodes.item(Node)[1]
|
||||||
@ -77,8 +77,8 @@ class LwDecoPSLI5
|
|||||||
if global.psli5Nodes.find(Node)
|
if global.psli5Nodes.find(Node)
|
||||||
global.psli5Nodes.remove(Node)
|
global.psli5Nodes.remove(Node)
|
||||||
end
|
end
|
||||||
# sensor[0] [1] [2] [3] [4] [5]
|
# sensor[0] [1] [2] [3] [4] [5] [6]
|
||||||
global.psli5Nodes.insert(Node, [Node, last_seen, battery_last_seen, battery, RSSI, Water_deep_cm])
|
global.psli5Nodes.insert(Node, [Name, Node, last_seen, battery_last_seen, battery, RSSI, Water_deep_cm])
|
||||||
end
|
end
|
||||||
|
|
||||||
return data
|
return data
|
||||||
@ -87,16 +87,19 @@ class LwDecoPSLI5
|
|||||||
static def add_web_sensor()
|
static def add_web_sensor()
|
||||||
var msg = ""
|
var msg = ""
|
||||||
for sensor: global.psli5Nodes
|
for sensor: global.psli5Nodes
|
||||||
var name = string.format("PS-L-I5-%i", sensor[0])
|
var name = sensor[0]
|
||||||
|
if string.find(name, "PS-L-I5") > -1 # If LoRaWanName contains PS-L-I5 use PS-L-I5-<node>
|
||||||
|
name = string.format("PS-L-I5-%i", sensor[1])
|
||||||
|
end
|
||||||
var name_tooltip = "Dragino PS-L-I5"
|
var name_tooltip = "Dragino PS-L-I5"
|
||||||
var last_seen = sensor[1]
|
var last_seen = sensor[2]
|
||||||
var battery_last_seen = sensor[2]
|
var battery_last_seen = sensor[3]
|
||||||
var battery = sensor[3]
|
var battery = sensor[4]
|
||||||
var rssi = sensor[4]
|
var rssi = sensor[5]
|
||||||
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
||||||
|
|
||||||
# Sensors
|
# Sensors
|
||||||
var Water_deep_cm = sensor[5]
|
var Water_deep_cm = sensor[6]
|
||||||
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
||||||
msg += string.format(" ⭳️ %.1fcm", Water_deep_cm) # тн│
|
msg += string.format(" ⭳️ %.1fcm", Water_deep_cm) # тн│
|
||||||
msg += "{e}" # = </td></tr>
|
msg += "{e}" # = </td></tr>
|
||||||
|
@ -11,7 +11,7 @@ import string
|
|||||||
global.se01LNodes = {}
|
global.se01LNodes = {}
|
||||||
|
|
||||||
class LwDecoSE01L
|
class LwDecoSE01L
|
||||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
static def decodeUplink(Name, Node, RSSI, FPort, Bytes)
|
||||||
var data = {"Device":"Dragino SE01-LB/LS"}
|
var data = {"Device":"Dragino SE01-LB/LS"}
|
||||||
|
|
||||||
var valid_values = false
|
var valid_values = false
|
||||||
@ -98,8 +98,8 @@ class LwDecoSE01L
|
|||||||
if global.se01LNodes.find(Node)
|
if global.se01LNodes.find(Node)
|
||||||
global.se01LNodes.remove(Node)
|
global.se01LNodes.remove(Node)
|
||||||
end
|
end
|
||||||
# sensor[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
|
# sensor[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
|
||||||
global.se01LNodes.insert(Node, [Node, last_seen, battery_last_seen, battery, RSSI, temp, conductivity, moisture, dielectric, mod])
|
global.se01LNodes.insert(Node, [Name, Node, last_seen, battery_last_seen, battery, RSSI, temp, conductivity, moisture, dielectric, mod])
|
||||||
end
|
end
|
||||||
|
|
||||||
return data
|
return data
|
||||||
@ -108,24 +108,27 @@ class LwDecoSE01L
|
|||||||
static def add_web_sensor()
|
static def add_web_sensor()
|
||||||
var msg = ""
|
var msg = ""
|
||||||
for sensor: global.se01LNodes
|
for sensor: global.se01LNodes
|
||||||
var name = string.format("SE01-L-%i", sensor[0])
|
var name = sensor[0]
|
||||||
|
if string.find(name, "SE01-L") > -1 # If LoRaWanName contains SE01-L use SE01-L-<node>
|
||||||
|
name = string.format("SE01-L-%i", sensor[1])
|
||||||
|
end
|
||||||
var name_tooltip = "Dragino SE01-L"
|
var name_tooltip = "Dragino SE01-L"
|
||||||
var last_seen = sensor[1]
|
var last_seen = sensor[2]
|
||||||
var battery_last_seen = sensor[2]
|
var battery_last_seen = sensor[3]
|
||||||
var battery = sensor[3]
|
var battery = sensor[4]
|
||||||
var rssi = sensor[4]
|
var rssi = sensor[5]
|
||||||
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
||||||
|
|
||||||
# Sensors
|
# Sensors
|
||||||
var temp = sensor[5]
|
var temp = sensor[6]
|
||||||
var conductivity = sensor[6]
|
var conductivity = sensor[7]
|
||||||
var moisture = sensor[7]
|
var moisture = sensor[8]
|
||||||
var dielectric = sensor[8]
|
var dielectric = sensor[9]
|
||||||
var mod = sensor[9]
|
var mod = sensor[10]
|
||||||
|
|
||||||
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
||||||
if mod
|
if mod
|
||||||
msg += string.format(" κ %.1f", dielectric ) # Kappa - dielectric
|
msg += string.format(" κ %.1f", dielectric ) # Kappa - dielectric
|
||||||
msg += string.format(" 💧️ %u", moisture) # Raindrop - moisture
|
msg += string.format(" 💧️ %u", moisture) # Raindrop - moisture
|
||||||
msg += string.format(" σ %u", conductivity) # Sigma - conductivity
|
msg += string.format(" σ %u", conductivity) # Sigma - conductivity
|
||||||
msg += " (raw)"
|
msg += " (raw)"
|
||||||
|
@ -9,7 +9,7 @@ import string
|
|||||||
global.dw10Nodes = {}
|
global.dw10Nodes = {}
|
||||||
|
|
||||||
class LwDecoDW10
|
class LwDecoDW10
|
||||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
static def decodeUplink(Name, Node, RSSI, FPort, Bytes)
|
||||||
var data = {"Device":"MerryIoT DW10"}
|
var data = {"Device":"MerryIoT DW10"}
|
||||||
|
|
||||||
var valid_values = false
|
var valid_values = false
|
||||||
@ -59,8 +59,8 @@ class LwDecoDW10
|
|||||||
if global.dw10Nodes.find(Node)
|
if global.dw10Nodes.find(Node)
|
||||||
global.dw10Nodes.remove(Node)
|
global.dw10Nodes.remove(Node)
|
||||||
end
|
end
|
||||||
# sensor[0] [1] [2] [3] [4] [5] [6] [7] [8] [9]
|
# sensor[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]
|
||||||
global.dw10Nodes.insert(Node, [Node, last_seen, battery_last_seen, battery, RSSI, door_open, door_open_last_seen, button_pressed, temperature, humidity])
|
global.dw10Nodes.insert(Node, [Name, Node, last_seen, battery_last_seen, battery, RSSI, door_open, door_open_last_seen, button_pressed, temperature, humidity])
|
||||||
end
|
end
|
||||||
|
|
||||||
return data
|
return data
|
||||||
@ -69,20 +69,23 @@ class LwDecoDW10
|
|||||||
static def add_web_sensor()
|
static def add_web_sensor()
|
||||||
var msg = ""
|
var msg = ""
|
||||||
for sensor: global.dw10Nodes
|
for sensor: global.dw10Nodes
|
||||||
var name = string.format("DW10-%i", sensor[0])
|
var name = sensor[0]
|
||||||
|
if string.find(name, "DW10") > -1 # If LoRaWaName contains DW10 use DW10-<node>
|
||||||
|
name = string.format("DW10-%i", sensor[1])
|
||||||
|
end
|
||||||
var name_tooltip = "MerryIoT DW10"
|
var name_tooltip = "MerryIoT DW10"
|
||||||
var battery = sensor[3]
|
var last_seen = sensor[2]
|
||||||
var battery_last_seen = sensor[2]
|
var battery_last_seen = sensor[3]
|
||||||
var rssi = sensor[4]
|
var battery = sensor[4]
|
||||||
var last_seen = sensor[1]
|
var rssi = sensor[5]
|
||||||
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
msg += lwdecode.header(name, name_tooltip, battery, battery_last_seen, rssi, last_seen)
|
||||||
|
|
||||||
# Sensors
|
# Sensors
|
||||||
var door_open = sensor[5]
|
var door_open = sensor[6]
|
||||||
var door_open_last_seen = sensor[6]
|
var door_open_last_seen = sensor[7]
|
||||||
var button_pressed = sensor[7]
|
var button_pressed = sensor[8]
|
||||||
var temperature = sensor[8]
|
var temperature = sensor[9]
|
||||||
var humidity = sensor[9]
|
var humidity = sensor[10]
|
||||||
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
msg += "<tr class='htr'><td colspan='4'>┆" # |
|
||||||
msg += string.format(" ☀️ %.1f°C", temperature) # Sunshine - Temperature
|
msg += string.format(" ☀️ %.1f°C", temperature) # Sunshine - Temperature
|
||||||
msg += string.format(" 💧 %.1f%%", humidity) # Raindrop - Humidity
|
msg += string.format(" 💧 %.1f%%", humidity) # Raindrop - Humidity
|
||||||
|
Loading…
x
Reference in New Issue
Block a user