Home Assistant Green Planet Energy get_prices 动作详解:获取 15 分钟级动态电价并接入自动化
Home Assistant Green Planet Energy get_prices 动作详解获取 15 分钟级动态电价并接入自动化【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io导读green_planet_energy.get_prices是 Home Assistant 官方文档中针对 Green Planet Energy德国可再生能源供应商集成提供的一个数据型动作action它一次性拉取未来 15 分钟粒度的动态电价槽位并通过响应变量response variable把结果交还给自动化或脚本的后续步骤使用。本文以该动作为核心完整覆盖 UI 与 YAML 两种调用方式、全部配置参数、响应数据结构并结合仓库中 green_planet_energy 集成文档 与配套的模板传感器示例说明如何把电价数据真正落成仪表盘上的价格图表——这是实现电价低谷自动洗衣、充电等动态电价优化方案的基础能力。动作定位只取数据不改家居green_planet_energy.get_prices与常见的开关类动作不同它不改变家中任何设备状态只负责把 Green Planet Energy 动态电价的未来 15 分钟价格槽位取回来。官方文档source/_actions/green_planet_energy.get_prices.markdown明确指出由于它返回数据而非执行操作动作需要一个接收结果的地方——最常见的做法是搭配模板传感器template sensor把返回结果存入传感器的状态与属性再在仪表盘上渲染成价格曲线。这与集成文档 source/_integrations/green_planet_energy.markdown 中描述的集成定位完全一致该集成ha_domain: green_planet_energy2026.2 版本引入云轮询类、bronze 质量等级从 Green Planet Energy 拉取 15 分钟电价并提供Current price当前价格、Highest price today今日最高价、Lowest price day/night日/夜最低价等一系列传感器实体。get_prices动作则是这些固定传感器的补充让你可以按需获取任意未来时段的完整价格序列。需要特别注意的是该动作不支持 targets。在 UI 中你不会被提示选择区域、设备、实体或标签因为它操作的对象是集成本身而不是某个家居实体。从 UI 调用逐步操作指南如果你习惯可视化配置可以完全在界面中完成不需要写 YAML。官方文档给出的步骤是进入设置Settings 自动化与场景Automations scenes。打开一个已有的自动化或脚本或选择创建自动化 创建新自动化。新建自动化时在When何时部分添加触发器脚本不需要触发器——它们由其他自动化或服务调用时才运行。在Then do然后执行部分选择添加动作Add action。在搜索框中搜索并选择Green Planet Energy: Get energy prices。在Config entry配置条目下拉框中选择你的 Green Planet Energy 集成。设置Hours小时数为你想获取的时长。点击保存Save。执行后价格数据会落入你预先配置好的模板传感器即可直接在仪表盘上使用。UI 中的选项UI 模式下该动作只有两个选项官方文档options_ui数据块定义如下选项说明是否必填Config entry要从中获取价格的 Green Planet Energy 集成条目是Hours返回的小时数从当前 15 分钟槽位开始计算取值范围0.25 到 24步进 0.25是在 YAML 中调用响应变量是核心在 YAML 中动作全名为green_planet_energy.get_prices。由于它返回数据官方 YAML 示例强调必须把结果存入响应变量response variable以便在自动化/脚本的后续步骤中引用action: | action: green_planet_energy.get_prices data: config_entry_id: 1234567890abcdef1234567890abcdef hours: 6 response_variable: result上面这段配置会获取未来 6 小时的电价并把响应存入result变量。之后同一条自动化或脚本中的任何后续动作都可以通过result.prices、result.hours_requested等字段访问这些数据。YAML 选项官方参数表参数说明类型是否必填config_entry_id要获取价格的 Green Planet Energy 配置条目 ID。获取方式在 UI 中构建一次该动作再切换到 YAML 视图即可看到自己条目的 IDstring是hours返回的小时数从当前 15 分钟槽位开始接受0.25 至 24步进 0.25float是响应数据结构动作的响应是一个映射mapping包含请求的小时数以及一列价格槽位。官方文档给出的响应字段为hours_requested请求的小时数。prices返回的 15 分钟价格槽位列表每个槽位包含start槽位开始时间戳ISO 8601 格式。end槽位结束时间戳ISO 8601 格式。price电价单位 EUR/kWh。官方文档提供的缩略响应示例hours_requested: 2.0 prices: - start: 2026-03-24T10:00:0001:00 end: 2026-03-24T10:15:0001:00 price: 0.284375 - start: 2026-03-24T10:15:0001:00 end: 2026-03-24T10:30:0001:00 price: 0.28125可以看到每个槽位恰好覆盖 15 分钟价格为带时区的精确时间戳price为十进制数值单位 EUR/kWh可直接用于模板引擎中的数学运算与图表绘制。实战把电价渲染成仪表盘图表官方集成文档 source/_integrations/green_planet_energy.markdown 提供了一个可直接落地的完整示例用时间模式触发器 get_prices动作 模板传感器构建一个持有未来 6 小时价格数据的传感器。将以下内容加入configuration.yaml加入后需重启 Home Assistant 使配置生效template: - triggers: - trigger: time_pattern minutes: /15 actions: - action: green_planet_energy.get_prices data: config_entry_id: 1234567890abcdef1234567890abcdef hours: 6 response_variable: result sensor: - name: Green Planet Energy next 6 hours state: {{ result.prices | length }} unit_of_measurement: slots attributes: prices: {{ result.prices }} hours_requested: {{ result.hours_requested }}这段配置的运作逻辑值得拆解触发器time_pattern触发器设定为每 15 分钟minutes: /15运行一次——与电价的 15 分钟发布节奏对齐确保传感器数据始终新鲜动作每次触发都会调用green_planet_energy.get_prices请求未来 6 小时价格并存入result响应变量传感器模板传感器的状态设为result.prices | length即当前返回的槽位数量单位slots同时把prices与hours_requested暴露为属性。prices属性中的结构化列表可以直接被仪表盘的图表卡片如 ApexCharts 等消费从而渲染出未来的电价曲线。由此形成的传感器驱动模式正是官方文档强调的核心理念动作本身只负责取数展示交给模板传感器。更进一步的进阶用法见 Get cheapest time window 动作文档——它可以在指定时段全天/白天 06:00-18:00/夜间 18:00-06:00内为洗碗机、电池充电等 0.524 小时的任务自动计算最省钱的时间窗口与get_prices形成互补共同构成动态电价优化的完整方案。重要说明与数据边界官方文档在 Good to know 一节给出了两条直接影响使用结果的关键约束数据只发布今天和明天。如果你请求的小时数超过可用数据范围超出部分的槽位会直接从响应中省略而不会以 0 电价填充——这意味着result.prices的实际长度可能小于hours_requested对应的理论槽位数。明天的价格并非全天可用。在供应商发布次日价格之前任何触及明天的请求都会返回比你请求更少的槽位。这两点与集成文档Known limitations中的表述一致属于供应商数据发布机制而非动作本身的行为。在设计自动化时尤其是把价格存入传感器做展示的场景应把返回槽位可能少于请求数作为常态处理——这也是为什么官方示例用result.prices | length而非固定值作为传感器状态。快速验证无需一行 YAML如果你想在不写任何自动化的情况下验证该动作的效果可以打开设置 工具 操作Actions即开发者工具的服务界面搜索green_planet_energy.get_prices填入配置条目与小时数后点击执行动作Perform action即可直接看到实时返回的响应数据。这是上手该动作最快、最安全的方式也能帮助你确认自己的config_entry_id与期望的小时数取值。总结green_planet_energy.get_prices是一个围绕取数设计的动作通过config_entry_id与hours两个参数即可获得未来最多 24 小时的 15 分钟粒度电价并通过response_variable把结果注入自动化流程。它与模板传感器配合后可以实时在仪表盘呈现电价曲线理解其今日/明日数据边界与不足 15 分钟即舍弃的响应行为是构建可靠动态电价自动化如低谷期启动洗碗机、错峰充电的前提。【免费下载链接】home-assistant.io:blue_book: Home Assistant User documentation项目地址: https://gitcode.com/GitHub_Trending/ho/home-assistant.io创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考