Files
open-xiaoai/examples/hass/tests/test_typing.py
T
zimonianhua aafdf024d3 feat(hass): 新增小爱音箱接入 Home Assistant Assist 的完整示例
- 新增完整的 Home Assistant 集成示例,支持文本对话与上下文会话
- 实现小爱音箱事件解析与 TTS 播报,支持实时打断功能
- 添加连续会话管理,支持区域上下文注入和会话超时结束
- 提供完整的配置系统、类型定义和错误处理
- 包含 Rust 扩展模块用于小爱音箱通信,支持音频流处理
- 添加单元测试、集成测试脚本和 Docker 部署支持
- 提供详细的使用文档和配置说明
2026-03-04 17:11:04 +08:00

39 lines
1.1 KiB
Python

from hass.typing import AppConfig
def test_xiaoai_config_defaults():
cfg = AppConfig.model_validate(
{
"homeassistant": {
"url": "http://ha.local:8123",
"access_token": "token",
}
}
)
assert cfg.xiaoai.continuous_conversation_enabled is True
assert cfg.xiaoai.session_idle_timeout_seconds == 15
assert cfg.xiaoai.session_end_keywords == ["再见", "拜拜", "滚", "退下"]
assert cfg.xiaoai.client_ip_area_mapping == {}
assert cfg.xiaoai.interrupt_on_new_input is True
def test_xiaoai_config_area_mapping_loaded():
cfg = AppConfig.model_validate(
{
"homeassistant": {
"url": "http://ha.local:8123",
"access_token": "token",
},
"xiaoai": {
"client_ip_area_mapping": {
"192.168.1.10": "客厅",
"192.168.1.11": "书房",
}
},
}
)
assert cfg.xiaoai.client_ip_area_mapping["192.168.1.10"] == "客厅"
assert cfg.xiaoai.client_ip_area_mapping["192.168.1.11"] == "书房"