Verbessert
This commit is contained in:
@@ -10,6 +10,8 @@ from homeassistant.core import HomeAssistant, ServiceCall
|
||||
|
||||
from .const import (
|
||||
DOMAIN,
|
||||
SERVICE_CLEAR_CLOSE_SCHEDULE,
|
||||
SERVICE_CLEAR_OPEN_SCHEDULE,
|
||||
SERVICE_CLEAR_SCHEDULE,
|
||||
SERVICE_CLOSE_ROOF,
|
||||
SERVICE_OPEN_ROOF,
|
||||
@@ -63,6 +65,14 @@ async def _async_handle_clear_schedule(hass: HomeAssistant, call: ServiceCall) -
|
||||
await _async_call_on_all(hass, "async_clear_schedule")
|
||||
|
||||
|
||||
async def _async_handle_clear_open_schedule(hass: HomeAssistant, call: ServiceCall) -> None:
|
||||
await _async_call_on_all(hass, "async_clear_open_schedule")
|
||||
|
||||
|
||||
async def _async_handle_clear_close_schedule(hass: HomeAssistant, call: ServiceCall) -> None:
|
||||
await _async_call_on_all(hass, "async_clear_close_schedule")
|
||||
|
||||
|
||||
async def _async_handle_set_nautical_schedule(hass: HomeAssistant, call: ServiceCall) -> None:
|
||||
await _async_call_on_all(hass, "async_set_next_nautical_schedule")
|
||||
|
||||
@@ -81,6 +91,16 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
hass.services.async_register(DOMAIN, SERVICE_POWER_ON, partial(_async_handle_power_on, hass))
|
||||
hass.services.async_register(DOMAIN, SERVICE_POWER_OFF, partial(_async_handle_power_off, hass))
|
||||
hass.services.async_register(DOMAIN, SERVICE_CLEAR_SCHEDULE, partial(_async_handle_clear_schedule, hass))
|
||||
hass.services.async_register(
|
||||
DOMAIN,
|
||||
SERVICE_CLEAR_OPEN_SCHEDULE,
|
||||
partial(_async_handle_clear_open_schedule, hass),
|
||||
)
|
||||
hass.services.async_register(
|
||||
DOMAIN,
|
||||
SERVICE_CLEAR_CLOSE_SCHEDULE,
|
||||
partial(_async_handle_clear_close_schedule, hass),
|
||||
)
|
||||
hass.services.async_register(
|
||||
DOMAIN,
|
||||
SERVICE_SET_NAUTICAL_SCHEDULE,
|
||||
@@ -104,6 +124,8 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
||||
SERVICE_POWER_ON,
|
||||
SERVICE_POWER_OFF,
|
||||
SERVICE_CLEAR_SCHEDULE,
|
||||
SERVICE_CLEAR_OPEN_SCHEDULE,
|
||||
SERVICE_CLEAR_CLOSE_SCHEDULE,
|
||||
SERVICE_SET_NAUTICAL_SCHEDULE,
|
||||
):
|
||||
if hass.services.has_service(DOMAIN, service):
|
||||
|
||||
@@ -33,6 +33,8 @@ SERVICE_STOP_ROOF = "stop_roof"
|
||||
SERVICE_POWER_ON = "power_on"
|
||||
SERVICE_POWER_OFF = "power_off"
|
||||
SERVICE_CLEAR_SCHEDULE = "clear_schedule"
|
||||
SERVICE_CLEAR_OPEN_SCHEDULE = "clear_open_schedule"
|
||||
SERVICE_CLEAR_CLOSE_SCHEDULE = "clear_close_schedule"
|
||||
SERVICE_SET_NAUTICAL_SCHEDULE = "set_nautical_schedule"
|
||||
|
||||
ENTITY_ROOF_COVER: Final = "roof"
|
||||
|
||||
@@ -200,6 +200,14 @@ class SternwarteDataUpdateCoordinator(DataUpdateCoordinator[SternwarteState]):
|
||||
await self._async_save_runtime_state()
|
||||
await self.async_request_refresh()
|
||||
|
||||
async def async_clear_open_schedule(self) -> None:
|
||||
"""Clear only the open schedule."""
|
||||
await self.async_set_open_schedule(None)
|
||||
|
||||
async def async_clear_close_schedule(self) -> None:
|
||||
"""Clear only the close schedule."""
|
||||
await self.async_set_close_schedule(None)
|
||||
|
||||
async def async_set_close_schedule(self, when: datetime | None) -> None:
|
||||
"""Persist close schedule."""
|
||||
when = self._normalize_user_schedule_datetime(when)
|
||||
|
||||
@@ -22,6 +22,14 @@ clear_schedule:
|
||||
name: Zeitplanung löschen
|
||||
description: Löscht die geplanten Öffnen- und Schließen-Termine.
|
||||
|
||||
clear_open_schedule:
|
||||
name: Öffnen-Termin löschen
|
||||
description: Löscht nur den geplanten Öffnen-Termin.
|
||||
|
||||
clear_close_schedule:
|
||||
name: Schließen-Termin löschen
|
||||
description: Löscht nur den geplanten Schließen-Termin.
|
||||
|
||||
set_nautical_schedule:
|
||||
name: Nautische Dämmerung setzen
|
||||
description: Setzt Öffnen und Schließen auf die nächste nautische Abend- und Morgendämmerung.
|
||||
|
||||
Reference in New Issue
Block a user