Home Assistant Renault 空调定时调度指南:用 renault.ac_set_schedules 一键设置车辆空调计划
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
导读
本指南围绕 Home Assistant 官方文档中 Renault 集成提供的renault.ac_set_schedules动作展开,讲解如何通过可视化界面或 YAML 为雷诺(Renault)车辆批量设置空调调度(A/C schedules),让座舱在你指定的时间准时达到适宜温度。读完本文,你将掌握该动作的完整参数结构、readyAtTime的 UTC 时间格式约定、多组调度同时写入的写法,以及与之配套的renault.ac_start、renault.ac_cancel动作的用法与底层限制。
动作概述:一次调用,设置多组空调调度
renault.ac_set_schedules用于更新一辆雷诺车辆的空调调度,使得座舱在你选择的时刻提前完成预热或预冷。与一次只能启动一次的空调动作不同,这个动作的核心能力是在单次调用中同时更新一组或多组调度,例如工作日早上 7 点、周末下午 2 点等多套计划可以一次性写入。
该动作属于 Renault 集成(ha_domain: renault)的一部分。根据集成文档,该集成通过MyRenault 云服务与雷诺服务器通信,并提供传感器(电池电量、外部温度、里程表、续航、充电速率、胎压等)、二进制传感器、按钮、设备跟踪器、数字与选择器等多种平台。
需要特别注意的是,空调控制可能要求有效的订阅服务(例如Pack EV Remote Control),并且并非所有车辆都支持。此外,集成文档中的已知限制也适用于本动作:部分较新车型使用新的接口端点,而底层库尚未支持,对应动作可能返回错误码err.func.wired.forbidden。
从用户界面调用该动作
如果你更习惯用可视化方式搭建自动化和脚本,Home Assistant 会引导你逐步完成该动作的配置,无需编写 YAML。官方文档给出的操作步骤如下:
- 进入设置(Settings)>自动化与场景(Automations & scenes)。
- 打开一个已有的自动化或脚本,或者选择创建自动化(Create automation)>创建新自动化(Create new automation)。
- 如果是新建自动化,需要在When(何时)区域添加一个触发器。脚本(Script)不需要触发器——它们由其他自动化或调用方触发执行。
- 在Then do(然后执行)区域选择添加动作(Add action)。
- 搜索动作Renault: Update A/C schedule(雷诺:更新空调调度)并选中。
- 在Vehicle(车辆)字段中选择目标车辆,并在Schedules(调度)字段中填写调度内容。
- 选择保存(Save)。
UI 中的选项
| 选项 | 说明 |
|---|---|
| Vehicle | 要发送命令的雷诺车辆。 |
| Schedules | 一组或多组要设置的调度,其结构见下文"调度结构详解"。 |
值得注意的是,该动作不支持 targets(目标实体选择器),必须通过Vehicle字段明确选择车辆。这是因为它属于面向单辆车的远程控制命令,而不是面向多个实体广播的动作。
在 YAML 中使用该动作
如果你直接编写 YAML,或者想确切了解 Home Assistant 底层做了什么,可以参考下面的技术参考。YAML 中该动作的调用名为renault.ac_set_schedules,官方给出的基础示例如下:
action: renault.ac_set_schedules data: vehicle: abcde1234567890abcde1234567890ab schedules: - id: 1 activated: true monday: readyAtTime: "T12:00Z"YAML 参数说明
| 参数 | 必填 | 类型 | 说明 |
|---|---|---|---|
vehicle | 是 | string | 接收命令的雷诺车辆 ID。 |
schedules | 是 | list | 一组或多组要设置的调度,具体结构见下文。 |
完整调用示例(自动化中)
在自动化中,通常将动作写进action列表里。下面是一个更完整的形态:
alias: "Precondition car on weekday mornings" triggers: - trigger: time at: "06:00:00" actions: - action: renault.ac_set_schedules data: vehicle: abcde1234567890abcde1234567890ab schedules: - id: 1 activated: true monday: readyAtTime: "T07:30Z" tuesday: readyAtTime: "T07:30Z" wednesday: readyAtTime: "T07:30Z" thursday: readyAtTime: "T07:30Z" friday: readyAtTime: "T07:30Z"如果你需要在设置完调度后立即验证效果,也可以配合相关动作(见下文)在同一个自动化里执行。
调度结构详解(Good to know)
renault.ac_set_schedules的精髓在于schedules参数。它接受一组或多组调度,所有调度在同一次调用中全部写入。每一组调度都是一个映射(mapping),包含以下键:
id(必填):调度编号,范围为 1 到 5,具体可用数量取决于车辆型号。activated(可选):该调度是否激活。如果不填写此项,则保持当前的启用状态不变。monday到sunday(可选):每天的调度内容。规则如下:- 如果省略某一天,该天的当前设置保持不变;
- 如果将某一天设置为空值,则该天的设置被清除;
- 如果设置某一天,则必须包含
readyAtTime键,格式为UTC 时间,写法是THH:MMZ(例如T12:00Z)。
官方文档给出的多组调度示例:
- id: 1 activated: true monday: readyAtTime: "T12:00Z" - id: 2 activated: false monday: readyAtTime: "T12:00Z" tuesday: readyAtTime: "T12:00Z"分析该示例可以看出两种典型用法:
- 启用调度 1:
id: 1被激活,并在周一 12:00 UTC 准备就绪;由于只写了monday,其他日期沿用当前设置。 - 停用调度 2:
id: 2的activated: false直接关闭该调度,但保留了周一周二的时刻信息,方便日后重新启用;此外它同时设置了monday与tuesday两个日期,展示了多日期单组调度的写法。
时间格式的注意事项
readyAtTime的格式是THH:MMZ,其中:
T是 ISO 8601 时间前缀;HH:MM是 24 小时制的小时和分钟;Z表示 UTC(协调世界时)零时区。
使用时要根据你的本地时区换算。例如中国标准时间(UTC+8)下的 20:00,对应的 UTC 值即为T12:00Z。如果你的自动化在同一时区运行,也可以直接用模板或变量构造该字符串,但务必确保最终传给动作的值是 UTC 格式,否则车辆端可能按错误的时间执行调度。
立即试运行:动作调试入口
如果你想在不写任何 YAML 的情况下验证该动作对真实车辆实体的效果,可以在 Home Assistant 中打开设置(Settings)>工具(Tools)>动作(Actions),搜索renault.ac_set_schedules,填写字段后点击执行动作(Perform action)。通过实际执行可以看到动作是否被车辆端接受,以及返回的状态信息。
与空调相关的配套动作
renault.ac_set_schedules与另外两个空调动作相互配合,官方文档将其标记为 related actions:
- renault.ac_start:启动雷诺车辆的空调,例如出发前预热或预冷座舱。可以立即启动,也可以通过
when参数(datetime 类型,默认现在)设定启动时间;temperature为必填 float,单位为摄氏度,范围15–25。 - renault.ac_cancel:取消雷诺车辆的空调,例如停止座舱预处理。
典型的组合思路是:用ac_set_schedules定义日常的固定调度(如工作日早晨),再用ac_start在临时需要时立即启动或指定时刻启动,最后用ac_cancel取消一次性的启动请求。这三个动作同样不支持 targets,都需要通过vehicle字段指定车辆,并且都可能受Pack EV Remote Control订阅与车型支持范围的限制。
底层原理与限制(基于仓库证据)
从 Renault 集成文档可以确认以下几点与本动作相关的实现事实:
- 连接方式:该集成是
Cloud Polling类型(ha_iot_class: Cloud Polling),通过MyRenault 云服务通信,配置流中需要提供 Locale(国家代码,如fr_FR、en_GB)、用户名、密码以及Kamereon account id(车辆所属的 Kamereon 账户 ID,仅有一个账户时自动选择)。 - 数据更新频率:由于雷诺服务器存在速率限制,集成将轮询限制为每小时 60 次数据请求;对于拥有全部 7 个端点的单辆车,大约每 7 分钟拉取一次数据。这意味着调度写入后的状态反馈(例如实体值的刷新)可能不是即时的。
- 订阅与车型限制:部分功能可能要求Pack EV Remote Control和/或Pack Smart Navigation订阅;较新车型使用的新端点尚未被底层库支持,对应动作可能以
err.func.wired.forbidden失败。 - 集成质量等级:
ha_quality_scale: silver,自 2021.8 版本引入(ha_release: 2021.8),代码维护者为@epenet。
此外,该动作面向的调度能力依赖车辆本身的远程空调调度功能。从文档结构与字段定义可以推断:调度编号上限(1–5)、每天的readyAtTime、activated开关等字段直接对应车辆端(通过 Kamereon 云接口)的调度模型,Home Assistant 侧只是将这些字段原样封装为动作参数,因此实际可用的调度数量与时间精度以你的车辆与订阅为准。
常见问题与排障建议
- 动作执行失败并提示
err.func.wired.forbidden:大概率是车型过新、底层库尚未支持对应端点,或者缺少Pack EV Remote Control订阅。可先检查车辆是否支持远程空调功能(如通过官方 App 验证)。 - 调度没有按预期时间执行:优先检查
readyAtTime是否为UTC 格式(THH:MMZ)并按本地时区正确换算;同时确认activated: true已设置,且车辆端没有其他调度与之冲突。 - 状态刷新缓慢:受每小时 60 次请求的轮询上限影响,实体状态(如调度确认信息)的更新不是实时的,请耐心等待下一轮数据拉取。
- 想确认服务端是否正常:根据集成文档的排障指引,可以打开雷诺官方 Android/iOS App 快速验证服务可用性;若需提交问题,可启用调试日志并附带诊断数据。
小结
renault.ac_set_schedules是 Renault 集成中面向空调远程调度的核心动作:一次调用即可写入 1–5 组调度,支持按id管理、按天(monday–sunday)配置readyAtTime,并允许保留或清除指定日期的设置。它适合与renault.ac_start(临时启动)和renault.ac_cancel(取消启动)组合,构成完整的远程空调控制链路。使用时务必牢记三条约束:通过vehicle选择车辆(不支持 targets)、时间为 UTC 格式、功能受订阅与车型支持范围限制。
【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考