add lightning sensor
All checks were successful
Build and Publish / release (push) Has been skipped
Build and Publish / check-chart (push) Successful in 10s
Build and Publish / helm-release (push) Has been skipped

This commit is contained in:
Ryan McGuire 2025-04-02 19:49:32 -04:00
parent e2c464b34e
commit dcb60e6898
3 changed files with 27 additions and 7 deletions

View File

@ -20,11 +20,12 @@ const (
// Battery Sensors
const (
BattOutdoorSensor = "OutdoorSensor"
BattIndoorSensor = "IndoorSensor"
BattRainSensor = "RainSensor"
BattCO2Sensor = "CO2Sensor"
THSensor = "TempHumiditySensor"
BattOutdoorSensor = "OutdoorSensor"
BattIndoorSensor = "IndoorSensor"
BattRainSensor = "RainSensor"
BattCO2Sensor = "CO2Sensor"
BattLightningSensor = "LightningSensor"
THSensor = "TempHumiditySensor"
)
func (awn *AWNProvider) Name() string {
@ -74,6 +75,10 @@ func MapAwnUpdate(awnUpdate *AmbientWeatherUpdate) *weather.WeatherUpdate {
YearlyRainIn: awnUpdate.YearlyRainIn,
TotalRainIn: awnUpdate.TotalRainIn,
Batteries: []weather.BatteryStatus{
{
Component: BattLightningSensor,
Status: awnUpdate.BattLightning,
},
{
Component: BattOutdoorSensor,
Status: awnUpdate.BattOut,
@ -138,6 +143,11 @@ func MapAwnUpdate(awnUpdate *AmbientWeatherUpdate) *weather.WeatherUpdate {
{Name: THSensor + "7", TempF: awnUpdate.Temp7F, Humidity: awnUpdate.Humidity7},
{Name: THSensor + "8", TempF: awnUpdate.Temp8F, Humidity: awnUpdate.Humidity8},
},
LightningData: &weather.LightningData{
LightningDay: awnUpdate.LightningDay,
LightningDistance: awnUpdate.LightningDistance,
LightningTime: awnUpdate.LightningTime,
},
}
}

View File

@ -33,8 +33,10 @@ type AmbientWeatherUpdate struct {
}
type AmbientLightningData struct {
BattLightning *int `json:"batt_lightning,omitempty" schema:"batt_lightning"`
LightningDay *int `json:"lightning_day,omitempty" schema:"lightning_day"`
BattLightning *int `json:"batt_lightning,omitempty" schema:"batt_lightning"`
LightningDay *int `json:"lightning_day,omitempty" schema:"lightning_day" description:"count of lightning detections"`
LightningDistance *int `json:"lightning_distance,omitempty" schema:"lightning_distance" description:"distance in kilometers"`
LightningTime *int `json:"lightningTime,omitempty" schema:"lightningTime" description:"last lightning detection time"`
}
type AmbientTempHumiditySensors struct {

View File

@ -40,6 +40,14 @@ type WeatherUpdate struct {
WindChillF *float64
// Extra Temp+Humidity Sensors
TempHumiditySensors []*TempHumiditySensor
// Lightning Data
*LightningData
}
type LightningData struct {
LightningDay *int // Count of detections
LightningDistance *int // Last detection distance [kilometers]
LightningTime *int // Last detection time
}
type TempHumiditySensor struct {