Home Assistant Renault 空调定时调度指南:用 renault.ac_set_schedules 一键设置车辆空调计划
2026/9/17 19:47:19 网站建设 项目流程

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_startrenault.ac_cancel动作的用法与底层限制。

动作概述:一次调用,设置多组空调调度

renault.ac_set_schedules用于更新一辆雷诺车辆的空调调度,使得座舱在你选择的时刻提前完成预热或预冷。与一次只能启动一次的空调动作不同,这个动作的核心能力是在单次调用中同时更新一组或多组调度,例如工作日早上 7 点、周末下午 2 点等多套计划可以一次性写入。

该动作属于 Renault 集成(ha_domain: renault)的一部分。根据集成文档,该集成通过MyRenault 云服务与雷诺服务器通信,并提供传感器(电池电量、外部温度、里程表、续航、充电速率、胎压等)、二进制传感器、按钮、设备跟踪器、数字与选择器等多种平台。

需要特别注意的是,空调控制可能要求有效的订阅服务(例如Pack EV Remote Control),并且并非所有车辆都支持。此外,集成文档中的已知限制也适用于本动作:部分较新车型使用新的接口端点,而底层库尚未支持,对应动作可能返回错误码err.func.wired.forbidden

从用户界面调用该动作

如果你更习惯用可视化方式搭建自动化和脚本,Home Assistant 会引导你逐步完成该动作的配置,无需编写 YAML。官方文档给出的操作步骤如下:

  1. 进入设置(Settings)>自动化与场景(Automations & scenes)
  2. 打开一个已有的自动化或脚本,或者选择创建自动化(Create automation)>创建新自动化(Create new automation)
  3. 如果是新建自动化,需要在When(何时)区域添加一个触发器。脚本(Script)不需要触发器——它们由其他自动化或调用方触发执行。
  4. Then do(然后执行)区域选择添加动作(Add action)
  5. 搜索动作Renault: Update A/C schedule(雷诺:更新空调调度)并选中。
  6. Vehicle(车辆)字段中选择目标车辆,并在Schedules(调度)字段中填写调度内容。
  7. 选择保存(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 参数说明

参数必填类型说明
vehiclestring接收命令的雷诺车辆 ID。
scheduleslist一组或多组要设置的调度,具体结构见下文。

完整调用示例(自动化中)

在自动化中,通常将动作写进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(可选):该调度是否激活。如果不填写此项,则保持当前的启用状态不变
  • mondaysunday(可选):每天的调度内容。规则如下:
    • 如果省略某一天,该天的当前设置保持不变;
    • 如果将某一天设置为空值,则该天的设置被清除
    • 如果设置某一天,则必须包含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. 启用调度 1id: 1被激活,并在周一 12:00 UTC 准备就绪;由于只写了monday,其他日期沿用当前设置。
  2. 停用调度 2id: 2activated: false直接关闭该调度,但保留了周一周二的时刻信息,方便日后重新启用;此外它同时设置了mondaytuesday两个日期,展示了多日期单组调度的写法。

时间格式的注意事项

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_FRen_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)、每天的readyAtTimeactivated开关等字段直接对应车辆端(通过 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管理、按天(mondaysunday)配置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),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询