2025-04-13 12:04:30 +08:00
|
|
|
"""百度语音集成."""
|
|
|
|
|
import logging
|
2025-04-13 19:34:14 +08:00
|
|
|
from typing import Any, Dict
|
2025-04-13 12:04:30 +08:00
|
|
|
|
|
|
|
|
from homeassistant.config_entries import ConfigEntry
|
|
|
|
|
from homeassistant.core import HomeAssistant
|
|
|
|
|
from homeassistant.helpers import config_validation as cv
|
|
|
|
|
from aip import AipSpeech
|
|
|
|
|
|
|
|
|
|
from .const import (
|
|
|
|
|
DOMAIN,
|
|
|
|
|
CONF_APP_ID,
|
|
|
|
|
CONF_API_KEY,
|
|
|
|
|
CONF_SECRET_KEY,
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
_LOGGER = logging.getLogger(__name__)
|
|
|
|
|
|
|
|
|
|
CONFIG_SCHEMA = cv.deprecated(DOMAIN)
|
|
|
|
|
|
2025-04-13 19:34:14 +08:00
|
|
|
PLATFORMS = ["tts", "stt"]
|
|
|
|
|
|
2025-04-13 12:04:30 +08:00
|
|
|
async def async_setup(hass: HomeAssistant, config: Dict[str, Any]) -> bool:
|
|
|
|
|
"""设置百度语音集成."""
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|
|
|
|
"""设置百度语音配置项."""
|
|
|
|
|
# 存储配置数据
|
2025-04-13 19:34:14 +08:00
|
|
|
hass.data.setdefault(DOMAIN, {})
|
2025-04-13 12:04:30 +08:00
|
|
|
hass.data[DOMAIN] = {
|
|
|
|
|
CONF_APP_ID: entry.data[CONF_APP_ID],
|
|
|
|
|
CONF_API_KEY: entry.data[CONF_API_KEY],
|
|
|
|
|
CONF_SECRET_KEY: entry.data[CONF_SECRET_KEY],
|
|
|
|
|
}
|
|
|
|
|
|
2025-04-13 19:34:14 +08:00
|
|
|
# 加载平台
|
|
|
|
|
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
|
2025-04-13 12:04:30 +08:00
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|
|
|
|
"""卸载百度语音配置项."""
|
2025-04-13 19:34:14 +08:00
|
|
|
# 卸载平台
|
|
|
|
|
unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
|
2025-04-13 12:04:30 +08:00
|
|
|
|
2025-04-13 19:34:14 +08:00
|
|
|
if unload_ok:
|
|
|
|
|
hass.data.pop(DOMAIN)
|
|
|
|
|
|
|
|
|
|
return unload_ok
|