本帖最后由 bonnyandsky 于 2022-9-12 13:47 编辑
我在上海,阶梯电价规则是这样的。
第一档0-3120度(含),峰时0.617元,谷时0.307元。
第二档3120-4800度(含),峰时0.677元,谷时0.337元。
第三档超过4800度,峰时0.977元,谷时0.487元。
峰时段(6-22时)
谷时段(22时-次日6时)。
复制代码
我用的硬件是培正PZEM-004T+ DT-06无线WiFi串口透传模块
插件使用的是: georgezhao2010 的peacefair_energy
解决方法如下:
1:configuration.yaml里添加以下内容
sensor: !include sensors.yaml #调用本地目录下的sensors.yaml文件,这样为了不让configuration.yaml变得很臃肿。
复制代码
2:configuration.yaml同目录下新建sensors.yaml文件
3:在 sensors.yaml添加以下内容(目的是 建立“实时电价”的虚拟实体,给能源面板的实时电价实体调用)
- platform: template #平台名称
sensors: #传感器列表
shi_shi_dian_jia: #实体名称:只能用小写,下划线
unique_id: "shishidianjia" #UID(必须)
friendly_name: '实时电价' #在前端显示的传感器昵称(可选)
unit_of_measurement: "元/kWh" #传感器数值的单位(可选)
icon_template: mdi:currency-jpy #默认图标
value_template: > #定义一个获取传感器状态的模板(必须)下面的6和22是指6点和22点,"1""2""3"是指阶梯123,6个价格分别是3个阶梯的峰谷价格
{% if now().strftime("%H")| int >= 6 and now().strftime("%H")|int < 22 and states("sensor.dang_qian_jie_ti")=="1" %}
0.617
{%elif now().strftime("%H")| int >= 6 and now().strftime("%H")|int < 22 and states("sensor.dang_qian_jie_ti")=="2" %}
0.677
{%elif now().strftime("%H")| int >= 6 and now().strftime("%H")|int < 22 and states("sensor.dang_qian_jie_ti")=="3" %}
0.977
{% elif states("sensor.dang_qian_jie_ti")=="1" %}
0.307
{% elif states("sensor.dang_qian_jie_ti")=="2" %}
0.337
{% elif states("sensor.dang_qian_jie_ti")=="3" %}
0.487
{% endif %}
复制代码
4: 在sensors.yaml添加以下内容(目的是建立“当前阶梯”的虚拟实体,给“ 实时电价”的虚拟实体判断目前使用哪个阶梯 )
- platform: template
sensors:
dang_qian_jie_ti:
unique_id: "dangqianjieti"
friendly_name: '当前阶梯'
unit_of_measurement: "级"
icon_template: mdi:elevation-rise
value_template: > #3210和4800分别是上海3个阶梯的2个用电量分界值
{% if states("sensor.192_168_0_159_year_real") | float <= 3120 %}
1
{% elif states("sensor.192_168_0_159_year_real") | float >3120 and states("sensor.192_168_0_159_year_real") | float <= 4800 %}
2
{% else %}
3
{% endif %}
复制代码
Ps: sensor.192_168_0_159_year_real 是Peacefair Energy Monito插件的年用电量实体 这个根据你实际情况修改 以上虚拟实体都可以在概览里添加卡片看到对应的数据
5:刚弄好所有用电量数据都是0.所以这个时候通过今年累计用电量判断的阶梯是不准的,我们需要修正用电量。方法如下:
1)docker安装的HA:停止ha,去以下路径 修改文件内容:config/.storage/peacefair_energy/xxxxxxxxxxx_state.json
2)群晖VMM安装的HA:
(1):在集成里禁用Peacefair Energy Monitor。然后通过SSH或者SMB方式打开HA的共享文件夹,找到config/.storage/目录(因为禁用了Peacefair Energy Monitor,所以这个时候你看不到peacefair_energy这个文件夹)
(2):把修改好的 xxxxxxxxxxx_state.json 文件(xxxx这一串数字要和Peacefair Energy Monitor启用时的state文件前缀保持一样)复制到 config/.storage/peacefair_energy/ 目录下( peacefair_energy文件夹请自己新建 )
(3): 在集成里启用 Peacefair Energy Monitor
xxxxxxxxxxx_state.json文件内容如下:请复制你自己的源文件内容,下例仅供参考
{
"last_time": 1662960997.3884313,#这个数据不用管
"last_state": 126.11,#这个数据也不用管,而且我发现修改了也没有用
"year": {
"history_state": 3836,#去年用电量数据
"real_state": 3127.450000000004#今年用电量数据
},
"month": {
"history_state": 483,#上月用电量数据
"real_state": 89.4500000000001#当月用电量数据
},
"week": {
"history_state": 45.54,#上周用电量数据
"real_state": 0.25000000000000006#本周用电量数据
},
"day": {
"history_state": 16,#昨日用电量数据
"real_state": 0.25000000000000006#今日用电量数据
}
}
复制代码