add before/after sunset/sunrise to state

This commit is contained in:
Sam Lewis
2022-11-06 16:10:05 -05:00
parent ba9132745e
commit 5afa301f36
3 changed files with 27 additions and 5 deletions

8
app.go
View File

@@ -131,7 +131,7 @@ func (a *App) RegisterEventListeners(evls ...EventListener) {
}
}
func getSunriseSunset(a *App, sunrise bool, offset []DurationString) carbon.Carbon {
func getSunriseSunsetFromState(s *State, sunrise bool, offset ...DurationString) carbon.Carbon {
printString := "Sunset"
attrKey := "next_setting"
if sunrise {
@@ -149,7 +149,7 @@ func getSunriseSunset(a *App, sunrise bool, offset []DurationString) carbon.Carb
}
// get next sunrise/sunset time from HA
state, err := a.state.Get("sun.sun")
state, err := s.Get("sun.sun")
if err != nil {
panic(fmt.Sprintf("Couldn't get sun.sun state from HA to calculate %s", printString))
}
@@ -164,6 +164,10 @@ func getSunriseSunset(a *App, sunrise bool, offset []DurationString) carbon.Carb
return nextSetOrRise
}
func getSunriseSunsetFromApp(a *App, sunrise bool, offset ...DurationString) carbon.Carbon {
return getSunriseSunsetFromState(a.state, sunrise, offset...)
}
func (a *App) Start() {
log.Default().Println("Starting", a.schedules.Len(), "schedules")
log.Default().Println("Starting", len(a.entityListeners), "entity listeners")