找回密码
 立即注册

微信扫码登录

搜索
查看: 29746|回复: 68

[技术探讨] 分享一个自部署的查询国家电网电费的API方案

  [复制链接]

2

主题

24

回帖

257

积分

论坛分享达人

积分
257
金钱
231
HASS币
0
发表于 2023-7-8 12:18:28 | 显示全部楼层 |阅读模式
本帖最后由 qianshi 于 2024-4-30 14:42 编辑

代码停止更新,源代码已归档,之后不再维护

项目名已更新,请从新仓库拉取代码:
源码地址:https://github.com/okatu-loli/Electricity-Tracker
项目趋于稳定,目前考虑构建docker,由于现实原因,更新较慢,请谅解,欢迎小伙伴提交pr

一些话
由于出租屋用电量较大,时不时就会欠费断电,不太想上web端和客户端,也不想开通自动付电费,所以写了这么一段代码用于提醒交电费,也可以实时查询电费

目前只测试了保定地区,其他地区没有进行测试,理论来说全国通用

功能介绍
  • 自动化查询:自动定时登录网页,获取电费数据,无需人工干预。
  • 数据API:通过Flask Web服务器,提供API接口,可以随时查询当前电费。
  • 阈值通知:当电费低于用户设定的阈值时,程序会自动发送通知。
  • 执行通知:可以设定在每次查询执行后发送通知,无论电费是否达到阈值。
  • 多平台支持:目前支持飞书和ServerChan两种通知方式,未来可能会支持更多平台。



配置文件:

                               
登录/注册后可看大图


项目依赖:
  • python 3.10
  • 依赖安装:
  • pip install -r requirements.txt
    playwright install



使用方法
  • 更名 config.ini.example 为 config.ini ,修改配置文件 config.ini ,填入自己的国家电网的账号密码、通知配置、飞书和ServerChan的密钥。
  • 运行 app.py 文件,启动Web服务器。
  • 访问 http://localhost:5000/electricity 接口,获取最新的电费数据。
  • 也可以单独执行main.py文件,这将不会有定时任务和API的功能。
  • 设定好通知时间、阈值等,程序将按照这些配置进行工作。



程序须在后台运行,不能关闭,后期会尝试打包docker,现阶段Linux可以用systemctl或者screen,Windows端可以设置开机自启(需自行搜索相关教程)
对于systemctl,配置文件可以参考我的(需修改):
[Unit]
Description=update and return dianfei

[Service]
ExecStart=sudo /usr/bin/python3 /home/qianshi/service/dianfei/app.py
Restart=always
User=root
Group=root
Environment=PATH=/usr/bin:/usr/bin:/usr/local/bin
WorkingDirectory=/home/qianshi/service/dianfei

[Install]
WantedBy=multi-user.target


因为开放了API,所以应该可以很容易接入ha,本人还是小白,欢迎各位大佬留言交流

计划
  • 支持多户号查询
  • 支持更多信息的查询
  • 支持docker部署
  • 支持命令行快速生成配置文件


本贴更新日志
2023年7月11日:更新依赖缺失的错误(感谢@sktyou指正错误)

2023年7月12日:添加更新计划(感谢@siri10086 @d380025303 @youcome)
2023年7月14日:添加MQTT支持,实现多渠道消息推送,详见PR [#1](https://github.com/okatu-loli/Baoding-Electricity-Tracker/pull/1) 感谢[@sunshinenny](https://github.com/sunshinenny)

2023年8月19日:增加Webhook支持,详见 [#2](https://github.com/okatu-loli/Baoding-Electricity-Tracker/pull/2) 感谢[@marvyn](https://github.com/marvyn)

2023年11月23日:更新验证码识别逻辑



评分

参与人数 9金钱 +64 收起 理由
gw886 + 5
summ99111 + 5 期待docker版本
zyxcompany + 5 大佬 有docker部署的方案了吗?
lqf1206 + 8 论坛有你更精彩!
myhades + 5 感谢楼主分享!
liangxw2008 + 1 高手,这是高手!
demacia + 5 高手,这是高手!
admin + 20 感谢楼主分享!
dscao + 10 感谢楼主分享!

查看全部评分

回复

使用道具 举报

ARCW 

1

主题

5

回帖

221

积分

论坛技术达人

积分
221
金钱
210
HASS币
20
发表于 2024-12-21 21:30:12 | 显示全部楼层
回复

使用道具 举报

2

主题

24

回帖

257

积分

论坛分享达人

积分
257
金钱
231
HASS币
0
 楼主| 发表于 2024-3-1 15:37:28 | 显示全部楼层
janusking 发表于 2024-1-26 22:22
同楼上,能加入HA吗

特殊原因,项目仓库转私有,短期内不再更新
回复

使用道具 举报

1

主题

43

回帖

649

积分

高级会员

积分
649
金钱
605
HASS币
0
发表于 2024-1-26 22:22:18 | 显示全部楼层
同楼上,能加入HA吗
回复

使用道具 举报

7

主题

156

回帖

1424

积分

金牌会员

积分
1424
金钱
1261
HASS币
0
发表于 2024-1-13 16:53:33 | 显示全部楼层
怎么加入HA
回复

使用道具 举报

1

主题

36

回帖

168

积分

注册会员

积分
168
金钱
131
HASS币
0
发表于 2024-1-12 17:14:22 | 显示全部楼层
期待docker版本
回复

使用道具 举报

frx 手机认证

12

主题

164

回帖

1811

积分

论坛技术达人

积分
1811
金钱
1620
HASS币
60
发表于 2023-12-29 11:32:44 | 显示全部楼层
楼主,docker能否构建个latest标签的镜像呢,以后更新起来比较方便
回复

使用道具 举报

11

主题

90

回帖

1184

积分

金牌会员

积分
1184
金钱
1083
HASS币
0
发表于 2023-12-7 00:01:21 | 显示全部楼层
很厉害,支持楼主丰富功能
回复

使用道具 举报

6

主题

40

回帖

269

积分

中级会员

积分
269
金钱
223
HASS币
0
发表于 2023-12-5 10:09:34 | 显示全部楼层
大佬还在吗?HA里怎么获取数据?
回复

使用道具 举报

0

主题

12

回帖

126

积分

注册会员

积分
126
金钱
114
HASS币
0
发表于 2023-12-4 09:33:10 | 显示全部楼层
同{"message":"An error occurred: 'NoneType' object is not subscriptable","status":500},这个是咋回事啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-7-18 13:13 , Processed in 0.062387 second(s), 16 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表