Home Assistant ENTSO-e 透明平台能源价格
Home Assistant 的自定义组件,用于从 ENTSO-e 透明平台 (https://transparency.entsoe.eu/) 获取所有欧洲国家的能源价格。 日前能源价格作为传感器添加,可用于自动化设备切换。传感器属性中包含 24 小时能源价格预测,可以以图表形式显示:
API 访问
您需要 ENTSO-e Restful API 密钥才能使用此集成。要申请 API 密钥,请在透明平台上注册,并发送电子邮件至 transparency@entsoe.eu,主题为"Restful API access"。在邮件正文中注明您在注册时使用的电子邮件地址。
传感器
该集成添加了以下传感器:
- 今日平均日前电价(此集成包含所有价格的属性)
- 今日最高日前电价
- 今日最低日前电价
- 当前日前电价
- 当前价格相对于今日最高电价的百分比
- 下一小时日前电价
- 今日最高能源价格时间
- 今日最低能源价格时间
安装
手动安装
下载此存储库,将 custom_components
中的内容放入 Home Assistant 安装目录的 custom_components
文件夹中。重启 Home Assistant 并通过设置添加集成。
HACS
在添加 HACS 集成时搜索"ENTSO-e",并添加"ENTSO-e Transparency Platform"。重启 Home Assistant 并通过设置添加集成。
配置
可以使用 Web 界面添加传感器。在 Web 界面中,您可以添加 API 密钥和国家,传感器将自动添加到您的系统中。还有一个可选字段用于成本修改模板和结果货币。
成本修改模板
在可选字段 Price Modifyer Template
中,可以指定一个模板来修改价格,以添加额外成本(如每千瓦时的固定成本和增值税)和货币转换(基于货币传感器)。如果留空,则不会添加额外成本。
在此模板中,now()
始终指该价格所在小时的开始时间,current_price
指价格本身。这样可以修改日前价格以纠正额外成本。
下面给出了一个示例模板。您可以在这里找到和分享其他模板。
{% set s = {
"extra_cost": 0.5352,
"winter_night": 0.265,
"winter_day": 0.465,
"summer_day": 0.284,
"summer_night": 0.246,
"VAT": 1.21
}
%}
{% if now().month >= 5 and now().month <11 %}
{% if now().hour >=6 and now().hour <23 %}
{{(current_price + s.summer_day+s.extra_cost) * s.VAT | float}}
{% else %}
{{(current_price + s.summer_night + s.extra_cost) * s.VAT | float}}
{% endif %}
{% else %}
{% if now().hour >=6 and now().hour <23 %}
{{(current_price + s.winter_day + s.extra_cost) * s.VAT | float}}
{%else%}
{{(current_price + s.winter_night + s.extra_cost) * s.VAT | float}}
{% endif %}
{% endif %}
计算方法
这会更改计算(最小值、最大值、平均值)实体的行为,可选择以下方式之一:
-
滑动 最小值/最大值等实体将每小时更新一次,仅包含未来数据。 这意味着在 13:00 返回的最低价格将是未来(从该时间点起可用的)最低价格。 不考虑过去可能有更低价格的时段(如果您希望尽快且以最低价格安排负载,这种方法最有用)。
-
默认(发布时) 最小值/最大值等实体将在新数据可用时更新。 这意味着最低价格将在下一天的价格数据可用时更新(通常在 12:00 至 15:00 之间)。 这还意味着在下一天的价格数据可用之前,将使用最近 48 小时的可用数据来计算最低价格。
-
轮换 最小值/最大值等实体将在午夜更新。 这意味着在 23:59 返回的最低价格将基于当天(x 日)的价格,而在 00:00,计算将仅使用次日(x+1 日)的价格。 在这里,x 日指的是随机日期,如 2022-10-10,x+1 日则为 2022-10-11。
ApexChart 图表
价格可以使用 ApexChart Graph Card 显示,如上面的示例所示。该图表的 Lovelace 代码如下:
type: custom:apexcharts-card
graph_span: 24h
span:
start: day
now:
show: true
label: Now
header:
show: true
title: Electriciteitsprijzen Vandaag (€/kwh)
yaxis:
- decimals: 2
series:
# 这是未配置名称的实体 ID。
# 配置名称后,它将变为 sensor.<name>_average_electricity_price_today。
- entity: sensor.average_electricity_price_today
stroke_width: 2
float_precision: 3
type: column
opacity: 1
color: ''
data_generator: |
return entity.attributes.prices.map((entry) => {
return [new Date(entry.time), entry.price];
});
更新
该集成处于早期阶段,会频繁更新。如果您已经设置了此集成,并在更新后遇到错误,请尝试重新执行上述安装步骤。