mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-19 08:46:32 +00:00
LoRaWan berry decoders fix invalid last seen
This commit is contained in:
parent
26613aacb2
commit
f3d4b5275d
@ -14,13 +14,14 @@ class LwDecoLDS02
|
||||
data.insert("Node", Node)
|
||||
|
||||
var valid_values = false
|
||||
var last_seen
|
||||
var battery_last_seen
|
||||
var last_seen = 0x7FFFFFFF
|
||||
var battery_last_seen = 0x7FFFFFFF
|
||||
var battery
|
||||
var rssi = RSSI
|
||||
var door_open
|
||||
## SENSOR DATA ##
|
||||
if 10 == FPort && Bytes.size() == 10
|
||||
last_seen = tasmota.rtc('local')
|
||||
door_open = ( Bytes[0] & 0x80 ) ? 1 : 0
|
||||
data.insert("DoorOpen", ( door_open ) ? true : false)
|
||||
data.insert("BattV", ( Bytes[1] | (Bytes[0] << 8) & 0x3FFF ) / 1000.0)
|
||||
@ -35,7 +36,6 @@ class LwDecoLDS02
|
||||
end #Fport
|
||||
|
||||
if valid_values
|
||||
last_seen = tasmota.rtc('local')
|
||||
if global.lds02Nodes.find(Node)
|
||||
global.lds02Nodes.remove(Node)
|
||||
end
|
||||
|
@ -14,8 +14,8 @@ class LwDecoLHT52
|
||||
data.insert("Node", Node)
|
||||
|
||||
var valid_values = false
|
||||
var last_seen
|
||||
var battery_last_seen
|
||||
var last_seen = 0x7FFFFFFF
|
||||
var battery_last_seen = 0x7FFFFFFF
|
||||
var battery = 1000
|
||||
var rssi = RSSI
|
||||
var temp_int
|
||||
@ -32,6 +32,8 @@ class LwDecoLHT52
|
||||
end
|
||||
## SENSOR DATA ##
|
||||
if 2 == FPort && Bytes.size() == 11
|
||||
last_seen = tasmota.rtc('local')
|
||||
|
||||
var TempC
|
||||
TempC = Bytes[0] << 8 | Bytes[1]
|
||||
if Bytes[0] > 0x7F
|
||||
@ -76,7 +78,6 @@ class LwDecoLHT52
|
||||
end #Fport
|
||||
|
||||
if valid_values
|
||||
last_seen = tasmota.rtc('local')
|
||||
if global.lht52Nodes.find(Node)
|
||||
global.lht52Nodes.remove(Node)
|
||||
end
|
||||
|
@ -18,8 +18,8 @@ class LwDecoLHT65
|
||||
var NoConnect = (Bytes[6] & 0x80) >> 7
|
||||
|
||||
var valid_values = false
|
||||
var last_seen
|
||||
var battery_last_seen
|
||||
var last_seen = 0x7FFFFFFF
|
||||
var battery_last_seen = 0x7FFFFFFF
|
||||
var battery = 1000
|
||||
var rssi = RSSI
|
||||
var temp_int = 1000
|
||||
@ -41,6 +41,7 @@ class LwDecoLHT65
|
||||
var TempC
|
||||
|
||||
if Ext == 9 #Sensor E3, Temperature Sensor, Datalog Mod
|
||||
last_seen = tasmota.rtc('local')
|
||||
TempC = ((Bytes[0] << 8) | Bytes[1])
|
||||
if 0x7FFF == TempC
|
||||
data.insert("Ext_SensorConnected", false)
|
||||
@ -63,6 +64,7 @@ class LwDecoLHT65
|
||||
end
|
||||
|
||||
if Ext != 0x0F
|
||||
last_seen = tasmota.rtc('local')
|
||||
TempC = ((Bytes[2] << 8) | Bytes[3])
|
||||
if Bytes[2]>0x7F
|
||||
TempC -= 0x10000
|
||||
@ -81,6 +83,7 @@ class LwDecoLHT65
|
||||
if 0 == Ext
|
||||
data.insert("Ext_sensor", 'No external sensor')
|
||||
elif 1==Ext
|
||||
last_seen = tasmota.rtc('local')
|
||||
data.insert("Ext_sensor",'Temperature Sensor')
|
||||
TempC = ((Bytes[7] << 8) | Bytes[8])
|
||||
if 0x7FFF == TempC
|
||||
@ -95,6 +98,7 @@ class LwDecoLHT65
|
||||
valid_values = true
|
||||
end
|
||||
elif 4 == Ext
|
||||
last_seen = tasmota.rtc('local')
|
||||
data.insert("Work_mode", 'Interrupt Sensor send')
|
||||
door_open = ( Bytes[7] ) ? 0 : 1 # DS sensor
|
||||
data.insert("Exti_pin_level", Bytes[7] ? 'High' : 'Low')
|
||||
@ -137,7 +141,6 @@ class LwDecoLHT65
|
||||
end #Fport
|
||||
|
||||
if valid_values
|
||||
last_seen = tasmota.rtc('local')
|
||||
if global.lht65Nodes.find(Node)
|
||||
global.lht65Nodes.remove(Node)
|
||||
end
|
||||
|
@ -14,8 +14,8 @@ class LwDecoDW10
|
||||
data.insert("Node", Node)
|
||||
|
||||
var valid_values = false
|
||||
var last_seen
|
||||
var battery_last_seen
|
||||
var last_seen = 0x7FFFFFFF
|
||||
var battery_last_seen = 0x7FFFFFFF
|
||||
var battery
|
||||
var rssi = RSSI
|
||||
var door_open
|
||||
@ -24,6 +24,7 @@ class LwDecoDW10
|
||||
var humidity
|
||||
## SENSOR DATA ##
|
||||
if 120 == FPort && Bytes.size() == 9
|
||||
last_seen = tasmota.rtc('local')
|
||||
door_open = ( Bytes[0] & 0x01 ) ? 1 : 0
|
||||
data.insert("DoorOpen", ( door_open ) ? true : false )
|
||||
button_pressed = ( Bytes[0] & 0x02 ) ? 1 : 0
|
||||
@ -40,13 +41,11 @@ class LwDecoDW10
|
||||
data.insert("DoorOpenLastDuration_mins", Bytes[4] | (Bytes[5] << 8))
|
||||
data.insert("DoorOpenEvents", Bytes[6] | (Bytes[7] << 8) | (Bytes[8] << 16 ))
|
||||
valid_values = true
|
||||
|
||||
else
|
||||
# Ignore other Fports
|
||||
end #Fport
|
||||
|
||||
if valid_values
|
||||
last_seen = tasmota.rtc('local')
|
||||
if global.dw10Nodes.find(Node)
|
||||
global.dw10Nodes.remove(Node)
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user