Compare commits

..

No commits in common. "caf9e2a2dd985f072f85c11bc97e908f97f8d9d5" and "ca2b7b3dd1c388ea2e5d981c70fdfdd469963982" have entirely different histories.

3 changed files with 7 additions and 62 deletions

View file

@ -107,34 +107,15 @@ func handleMessage(from uint32, topic string, portNum generated.PortNum, payload
temperature := envMetrics.GetTemperature() temperature := envMetrics.GetTemperature()
relativeHumidity := envMetrics.GetRelativeHumidity() relativeHumidity := envMetrics.GetRelativeHumidity()
barometricPressure := envMetrics.GetBarometricPressure() barometricPressure := envMetrics.GetBarometricPressure()
lux := envMetrics.GetLux()
windDirection := envMetrics.GetWindDirection()
windSpeed := envMetrics.GetWindSpeed()
windGust := envMetrics.GetWindGust()
radiation := envMetrics.GetRadiation()
rainfall1 := envMetrics.GetRainfall_1H()
rainfall24 := envMetrics.GetRainfall_24H()
log.Printf( log.Printf(
"[msg] %v (%v) %s: EnvironmentMetrics{temp: %v; hum: %v; pres: %v; lux: %v; wind: %v @ %v G %v; rad: %v; rain: %v %v}", "[msg] %v (%v) %s: EnvironmentMetrics{temperature: %vC; humidity: %v%%; pressure: %vhPA}",
from, topic, portNum, temperature, relativeHumidity, barometricPressure, lux, from, topic, portNum, temperature, relativeHumidity, barometricPressure,
windDirection, windSpeed, windGust, radiation, rainfall1, rainfall24,
) )
NodesMutex.Lock() NodesMutex.Lock()
if Nodes[from] == nil { if Nodes[from] == nil {
Nodes[from] = meshtastic.NewNode(topic) Nodes[from] = meshtastic.NewNode(topic)
} }
Nodes[from].UpdateEnvironmentMetrics( Nodes[from].UpdateEnvironmentMetrics(temperature, relativeHumidity, barometricPressure)
temperature,
relativeHumidity,
barometricPressure,
lux,
windDirection,
windSpeed,
windGust,
radiation,
rainfall1,
rainfall24,
)
NodesMutex.Unlock() NodesMutex.Unlock()
} }
case generated.PortNum_NEIGHBORINFO_APP: case generated.PortNum_NEIGHBORINFO_APP:

View file

@ -54,13 +54,6 @@ type Node struct {
Temperature float32 `json:"temperature,omitempty"` Temperature float32 `json:"temperature,omitempty"`
RelativeHumidity float32 `json:"relativeHumidity,omitempty"` RelativeHumidity float32 `json:"relativeHumidity,omitempty"`
BarometricPressure float32 `json:"barometricPressure,omitempty"` BarometricPressure float32 `json:"barometricPressure,omitempty"`
Lux float32 `json:"lux,omitempty"`
WindDirection uint32 `json:"windDirection,omitempty"`
WindSpeed float32 `json:"windSpeed,omitempty"`
WindGust float32 `json:"windGust,omitempty"`
Radiation float32 `json:"radiation,omitempty"`
Rainfall1 float32 `json:"rainfall1,omitempty"`
Rainfall24 float32 `json:"rainfall24,omitempty"`
LastEnvironmentMetrics int64 `json:"lastEnvironmentMetrics,omitempty"` LastEnvironmentMetrics int64 `json:"lastEnvironmentMetrics,omitempty"`
// NeighborInfo // NeighborInfo
Neighbors map[uint32]*NeighborInfo `json:"neighbors,omitempty"` Neighbors map[uint32]*NeighborInfo `json:"neighbors,omitempty"`
@ -87,13 +80,6 @@ func (node *Node) ClearEnvironmentMetrics() {
node.Temperature = 0 node.Temperature = 0
node.RelativeHumidity = 0 node.RelativeHumidity = 0
node.BarometricPressure = 0 node.BarometricPressure = 0
node.Lux = 0
node.WindDirection = 0
node.WindSpeed = 0
node.WindGust = 0
node.Radiation = 0
node.Rainfall1 = 0
node.Rainfall24 = 0
node.LastEnvironmentMetrics = 0 node.LastEnvironmentMetrics = 0
} }
@ -177,17 +163,10 @@ func (node *Node) UpdateDeviceMetrics(batteryLevel uint32, voltage, chUtil, airU
node.LastDeviceMetrics = time.Now().Unix() node.LastDeviceMetrics = time.Now().Unix()
} }
func (node *Node) UpdateEnvironmentMetrics(temperature, relativeHumidity, barometricPressure, lux float32, windDirection uint32, windSpeed, windGust, radiation, rainfall1, rainfall24 float32) { func (node *Node) UpdateEnvironmentMetrics(temperature, relativeHumidity, barometricPressure float32) {
node.Temperature = cleanFloat(temperature) node.Temperature = cleanFloat(temperature)
node.RelativeHumidity = cleanFloat(relativeHumidity) node.RelativeHumidity = cleanFloat(relativeHumidity)
node.BarometricPressure = cleanFloat(barometricPressure) node.BarometricPressure = cleanFloat(barometricPressure)
node.Lux = cleanFloat(lux)
node.WindDirection = windDirection
node.WindSpeed = cleanFloat(windSpeed)
node.WindGust = cleanFloat(windGust)
node.Radiation = cleanFloat(radiation)
node.Rainfall1 = cleanFloat(rainfall1)
node.Rainfall24 = cleanFloat(rainfall24)
node.LastEnvironmentMetrics = time.Now().Unix() node.LastEnvironmentMetrics = time.Now().Unix()
} }

