Files
core/homeassistant/components/matter/services.py
Ludovic BOUÉ 7950f9ab38 Add Matter service actions for water_heater (#153577)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-10-25 23:14:29 +02:00

39 lines
1.1 KiB
Python

"""Services for Matter devices."""
from __future__ import annotations
import voluptuous as vol
from homeassistant.components.water_heater import DOMAIN as WATER_HEATER_DOMAIN
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers import config_validation as cv, service
from .const import DOMAIN
ATTR_DURATION = "duration"
ATTR_EMERGENCY_BOOST = "emergency_boost"
ATTR_TEMPORARY_SETPOINT = "temporary_setpoint"
SERVICE_WATER_HEATER_BOOST = "water_heater_boost"
@callback
def async_setup_services(hass: HomeAssistant) -> None:
"""Register the Matter services."""
service.async_register_platform_entity_service(
hass,
DOMAIN,
SERVICE_WATER_HEATER_BOOST,
entity_domain=WATER_HEATER_DOMAIN,
schema={
# duration >=1
vol.Required(ATTR_DURATION): vol.All(vol.Coerce(int), vol.Range(min=1)),
vol.Optional(ATTR_EMERGENCY_BOOST): cv.boolean,
vol.Optional(ATTR_TEMPORARY_SETPOINT): vol.All(
vol.Coerce(int), vol.Range(min=30, max=65)
),
},
func="async_set_boost",
)