mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-28 21:26:33 +00:00
Consolidate LoRaWan decoding Device, Node and RSSI into LwDecode
- Use LoRaWanName as JSON device name - Use SetOption83 to control JSON LwDecoded field pair display
This commit is contained in:
parent
4a632e9ef1
commit
93c46dc3f9
@ -31,6 +31,7 @@ class lwdecode_cls
|
||||
|
||||
var deviceData = data['LwReceived']
|
||||
var deviceName = deviceData.keys()()
|
||||
var Device = deviceData[deviceName]['Name']
|
||||
var Node = deviceData[deviceName]['Node']
|
||||
var RSSI = deviceData[deviceName]['RSSI']
|
||||
var Payload = deviceData[deviceName]['Payload']
|
||||
@ -50,7 +51,14 @@ class lwdecode_cls
|
||||
|
||||
if Payload.size() && self.LwDecoders.find(decoder)
|
||||
var decoded = self.LwDecoders[decoder].decodeUplink(Node, RSSI, FPort, Payload)
|
||||
var mqttData = {"LwDecoded":{deviceName:decoded}}
|
||||
decoded.insert("Device", Device)
|
||||
decoded.insert("Node", Node)
|
||||
decoded.insert("RSSI", RSSI)
|
||||
var mqttData = {deviceName:decoded}
|
||||
# Abuse SetOption83 - (Zigbee) Use FriendlyNames (1) instead of ShortAddresses (0) when possible
|
||||
if tasmota.get_option(83) == 0 # SetOption83 - Remove LwDecoded form JSON message (1)
|
||||
mqttData = {"LwDecoded":{deviceName:decoded}}
|
||||
end
|
||||
mqtt.publish(self.topic, json.dump(mqttData))
|
||||
tasmota.global.restart_flag = 0 # Signal LwDecoded successful (default state)
|
||||
end
|
||||
|
@ -10,10 +10,7 @@ global.DrgD20Nodes = {}
|
||||
|
||||
class LwDecoDrgD20
|
||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
||||
var data = {"Device":"Dragino D20"}
|
||||
data.insert("Node", Node)
|
||||
data.insert("RSSI", RSSI)
|
||||
|
||||
var data = {}
|
||||
var valid_values = false
|
||||
var last_seen = 1451602800
|
||||
var battery_last_seen = 1451602800
|
||||
|
@ -10,10 +10,7 @@ global.dds75lbNodes = {}
|
||||
|
||||
class LwDecoDDS75LB
|
||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
||||
var data = {"Device":"Dragino DDS75-LB/LS"}
|
||||
data.insert("Node", Node)
|
||||
data.insert("RSSI", RSSI)
|
||||
|
||||
var data = {}
|
||||
var valid_values = false
|
||||
var last_seen = 1451602800
|
||||
var battery_last_seen = 1451602800
|
||||
|
@ -10,10 +10,7 @@ global.lds02Nodes = {}
|
||||
|
||||
class LwDecoLDS02
|
||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
||||
var data = {"Device":"Dragino LDS02"}
|
||||
data.insert("Node", Node)
|
||||
data.insert("RSSI", RSSI)
|
||||
|
||||
var data = {}
|
||||
var valid_values = false
|
||||
var last_seen = 1451602800
|
||||
var battery_last_seen = 1451602800
|
||||
|
@ -10,10 +10,7 @@ global.lht52Nodes = {}
|
||||
|
||||
class LwDecoLHT52
|
||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
||||
var data = {"Device":"Dragino LHT52"}
|
||||
data.insert("Node", Node)
|
||||
data.insert("RSSI", RSSI)
|
||||
|
||||
var data = {}
|
||||
var valid_values = false
|
||||
var last_seen = 1451602800
|
||||
var battery_last_seen = 1451602800
|
||||
|
@ -10,11 +10,7 @@ global.lht65Nodes = {}
|
||||
|
||||
class LwDecoLHT65
|
||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
||||
var data = {"Device":"Dragino LHT65"}
|
||||
data.insert("Node", Node)
|
||||
data.insert("RSSI", RSSI)
|
||||
data.insert("poll_message_status",(Bytes[6] & 0x40) >> 6)
|
||||
|
||||
var data = {}
|
||||
var valid_values = false
|
||||
var last_seen = 1451602800
|
||||
var battery_last_seen = 1451602800
|
||||
@ -41,6 +37,8 @@ class LwDecoLHT65
|
||||
var NoConnect = (Bytes[6] & 0x80) >> 7
|
||||
|
||||
## SENSOR DATA ##
|
||||
data.insert("poll_message_status",(Bytes[6] & 0x40) >> 6)
|
||||
|
||||
if 2 == FPort && Bytes.size() == 11
|
||||
var TempC
|
||||
|
||||
|
@ -11,10 +11,7 @@ global.psli5Nodes = {}
|
||||
|
||||
class LwDecoPSLI5
|
||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
||||
var data = {"Device":"Dragino PS-LB/LS-I5"}
|
||||
data.insert("Node", Node)
|
||||
data.insert("RSSI", RSSI)
|
||||
|
||||
var data = {}
|
||||
var valid_values = false
|
||||
var last_seen = 1451602800
|
||||
var battery_last_seen = 1451602800
|
||||
|
@ -12,10 +12,7 @@ global.se01LNodes = {}
|
||||
|
||||
class LwDecoSE01L
|
||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
||||
var data = {"Device":"Dragino SE01-LB/LS"}
|
||||
data.insert("Node", Node)
|
||||
data.insert("RSSI", RSSI)
|
||||
|
||||
var data = {}
|
||||
var valid_values = false
|
||||
var last_seen = 1451602800
|
||||
var battery_last_seen = 1451602800
|
||||
|
@ -10,10 +10,7 @@ global.dw10Nodes = {}
|
||||
|
||||
class LwDecoDW10
|
||||
static def decodeUplink(Node, RSSI, FPort, Bytes)
|
||||
var data = {"Device":"MerryIoT DW10"}
|
||||
data.insert("Node", Node)
|
||||
data.insert("RSSI", RSSI)
|
||||
|
||||
var data = {}
|
||||
var valid_values = false
|
||||
var last_seen = 1451602800
|
||||
var battery_last_seen = 1451602800
|
||||
|
Loading…
x
Reference in New Issue
Block a user