diff --git a/README.md b/README.md index 4e5159f..6d3ce22 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ A small web page to adjust the heating per room from a phone on the home network ## Airing -"Airing 15/30/60" sends `system_mode: off`. When the time is up, or on "Heat again", the room gets back the mode and target from before. +"Air 5/15/30/60" sends `system_mode: off` for that many minutes, with 5 for a quick Stoßlüften. When the time is up, or on "Heat again", the room gets back the mode and target from before. The service keeps no saved state, so a restart during airing forgets it: **that room stays off until someone taps "Heat again"**. A target waiting to be sent is lost too. The thermostat's own frost protection still applies. diff --git a/internal/api/api.gen.go b/internal/api/api.gen.go index 08647ad..379d2c9 100644 --- a/internal/api/api.gen.go +++ b/internal/api/api.gen.go @@ -68,6 +68,7 @@ func (e Mode) Valid() bool { const ( N15 StartAiringRequestMinutes = 15 N30 StartAiringRequestMinutes = 30 + N5 StartAiringRequestMinutes = 5 N60 StartAiringRequestMinutes = 60 ) @@ -78,6 +79,8 @@ func (e StartAiringRequestMinutes) Valid() bool { return true case N30: return true + case N5: + return true case N60: return true default: diff --git a/internal/api/openapi.yaml b/internal/api/openapi.yaml index 5798e46..4c9b8c8 100644 --- a/internal/api/openapi.yaml +++ b/internal/api/openapi.yaml @@ -256,7 +256,7 @@ components: properties: minutes: type: integer - enum: [15, 30, 60] + enum: [5, 15, 30, 60] description: How long to air the room. SetTargetRequest: type: object diff --git a/internal/web/static/index.html b/internal/web/static/index.html index 9b7f2ed..e27a853 100644 --- a/internal/web/static/index.html +++ b/internal/web/static/index.html @@ -50,7 +50,7 @@ .note { color: var(--muted); font-size: .9rem; margin-top: 8px; } .note:empty { display: none; } .note.problem { color: var(--error); } - .airing { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 8px; } + .airing { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; margin-top: 8px; } .airing button.stop { grid-column: 1 / -1; background: var(--accent); color: var(--card); font-weight: 600; } [hidden] { display: none !important; } @@ -78,7 +78,7 @@