找回密码
 立即注册

微信扫码登录

搜索
查看: 61076|回复: 121

[插件集成] 北京电费查询加强版

 火.. [复制链接]

20

主题

530

回帖

3611

积分

元老级技术达人

积分
3611
金钱
3021
HASS币
210

教程狂人突出贡献

发表于 2021-8-16 19:43:50 | 显示全部楼层 |阅读模式
本帖最后由 involute 于 2023-8-15 18:55 编辑

北京用电信息查询
通过“国网北京电力”微信公众号的接口,采集你的家庭用电信息。

2022.6.24更新-v0.2.1

  • 更新了数据获取接口
    2-3月份时北京国网电力公众号进行了长达一个月的维护,近期偶尔查看才发现部分接口已经完全变更,虽然目前老接口还可以用,但此次更新将全部转为新接口获取数据,以防止老接口停止提供数据
  • 优化了启动加载
    尝试解决部分情况下,HA启动时无法正常完成数据获取导致实体无效的问题

2022.6.17更新-v0.1.4

  • 修正了上一个版本的BUG

2022.6.16更新-v0.1.3

  • 支持采集最近30日用电情况
    为此增加传感器sensor.XXXXXXXX_daily_XX(XX为1-30数字),传感器及其说明请见文档
    目前只确定day_consume1是平时用电,day_consume2/3/4到底哪个对应尖/峰/谷,我还没弄清楚。希望有能力的同学帮我查证一下。

2022.6.2更新-v0.1.2

  • 修改传感器扩展属性,解决HA2022版本历史数据中电费金额无法获取的问题

2021.9.10更新-v0.1.1

  • 补回了峰谷用户遗漏的用电类别传感器
  • 重写阶梯用户判断及取数据方法
  • 判断方法不知是否准确,有待反馈

2021.9.5更新- 支持非居民用户的峰平谷电价类别策略

  • 为峰平谷用户新增当前电价类别传感器
  • 为峰平谷用户移除不必要的传感器
  • 因为峰平谷用电政策可能会发生变化,所以在const.py中加入峰平谷配置
    PGC_PRICE = [
    {
        "key": "尖峰",
        "month": [7, 8],
        "time_slot": [[11, 13], [16, 17]]
    },
    {
        "key": "峰",
        "time_slot": [[10, 15], [18, 21]]
    },
    {
        "key": "平",
        "time_slot": [[7, 10], [15, 18], [21, 23]]
    },
    {
        "key": "谷",
        "time_slot": [[23, 7]]
    }
    ]

2021.8.18更新

  • 修复了阶梯2时无法正确显示剩余额度的错误



使用之前
首先关注“国网北京电力”微信公众号,打开微营业厅->个人中心->户号关联,确保你至少已关联一个北京国网电力的户号。如果没有关联,在此进行户号关联操作。此时点开微营业厅,应已经可以看到关联的用户,点击用户,可以看到该用户的用电信息。

使用任何网络抓包软件,如安卓手机的Fiddler, 苹果手机的Stream,进行抓包,过滤条件可以选择"HTTP"。抓包时在微营业厅上进行操作,查看一下用电信息。看到HTTP HEADER中有内容为“user_openid=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”的内容,将user_openid=后的内容复制下来,如果最后是以\r\n结尾,则去掉\r\n,如果后部包含等于号"=",保留等于号。这个字符串就是openid,保存备用。
screenshot.png

