hass-xiaomi-miot
hass-xiaomi-miot copied to clipboard
电量统计和能源面板
最近这段时间, 本插件更新很多带电量的设备的电量统计实体, 但是, 相对APP来说, 还差一个对于昨天电量的实体, 群主是否可以补上? 另外一个问题, 现在有了电量统计的实体了, 我尝试放到能源面板里面, 会更好展示电量的消耗. 然后, 我用了我热水器的cost_today这个统计口径作为某个电器的在能源面板的统计实体. 但是, 最近我把家里的电表接入HA, 在能源面板里面看到我热水器的用的电量大于我电表的用的总电量. 经过我核对, 发现能源面板里面看到的热水器的昨天的电量远远大于实际在APP看到的昨天的用电量, 说明有一个问题, 就是, 这个cost_today可能不适合用于能源面板来跟踪某个设备的能耗情况. 而且, 我电表的实体是用总电量来统计, 口径应该是历史累计, 而不是当天累计. 如果我没错的话, state_class: total_increasing 这个属性 应该只能写在历史累计, 才能用于能源面板, 才能展示正确的统计结果.
根据我的理解,total_increasing
是可以表示每日、每月等周期性重置的用电量,HA会在实体状态重置为0的时候,重新统计并累加总值,如下图:
目前本插件生成的用电量实体加入能源模块后统计不准确的主要原因是,当请求米家电量统计接口时,米家云端返回了不正常的数据,导致不该重置的时候重置为0了。
明白. 如果这样还是暂时不能用来做能源模块的统计, 出错几率大. 另外, 电量统计的昨天的实体, 群主有计划加上去吗?
目前还没有计划,建议通过template生成昨日电量的实体:
# configuration.yaml
template:
- trigger:
# 每天23:59:58重置用电量
- id: reset
platform: time_pattern
hours: 23
minutes: 59
seconds: 58
# 每天23:59:59刷新用电量
- id: renew
platform: time_pattern
hours: 23
minutes: 59
seconds: 59
sensor:
- unique_id: miot_outlet1_power_cost_yesterday
state: |
{% set sta = states('sensor.miot_outlet1_power_cost_today') | int(0) -%}
{{ 0 if trigger.id == 'reset' else sta }}
device_class: energy
state_class: total_increasing
unit_of_measurement: kWh
- unique_id: miot_outlet2_power_cost_yesterday
state: |
{% set sta = states('sensor.miot_outlet2_power_cost_today') | int(0)
+ states('sensor.miot_outlet3_power_cost_today') | int(0)
-%}
{{ 0 if trigger.id == 'reset' else sta }}
device_class: energy
state_class: total_increasing
unit_of_measurement: kWh
谢谢楼主. 你知道有个需求就可以, 希望以后有机会更新到.
目前本插件生成的用电量实体加入能源模块后统计不准确的主要原因是,当请求米家电量统计接口时,米家云端返回了不正常的数据,导致不该重置的时候重置为0了。
插件已针对这种情况做出优化,即过滤掉同一天中当前用电量比上一次用电量低的数据,请更新master分支后观察。