如何使用Home Assistant监控用电量

随着Home Assistant Core 2021.8的发布,我们不再需要grafana或influxdb来实时查看您家中的电量使用情况。 我曾经有几个单独的 docker 容器和比较复杂的设置,只是为了完成一些简单的能源监控任务,比如:

  • Influxdb 容器用于存储来自Home Assistant的定时数据,因为Home Assistant不会长时间存储历史数据,例如 1个月。
  • Grafana 容器使用 influxdb 数据将能源数据绘制成条形图进行统计。
  • 另外一些内置和第三方lovelace UI组件,如gauge和mini-graph-card。

实测结果还不错,但功能有限且设置繁琐,并且没有与Home Assistant完全集成,因为我必须转到grafana页面或使用iframe来查看数据。

Grafana Energy Chart for Home Assistant Lovelace Energy Chart for Home Assistant

因为我没有购买支持我的电力公司的电量监控设备,所以我的电力消耗是通过家里的许多Tasmota智能电源插头单独监控的,甚至包括太阳能电池板! 如果您不想花钱买专用的电量监控设备,但又想了解您家的电量消耗/生产情况,那么这是一个纯粹的DIY且廉价的解决方案。

我的电量监控整体设置是:

  • Tasmota智能插头
  • 3块100W太阳能电池板并联到并网逆变器
  • Home Assistant Core > 2021.8
  • 自定义template sensor,用于汇总所有智能插头收集的总能耗
  • 一些微小调整,让能量组件识别模板传感器进行统计

首先,所有具有电量监控功能的智能插头都需要通过内置Tasmota集成与Home Assistant集成。 由于Home Assistant Energy需要能源监控传感器的一些特殊属性,因此存储长期统计数据的传感器需要正确的属性。 在对新的传感器实体进行了一些摆弄之后,我发现最重要的是 unit_of_measurementstate_classlast_reset。 当前的用电量数据被收集并汇总,然后转换为千瓦时以便于识别。

例子 templates.yaml 文件

 1- sensor:
 2    - name: "Total Current Plugs Energy"
 3      unit_of_measurement: kWh
 4      state_class: measurement
 5      device_class: energy
 6      icon: 'mdi:gauge'
 7      state: >
 8        {{ (states('sensor.family_room_plug_energy_power') | int
 9         + states('sensor.hot_water_dispenser_switch_energy_power') | int
10         + states('sensor.livingroom_plug_energy_power') | int
11         + states('sensor.office_plug_energy_power') | int
12         + states('sensor.parent_switch_energy_power') | int
13         + states('sensor.synologyplug_energy_power') | int) / 1000
14        }}
15      attributes:         
16        last_reset: '2021-01-01T00:00:00'
17

通过正确的自定义配置,模板传感器终于可以显示在能量配置下拉列表中,如下所示: Energy consumption dropdown | Energy Card Configuration :----------------:|:------------: |

现在打开Home Assistant Energy页面,哇,你会在那里看到一些很酷的图表! 尽管该图表并不代表我家的实际用电总消耗量和太阳能电量产量,但至少它让我大致了解了整体情况以及每个智能插头的能源使用情况。 这绝对是Home Assistant的一大进步。 我曾经日以继夜地安装和配置 grafana 和 influxdb,但现在我可以在 10 分钟内在家庭助手中实现同样的功能,这难道不香吗? 🎉🎊

Home Assistant能源组件还是处于比较新的阶段,希望以后能开发出更多的功能。

alt text

comments powered by Disqus

翻译: