mirror of
https://github.com/home-assistant/core.git
synced 2025-11-12 12:30:31 +00:00
67 lines
1.8 KiB
Python
67 lines
1.8 KiB
Python
"""Services for Android/Fire TV devices."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import voluptuous as vol
|
|
|
|
from homeassistant.components.media_player import DOMAIN as MEDIA_PLAYER_DOMAIN
|
|
from homeassistant.const import ATTR_COMMAND
|
|
from homeassistant.core import HomeAssistant, callback
|
|
from homeassistant.helpers import config_validation as cv, service
|
|
|
|
from .const import DOMAIN
|
|
|
|
ATTR_ADB_RESPONSE = "adb_response"
|
|
ATTR_DEVICE_PATH = "device_path"
|
|
ATTR_HDMI_INPUT = "hdmi_input"
|
|
ATTR_LOCAL_PATH = "local_path"
|
|
|
|
SERVICE_ADB_COMMAND = "adb_command"
|
|
SERVICE_DOWNLOAD = "download"
|
|
SERVICE_LEARN_SENDEVENT = "learn_sendevent"
|
|
SERVICE_UPLOAD = "upload"
|
|
|
|
|
|
@callback
|
|
def async_setup_services(hass: HomeAssistant) -> None:
|
|
"""Register the Android TV / Fire TV services."""
|
|
|
|
service.async_register_platform_entity_service(
|
|
hass,
|
|
DOMAIN,
|
|
SERVICE_ADB_COMMAND,
|
|
entity_domain=MEDIA_PLAYER_DOMAIN,
|
|
schema={vol.Required(ATTR_COMMAND): cv.string},
|
|
func="adb_command",
|
|
)
|
|
service.async_register_platform_entity_service(
|
|
hass,
|
|
DOMAIN,
|
|
SERVICE_LEARN_SENDEVENT,
|
|
entity_domain=MEDIA_PLAYER_DOMAIN,
|
|
schema=None,
|
|
func="learn_sendevent",
|
|
)
|
|
service.async_register_platform_entity_service(
|
|
hass,
|
|
DOMAIN,
|
|
SERVICE_DOWNLOAD,
|
|
entity_domain=MEDIA_PLAYER_DOMAIN,
|
|
schema={
|
|
vol.Required(ATTR_DEVICE_PATH): cv.string,
|
|
vol.Required(ATTR_LOCAL_PATH): cv.string,
|
|
},
|
|
func="service_download",
|
|
)
|
|
service.async_register_platform_entity_service(
|
|
hass,
|
|
DOMAIN,
|
|
SERVICE_UPLOAD,
|
|
entity_domain=MEDIA_PLAYER_DOMAIN,
|
|
schema={
|
|
vol.Required(ATTR_DEVICE_PATH): cv.string,
|
|
vol.Required(ATTR_LOCAL_PATH): cv.string,
|
|
},
|
|
func="service_upload",
|
|
)
|