From bff8efb85b46b1040c725a86c73e536db4535d9e Mon Sep 17 00:00:00 2001 From: Fedorov Dmitriy Date: Sat, 19 Sep 2026 16:20:20 +0300 Subject: [PATCH] =?UTF-8?q?work:=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20=D0=BA=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D1=83=20=D0=B4?= =?UTF-8?q?=D0=BB=D1=8F=20=D0=BF=D0=B5=D1=80=D0=B5=D1=85=D0=BE=D0=B4=D0=B0?= =?UTF-8?q?=20=D0=B2=20=D0=B0=D0=B2=D1=82=D0=BE=D0=BC=D0=B0=D1=82=D0=B8?= =?UTF-8?q?=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B9=20=D1=80=D0=B5=D0=B6=D0=B8?= =?UTF-8?q?=D0=BC=20=D0=BF=D0=BE=D1=81=D0=BB=D0=B5=20=D1=83=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=81?= =?UTF-8?q?=D0=BA=D0=BE=D1=80=D0=BE=D1=81=D1=82=D0=B8=20=D0=B2=D1=80=D1=83?= =?UTF-8?q?=D1=87=D0=BD=D1=83=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api.py | 21 ++++++++++++++++++++- config/schedule.yaml | 6 +++--- schedule/service.py | 5 +++++ 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/app/api.py b/app/api.py index 37705e8..9ae6d8d 100644 --- a/app/api.py +++ b/app/api.py @@ -697,4 +697,23 @@ async def set_light( ScheduledSettings( light=enabled, ), - ) \ No newline at end of file + ) + +# ---------------------------------------------------------------------- +# Переход в auto +# ---------------------------------------------------------------------- +@app.post("/api/schedule/override/clear") +async def clear_schedule_override(): + if schedule_service is None: + raise HTTPException( + status_code=503, + detail="Schedule service unavailable", + ) + + await schedule_service.clear_override() + + return { + "ok": True, + "schedule": get_schedule_status(), + "auto": get_auto_status(), + } \ No newline at end of file diff --git a/config/schedule.yaml b/config/schedule.yaml index 29e24b3..a1fc9d9 100644 --- a/config/schedule.yaml +++ b/config/schedule.yaml @@ -17,17 +17,17 @@ templates: target_temp: 20 mode: outside - - time: "15:45" + - time: "16:17" action: type: set speed: 1 - - time: "15:46" + - time: "16:18" action: type: auto speed: 1 - - time: "15:47" + - time: "16:20" action: type: set speed: 6 diff --git a/schedule/service.py b/schedule/service.py index ef46a14..4a8355a 100644 --- a/schedule/service.py +++ b/schedule/service.py @@ -159,6 +159,11 @@ class ScheduleService: self._override_until = None self._override_pending = False + async def clear_override(self) -> None: + self._clear_override() + + # Сразу пересчитываем и применяем текущее состояние расписания. + await self._process() def resolve( self,