之前电费是通过国网江苏电力营业厅获取的,但是现在这个小程序已经停止服务了,导致现在不能够正常抓取了。之后就闲置了很久,后来看到有个网上国网的集成,但是十分卡,而且动不动就失败,之后在Github上找了找,发现了一个好用的项目。
0.搭建
sgcc_electricity_new的项目的文档中已经描述的很清楚了,按照流程走很轻松的就能够搭起来。搭建完成后就能在1Panel中看到这个容器了。运行时间比较久,等他运行完成你就能在HA中看到它生成的实体了。
homeassistant实体名称如下
实体entity_id | 说明 |
---|---|
sensor.last_electricity_usage | 最近一天用电量,单位KWH、度。属性含present_date(查询电量代表的日期) |
sensor.electricity_charge_balance | 预付费显示电费余额,反之显示上月应交电费,单位元 |
sensor.yearly_electricity_usage | 今年总用电量,单位KWH、度。 |
sensor.yearly_electricity_charge | 今年总用电费用,单位元 |
sensor.month_electricity_usage | 最近一天用电量,单位KWH、度。属性含present_date(查询电量代表的日期) |
sensor.month_electricity_charge | 上月总用电费用,单位元 属性含present_date(查询电量代表的日期) |
1.修改
目前项目中没有结清的标识,光靠余额是不能判断出费用是否结清,所以改了一下代码,加了一个结清的标识。需要修改 data_fetcher.py ,增加一个结清的标志,获取的代码如下,其他的地方也要相应增加,照着原来的写即可。
def _get_eletric_state(self, driver):
try:
text = driver.find_element(By.CSS_SELECTOR, ".amt.light .amttxt").text
flag = 0 if text == "当期已结清" else 1
return flag
except:
return None
2.展示
最后集成的结果如下图:
这是首页展示的简要信息汇总,能够看出是否结清,如果没结清会显示欠费金额。
这是总的电费详细信息,可以查看家里的和电车的电费使用情况。
下图是每日的用电量,这个不能看到当天的,最新更新的是两天前的数据。
3.总结
安装这个后香橙派的内存占用有些许提升,当他跑起来是会冲到70多,但是还在能接受的范围。有些事情只要决定去做了,不管多久,多么困难,只要坚持了,总会有结果的。