fix(store): GetDisplayState unterscheidet pgx.ErrNoRows; tz-Kommentar im Scheduler

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Jesko Anschütz 2026-03-27 07:32:28 +01:00
parent a27ef11b45
commit dc16a0fbd0
2 changed files with 5 additions and 2 deletions

View file

@ -37,6 +37,7 @@ func Run(ctx context.Context, schedules *store.ScreenScheduleStore, screens Scre
// check prüft alle aktiven Zeitpläne und sendet ggf. Befehle.
func check(ctx context.Context, schedules *store.ScreenScheduleStore, screens ScreenSlugGetter, notifier DisplayCommander) {
// Uses process-local timezone — ensure TZ env var is set in the container (e.g. Europe/Berlin).
now := time.Now().Format("15:04")
enabled, err := schedules.ListEnabled(ctx)

View file

@ -353,10 +353,12 @@ func (s *ScreenStore) GetDisplayState(ctx context.Context, screenID string) (str
err := s.pool.QueryRow(ctx,
`select coalesce(display_state,'unknown')
from screen_status where screen_id = $1`, screenID).Scan(&state)
if err != nil {
// Kein Eintrag → unbekannt, kein Fehler
if errors.Is(err, pgx.ErrNoRows) {
return "unknown", nil
}
if err != nil {
return "unknown", err
}
return state, nil
}