Proxy updates for AWN
All checks were successful
Build and Publish / release (push) Successful in 2m53s
All checks were successful
Build and Publish / release (push) Successful in 2m53s
This commit is contained in:
parent
19823ea08f
commit
e8fbacfe6d
@ -124,13 +124,21 @@ func (aw *AmbientWeather) handleProviderRequest(
|
|||||||
err := aw.awnProvider.ProxyReq(ctx, update)
|
err := aw.awnProvider.ProxyReq(ctx, update)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
zerolog.Ctx(aw.appCtx).Err(err).Msg("failed to proxy to ambient weather")
|
zerolog.Ctx(aw.appCtx).Err(err).Msg("failed to proxy to ambient weather")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
zerolog.Ctx(aw.appCtx).Debug().
|
||||||
|
Str("station", station.Name).
|
||||||
|
Msg("proxied weather update to awn")
|
||||||
}
|
}
|
||||||
if station.ProxyToWunderground {
|
if station.ProxyToWunderground {
|
||||||
err := aw.wuProvider.ProxyReq(ctx, update)
|
err := aw.wuProvider.ProxyReq(ctx, update)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
zerolog.Ctx(aw.appCtx).Err(err).Msg("failed to proxy to ambient weather")
|
zerolog.Ctx(aw.appCtx).Err(err).Msg("failed to proxy to ambient weather")
|
||||||
|
return
|
||||||
}
|
}
|
||||||
|
zerolog.Ctx(aw.appCtx).Debug().
|
||||||
|
Str("station", station.Name).
|
||||||
|
Msg("proxied weather update to wunderground")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,6 +18,14 @@ const (
|
|||||||
awnURL = "http://ambientweather.net/data/report"
|
awnURL = "http://ambientweather.net/data/report"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// Battery Sensors
|
||||||
|
const (
|
||||||
|
BattOutdoorSensor = "OutdoorSensor"
|
||||||
|
BattIndoorSensor = "IndoorSensor"
|
||||||
|
BattRainSensor = "RainSensor"
|
||||||
|
BattCO2Sensor = "CO2Sensor"
|
||||||
|
)
|
||||||
|
|
||||||
func (awn *AWNProvider) Name() string {
|
func (awn *AWNProvider) Name() string {
|
||||||
return providerName
|
return providerName
|
||||||
}
|
}
|
||||||
@ -66,19 +74,19 @@ func MapAwnUpdate(awnUpdate *AmbientWeatherUpdate) *weather.WeatherUpdate {
|
|||||||
TotalRainIn: awnUpdate.TotalRainIn,
|
TotalRainIn: awnUpdate.TotalRainIn,
|
||||||
Batteries: []weather.BatteryStatus{
|
Batteries: []weather.BatteryStatus{
|
||||||
{
|
{
|
||||||
Component: "OutdoorSensor",
|
Component: BattOutdoorSensor,
|
||||||
Status: awnUpdate.BattOut,
|
Status: awnUpdate.BattOut,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Component: "IndoorSensor",
|
Component: BattIndoorSensor,
|
||||||
Status: awnUpdate.BattIn,
|
Status: awnUpdate.BattIn,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Component: "RainSensor",
|
Component: BattRainSensor,
|
||||||
Status: awnUpdate.BattRain,
|
Status: awnUpdate.BattRain,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
Component: "CO2Sensor",
|
Component: BattCO2Sensor,
|
||||||
Status: awnUpdate.BattCO2,
|
Status: awnUpdate.BattCO2,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -79,5 +79,20 @@ func updateToAWNParams(update *weather.WeatherUpdate) *url.Values {
|
|||||||
weather.SetURLVal(params, "windgustmph", update.WindGustMPH)
|
weather.SetURLVal(params, "windgustmph", update.WindGustMPH)
|
||||||
weather.SetURLVal(params, "windspeedmph", update.WindSpeedMPH)
|
weather.SetURLVal(params, "windspeedmph", update.WindSpeedMPH)
|
||||||
weather.SetURLVal(params, "maxdailygust", update.MaxDailyGust)
|
weather.SetURLVal(params, "maxdailygust", update.MaxDailyGust)
|
||||||
|
|
||||||
|
// Batteries
|
||||||
|
for _, status := range update.Batteries {
|
||||||
|
switch status.Component {
|
||||||
|
case BattOutdoorSensor:
|
||||||
|
weather.SetURLVal(params, "battin", status.Status)
|
||||||
|
case BattIndoorSensor:
|
||||||
|
weather.SetURLVal(params, "battout", status.Status)
|
||||||
|
case BattRainSensor:
|
||||||
|
weather.SetURLVal(params, "battrain", status.Status)
|
||||||
|
case BattCO2Sensor:
|
||||||
|
weather.SetURLVal(params, "batt_co2", status.Status)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return params
|
return params
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user