南方电网电费数据集成,支持用户名和密码直接登陆 |
您所在的位置:网站首页 › 南方电网怎么改预留手机号信息 › 南方电网电费数据集成,支持用户名和密码直接登陆 |
南方电网电费数据HA集成
本集成已经加入HACS默认存储库,可以在HACS直接搜索安装 注意:本集成需求Home Assistant最低版本为2022.11。 本集成仅适用于南方电网覆盖范围(广东、广西、云南、贵州、海南),国网接口与南网不通用,因此无法适配。 --------------------------------2023.05.20更新--------------------------------------------------- v1.1.1 正式版 每日电费和阶梯电价实体 功能性更新: 新数据接入:每日电费和当前阶梯电价信息。 添加了6个新实体:最近日电费、当前阶梯、当前阶梯剩余电量、当前阶梯电价、本月累计电费、上月电费。 移除了设置中的”请求超时“参数。非功能性更新: 使用asyncio重构数据更新部分,提升数据获取速度。 本版本最低HA版本要求为2022.11,请注意升级。 bug修复和其他小更改。如有新增bug,欢迎反馈。 --------------------------------以下正文--------------------------------------------------- 在论坛里看到 @louis_lee 大佬写的国网电费数据接入,奈何lz人在南网区域内,没办法直接用现成的插件。 看了一下论坛里大部分都是用Node-RED配合抓包得到的数据接入,比较麻烦,正好最近有点空研究了一下国网网上营业厅的登陆页面,发现比想象中容易,一步一步把登陆时的加密解密实现了。 后来发现网页端的登录态几个小时就会过期,于是又抓包研究了一下App(南网在线),发现App和网页端接口基本相同,但是登录态有效时间长很多,于是切换到了App端的API。 第一次写HA的集成,磕磕绊绊从有想法开始到最终实现写了接近两个周,期间参考了无数论坛和Github前辈们的代码,难免会有一些bug,请见谅。 由于该集成直接使用 Web API 登陆,因此资源消耗相对较小,性能较弱的机器也可以放心使用。 目前实现的功能见下文,也可以直接到Github看:https://github.com/CubicPill/china_southern_power_grid_stat 支持功能 支持南方电网覆盖范围内的电费数据查询(广东、广西、云南、贵州、海南) 支持使用手机号和密码登陆,支持登录态失效之后自动重新登陆 支持多个南网账户(每个账户一个集成),支持单个账户下的多个缴费号 数据自动抓取和更新(默认间隔4小时,可配置) 全程GUI配置,无需编辑yaml进行配置(暂不支持yaml配置)可接入如下数据: 当前余额和欠费 当前阶梯电量数据(档位、阶梯剩余电量、阶梯电价) 昨日用电量 最新一日用电量、电费(取有数据的最近一日) 本年度总用电量、总电费(非实时,更新到上个月) 本年度每月用电量、电费(非实时,更新到上个月) 上年度总用电量、总电费 上年度每月用电量、电费 当月累计用电量、电费(非实时,有2天左右的延迟) 当月每日用电量、电费(非实时,有2天左右的延迟) 上月累计用电量、电费 上月每日用电量、电费不支持阶梯电费设置、峰谷电价设置和电费计算(本插件只进行数据抓取和转换,不进行任何计算),暂时也没有支持计划(南网暂时没有统一的API)。如有需求,建议单独创建对应的电价实体。 使用方法使用HACS或手动下载安装 使用手机号和密码登陆
setup_login.png (40.34 KB, 下载次数: 0) 下载附件 2022-11-19 04:30 上传 配置界面
setup_add_account.png (47.01 KB, 下载次数: 0) 下载附件 2022-11-19 04:30 上传 添加缴费号
setup_select_account.png (38.3 KB, 下载次数: 0) 下载附件 2022-11-19 04:30 上传 传感器列表 余额 欠费 当前阶梯档位 当前阶梯剩余电量 当前阶梯电价 上月电费 上月用电量 当月用电量 当月电费 本年度电费 本年度用电量 上年度电费 上年度用电量 最近日用电量 最近日电费 昨日用电量传感器额外参数(每月用量、每日用量)
sensor_attr.png (137.37 KB, 下载次数: 0) 下载附件 2022-11-19 04:30 上传 参数设置
setup_params.png (38.52 KB, 下载次数: 0) 下载附件 2022-11-19 04:30 上传 数据更新策略由于上月数据和去年数据在生成之后一般不会发生变化,因此对于上月累计用电量、上月每日用电量、上年度累计用电量、上年度每月用电量,数据更新间隔将会与一般更新间隔有所不同。 具体更新策略如下: 对于上月数据,在每月前3天(1~3日)将会跟随一般更新间隔更新(默认为4小时),其余时间将会停止更新,但数据依然可用。 对于去年数据,在每年一月的前7天(1月1日~1月7日)将会每天更新(在每天第一次触发更新时更新),其余时间将会停止更新,但数据依然可用。 如果需要强制刷新数据,重载集成即可。 一些技术细节 登陆接口加密原理此部分较为敏感,详见 github repo Web端接口和App端接口对于南网API相关信息的提取主要通过Web端的抓包和JS代码获取。 之后因为登录态有效期问题,对App端抓包进行比对后切换到App端API。 经过验证,Web端(网上营业厅)和App端(南网在线)的API接口基本相同,差别主要在于: Web App API路径 ucs/ma/wt/ ucs/ma/zt/ 支持登陆方式 手机号+密码/验证码,南网在线/微信/支付宝扫码 手机号+密码/验证码 token有效期 几小时 较长 Cookies token包含在cookies中 无cookies 敏感信息(姓名、地址等) 部分信息用“*”隐去 有明文全文另外在HTTP请求头上有细微的差别(如:UA),但实际上对于请求的返回结果没有影响。 API 实现库详见 github repo 代码和功能设计参考感谢瀚思彼岸论坛以下帖子作者的辛苦付出,排名不分先后 不折腾,超简单接入电费数据 北京电费查询加强版 电费插件(Node-Red流)-广东南方电网 【抄作业】电费插件(NR流)-南网自定义集成教程参考:Building a Home Assistant Custom Component Part 1: Project Structure and Basics |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |