mirror of
https://github.com/home-assistant/core.git
synced 2026-02-05 23:05:25 +01:00
47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
"""Support for AlarmDecoder-based alarm control panels (Honeywell/DSC)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import voluptuous as vol
|
|
|
|
from homeassistant.components.alarm_control_panel import (
|
|
DOMAIN as ALARM_CONTROL_PANEL_DOMAIN,
|
|
)
|
|
from homeassistant.const import ATTR_CODE
|
|
from homeassistant.core import HomeAssistant, callback
|
|
from homeassistant.helpers import config_validation as cv, service
|
|
|
|
from .const import DOMAIN
|
|
|
|
SERVICE_ALARM_TOGGLE_CHIME = "alarm_toggle_chime"
|
|
|
|
SERVICE_ALARM_KEYPRESS = "alarm_keypress"
|
|
ATTR_KEYPRESS = "keypress"
|
|
|
|
|
|
@callback
|
|
def async_setup_services(hass: HomeAssistant) -> None:
|
|
"""Home Assistant services."""
|
|
|
|
service.async_register_platform_entity_service(
|
|
hass,
|
|
DOMAIN,
|
|
SERVICE_ALARM_TOGGLE_CHIME,
|
|
entity_domain=ALARM_CONTROL_PANEL_DOMAIN,
|
|
schema={
|
|
vol.Required(ATTR_CODE): cv.string,
|
|
},
|
|
func="alarm_toggle_chime",
|
|
)
|
|
|
|
service.async_register_platform_entity_service(
|
|
hass,
|
|
DOMAIN,
|
|
SERVICE_ALARM_KEYPRESS,
|
|
entity_domain=ALARM_CONTROL_PANEL_DOMAIN,
|
|
schema={
|
|
vol.Required(ATTR_KEYPRESS): cv.string,
|
|
},
|
|
func="alarm_keypress",
|
|
)
|