View file

@ -216,8 +216,7 @@
fwVersion, region, modemPreset, hasDefaultCh, onlineLocalNodes, fwVersion, region, modemPreset, hasDefaultCh, onlineLocalNodes,
latitude, longitude, altitude, precision, latitude, longitude, altitude, precision,
batteryLevel, voltage, chUtil, airUtilTx, uptime, batteryLevel, voltage, chUtil, airUtilTx, uptime,
temperature, relativeHumidity, barometricPressure, lux, temperature, relativeHumidity, barometricPressure,
windDirection, windSpeed, windGust, radiation, rainfall1, rainfall24,
neighbors, seenBy neighbors, seenBy
} = node } = node
const id = `!${Number(nodeNum).toString(16)}` const id = `!${Number(nodeNum).toString(16)}`
@ -251,23 +250,9 @@
`${(temperature * 1.8 + 32).toFixed(1)}&#8457;</td></tr>` : ''} `${(temperature * 1.8 + 32).toFixed(1)}&#8457;</td></tr>` : ''}
${relativeHumidity ? `<tr><th>Relative Humidity</th><td>${Math.round(relativeHumidity)}%</td></tr>` : ''} ${relativeHumidity ? `<tr><th>Relative Humidity</th><td>${Math.round(relativeHumidity)}%</td></tr>` : ''}
${barometricPressure ? `<tr><th>Barometric Pressure</th><td>${Math.round(barometricPressure)} hPa</td></tr>` : ''} ${barometricPressure ? `<tr><th>Barometric Pressure</th><td>${Math.round(barometricPressure)} hPa</td></tr>` : ''}
${lux ? `<tr><th>Lux</th><td>${Math.round(lux)} lx</td></tr>` : ''}
${windDirection || windSpeed ? `<tr><th>Wind</th><td>` +
(windDirection ? `${windDirection}&#176;` : '') +
(windDirection && windSpeed ? ' @ ' : '') +
(windSpeed ? `${(windSpeed * 3.6).toFixed(1)}` : '') +
(windSpeed && windGust ? ` G ${(windGust * 3.6).toFixed(1)}` : '') +
(windSpeed ? ' km/h' : '') +
`</td></tr>` : ''}
${radiation ? `<tr><th>Radiation</th><td>${radiation.toFixed(2)} µR/h</td></tr>` : ''}
${rainfall1 || rainfall24 ? `<tr><th>Rainfall</th><td>` +
(rainfall1 ? `${rainfall1.toFixed(2)} mm/h` : '') +
(rainfall1 && rainfall24 ? ', ' : '') +
(rainfall24 ? `${rainfall24.toFixed(2)} mm/24h` : '') +
`</td></tr>` : ''}
${altitude ? `<tr><th>Altitude</th><td>${altitude.toLocaleString()} m above MSL</td></tr>` : ''} ${altitude ? `<tr><th>Altitude</th><td>${altitude.toLocaleString()} m above MSL</td></tr>` : ''}
${precision && precisionMargins[precision-1] ? `<tr><th>Location precision</th><td>` + ${precision && precisionMargins[precision-1] ? "<tr><th>Location precision</th><td>&#177;" +
`&#177;${precisionMargins[precision-1].toLocaleString()} m (orange circle)</td></tr>` : ''} `${precisionMargins[precision-1].toLocaleString()} m (orange circle)</td></tr>` : ''}
</tbody></table> </tbody></table>
<table><thead> <table><thead>
<tr><th>Last seen</th><th>via</th><th>root topic</th><th>channel</th></tr> <tr><th>Last seen</th><th>via</th><th>root topic</th><th>channel</th></tr>