- 新增完整的 Home Assistant 集成示例,支持文本对话与上下文会话 - 实现小爱音箱事件解析与 TTS 播报,支持实时打断功能 - 添加连续会话管理,支持区域上下文注入和会话超时结束 - 提供完整的配置系统、类型定义和错误处理 - 包含 Rust 扩展模块用于小爱音箱通信,支持音频流处理 - 添加单元测试、集成测试脚本和 Docker 部署支持 - 提供详细的使用文档和配置说明
39 lines
1.1 KiB
Python
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"] == "书房"
|