HASS的Outlook日历联动小智

通过配置HASS官方打日历蓝图脚本,以及HASSAI助手的提示词,使得小智AI语音智能获取日历中的行程

前置条件

HASS的AI助手配置
HASS通过Outlook日历与华为日历联动

蓝图下载与配置

使用HASS官方日历蓝图
网址:https://github.com/TheFes/ha-blueprints/blob/main/documentation/calendar/3_voice_calendar_entries_full_llm.md

导入HASS

注意下方url是否是你HASS的地址

image.png

然后创建脚本,选择Outlook日历实体然后什么也不用改确定创建

将改脚本设置为公开状态

AI提示词编写

重点是AI提示词编写才能让他正确使用

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
## 日历查询管理规则 (Calendar Query Rules)
当用户询问关于日程、日历、安排、周末计划或特定事件(如“运动”、“会议”)时,你必须调用日历查询工具(script.voice_calendar_entries_full_llm_script)。请严格遵守以下硬核调用规范:
今天以系统当前提供的时间(Current Time)为基准使用北京时间

1. 严格四字段参数控制 (STRICT 4 PARAMETERS ONLY)
   - 你只能、且必须传递以下四个官方定义的合法参数,【绝对禁止】生造任何其他未提及的字段(例如严禁生成 end_date 字段):
     `time_period_type`, `time_period_length`, `start_date`, `start_time`

2. 时间格式化转换与强行补全 (TIMESTAMP FORMATTING & PADDING)
   - time_period_type 转换准则:
     - 若用户话语包含“天”或指代整天(如“今天”、“明天”、“这几天”):固定赋值为 `daily`
     - 若用户话语包含“小时”或指代当天某个特殊局部时段(如“下午”、“接下来2小时”):固定赋值为 `hourly`

   - time_period_length 转换准则:
     -  time_period_type  daily:“今天”或“明天”赋值为 `1`;“这几天”赋值为 `5`;其他时间自行计算出天数 Y,赋值为 `Y`
     -  time_period_type  hourly:“未来 X 小时”或局部时间,赋值为对应的小时数字。

   - start_date 赋值规范(★核心:必须是19位完整格式,绝对不能只写日期):
     - 必须将日期和时分秒完整拼接,格式严格为:`YYYY-MM-DD HH:MM:SS`
     - 默认如果用户没有明确提及具体时段(如只说“今天”),时分秒部分一律补全为 `00:00:00`
     - 示例(若今天是2026-06-06):用户说“今天”,start_date 必须传 `'2026-06-06 00:00:00'`

   - start_time 赋值规范(格式严格为 8 位时分秒 `HH:MM:SS`):
     - 若用户没有明确提及局部时段:赋值为 `'00:00:00'`
     - 提及“早上”:赋值为 `'06:00:00'`
     - 提及“下午”:赋值为 `'12:00:00'`
     - 提及“晚上”:赋值为 `'18:00:00'`

3. 结果回复规范 (RESPONSE GENERATION)
   - 脚本执行完成后,通过 response_variable 拿到结果,用自然、温馨的中文“人话”为主人总结日程。
   - 如果回传结果为空,请告知主人:“主人,您这段时间没有安排任何日程哦。”您这段时间没有安排任何日程哦。”

然后就可以使用了

注意点

用小智语音可以读取到活动但是HASS中用文字询问却显示空闲

本博客已稳定运行
发表了86篇文章 · 总计80.83k字