本帖最后由 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日:更新验证码识别逻辑
|