安装
使用HACS以自定义存储库方式安装,或者从[Latest release](https://github.com/georgezhao2010/bj_sgcc_energy/releases/latest)下载最新的Release版本,将其中的custom_components/bj_sgcc_engergy放到你的Home Assistant的custom_components/bj_sgcc_engergy中。

推荐使用HACS安装,这样后期有更新,会自动收到提示。

配置
在configuration.yaml中,增加配置如下:

bj_sgcc_energy:
  openid: 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' #此为微信公众号中抓取的openid

重新启动Home Assistant

特性
  • 如果公众号中关联了多个北京国电用户,则支持多个用户用电信息的采集。
  • 支持实时用电单价实体,可用于Home Assistant 2021.8.X最新的能源模块的实时电费计算。
  • 数据为定时更新,更新间隔为10分钟。


传感器
entity_id形式 含义 属性 备注
sensor.XXXXXXXXXX_balance 电费余额 last_update - 网端数据更新时间
sensor.XXXXXXXXXX_current_level 当前用电阶梯(峰平谷用户无此项)
sensor.XXXXXXXXXX_current_level_consume 当前阶梯用电(峰平谷用户无此项)
sensor.XXXXXXXXXX_current_level_remain 当前阶梯剩余额度(峰平谷用户无此项)
sensor.XXXXXXXXXX_current_pgv_type 当前电价类别(阶梯用户无此项) 可能的值:峰、平、谷、尖峰(?)
sensor.XXXXXXXXXX_current_price 当前电价
sensor.XXXXXXXXXX_year_consume 本年度用电量
sensor.XXXXXXXXXX_year_consume_bill 本年度电费
sensor.XXXXXXXXXX_history_XX 过去12个月用电 name - 月份;consume_bill - 该月电费 XX取值为1-12
sensor.XXXXXXXXXX_daily_XX 过去30天用电 name - 日期<br/>bill_time - 采集时间;day_consume1 - 平时用电;day_consume2 - 尖时用电?;day_consume3 - 峰时用电?;day_consume4 - 谷时用电? XX取值为1-30


其中XXXXXXXXXX为北京国电用户户号

示例
历史数据采用flex-table-card展示

type: vertical-stack
cards:
  - type: entities
    entities:
      - entity: sensor.XXXXXXXXXX_balance
      - entity: sensor.XXXXXXXXXX_current_level
      - entity: sensor.XXXXXXXXXX_current_level_consume
      - entity: sensor.XXXXXXXXXX_current_level_remain
      - entity: sensor.XXXXXXXXXX_current_price
      - entity: sensor.XXXXXXXXXX_year_consume
      - entity: sensor.XXXXXXXXXX_year_consume_bill
    title: 家1
  - type: custom:flex-table-card
    title: 过去12个月用电情况
    entities:
      include: sensor.XXXXXXXXXX_history_*
    columns:
      - name: 月份
        data: name
      - name: 用电量
        data: state
      - name: 电费
        data: consume_bill
  - type: custom:flex-table-card
    title: 过去30天用电情况
    entities:
      include: sensor.XXXXXXXXXX_daily_*
    columns:
      - name: 日期
        data: name
      - name: 用电量
        data: state
      - name: 尖时用电
        data: day_consume2
      - name: 峰时用电
        data: day_consume3
      - name: 平时用电
        data: day_consume1
      - name: 谷时用电
        data: day_consume4


screenshot.png

你也可以根据需要采用自己的展示形式

特别鸣谢
瀚思彼岸论坛@crazysiri,直接使用了他的部分代码。

项目地址
https://github.com/georgezhao2010/bj_sgcc_energy
觉得有用的点个星哦

压缩包下载
压缩包移除,这里不做更新了,请去GITHUB下载最新版release好了










评分

参与人数 8金钱 +54 HASS币 +10 收起 理由
cym9007 + 5
Exp + 2 高手,这是高手!
miple + 2 高手,这是高手!
yinglively + 5 高手,这是高手!
姚远 + 10 感谢楼主分享!
yonghengdeshang + 5 厉害了word楼主!
tokoy + 5 感谢楼主分享!
+ 20 + 10 厉害了word楼主!

查看全部评分

回复

使用道具 举报

14

主题

252

回帖

2357

积分

金牌会员

积分
2357
金钱
2091
HASS币
0
发表于 2024-4-28 16:31:40 | 显示全部楼层
wayes 发表于 2023-12-12 10:29
大佬,更新下吧2023.12.1 Core

同问
还有现在为什么报错
从新Fiddler下
发现微信客户端没有user_openid,只有client_id
回复

使用道具 举报

0

主题

24

回帖

96

积分

注册会员

积分
96
金钱
72
HASS币
0
发表于 2024-2-23 11:44:00 | 显示全部楼层
wayes 发表于 2023-12-12 10:29
大佬,更新下吧2023.12.1 Core

我也遇到了同样的问题,你解决了吗?
回复

使用道具 举报

2

主题

82

回帖

952

积分

高级会员

积分
952
金钱
868
HASS币
0
发表于 2023-12-12 10:29:18 | 显示全部楼层
大佬,更新下吧2023.12.1 Core Quicker_20231212_102833.png
回复

使用道具 举报

slgo 

0

主题

5

回帖

150

积分

注册会员

积分
150
金钱
145
HASS币
0
发表于 2023-10-19 12:04:11 | 显示全部楼层
你好,升级到最新版本无法用了,添加集成的时候提示此设备无法通过ui添加
回复

使用道具 举报

20

主题

530

回帖

3611

积分

元老级技术达人

积分
3611
金钱
3021
HASS币
210

教程狂人突出贡献

 楼主| 发表于 2023-8-30 22:50:13 | 显示全部楼层

多新叫新?我2023.8.3新不新?用得好好的
回复

使用道具 举报

0

主题

13

回帖

386

积分

中级会员

积分
386
金钱
373
HASS币
0
发表于 2023-8-30 17:20:17 | 显示全部楼层
新版ha不能用了
回复

使用道具 举报

1

主题

9

回帖

88

积分

注册会员

积分
88
金钱
78
HASS币
0
发表于 2023-7-31 19:42:52 | 显示全部楼层
厉害厉害
回复

使用道具 举报

1

主题

36

回帖

697

积分

高级会员

积分
697
金钱
660
HASS币
0
发表于 2023-6-15 16:05:05 | 显示全部楼层
可能因为ha升级了,应该不好用了,期待作者更新一版吧
回复

使用道具 举报

0

主题

5

回帖

55

积分

注册会员

积分
55
金钱
50
HASS币
0
发表于 2023-6-13 20:43:41 | 显示全部楼层
新手啊,怎么设置最后的信息展示啊。
我插件,configuration.yaml也配置完成了,flex-table-card怎么添加设置啊,能源模块的实时电费计算卡片我也没找到、请详细说明一下。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-29 02:58 , Processed in 0.117758 second(s), 17 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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