重要说明: 原作者好像是@zhaoyibo,但是原作者仓库已经不存在。猜测本项目的fork仓库应该是原项目fork出来的,fork的仓库也没有开启Issues,所以本仓库的修改不会发起合并
通过“北京燃气” APP 的接口,采集你的家庭用气信息。
- 支持北京燃气智能物联网燃气表(简称 NB 表,见下图)的用气信息采集,自动查询户号
- 数据为定时更新,更新间隔为 10 分钟
- 支持阶梯用气
下载“北京燃气” APP,注册登录并绑定户号,然后点击“用气分析”,应该就可以看到该户号的用气信息。
使用任何网络抓包软件,如安卓手机的 Fiddler, 苹果手机的 Stream,进行抓包
抓包时先退出“北京燃气”APP登录状态,进入登录页面->密码登录,输入手机号/密码点击登录,返回抓包软件找到https://zt.bjgas.com/bjgas-server/oauth/token?client_id=xxxxxxx&client_secret=xxxxxxx&grant_type=password&username=xxxxxxx&password=xxxxxxx的请求,将 “/bjgas-server/oauth/token?” 后的内容复制下来,这些参数就是认证的参数,保存备用。
使用 HACS 以自定义存储库方式安装,或者从 Latest release 下载最新的 Release 版本,将其中的 custom_components/bj_gas 放到你 Home Assistant 的 custom_components/bj_gas 中。
进入 -> 设置 -> 设备与服务 -> 添加集成 -> 搜索"北京燃气信息查询" -> 输入 认证参数 (client_id=xxxxxxx&client_secret=xxxxxxx&grant_type=password&username=xxxxxxx&password=xxxxxxx) -> 提交
包含的传感器
| entity_id 形式 | 含义 | 属性 | 备注 |
|---|---|---|---|
| sensor.XXXXXXXXXXX_balance | 燃气费余额 | last_update - 网端数据更新时间 | |
| sensor.XXXXXXXXXXX_current_level | 当前用气阶梯 | ||
| sensor.XXXXXXXXXXX_current_level_remain | 当前阶梯剩余额度 | ||
| sensor.XXXXXXXXXXX_current_price | 当前气价 | ||
| sensor.XXXXXXXXXXX_year_consume | 本年度用气量 | ||
| sensor.XXXXXXXXXXX_month_reg_qty | 本月用气量 | ||
| sensor.XXXXXXXXXXX_battery_voltage | 气表电量 | ||
| sensor.XXXXXXXXXXX_mtr_status | 阀门状态 | ||
| sensor.XXXXXXXXXXX_monthly_* | 月度用气情况 | name - 月份 state - 用气量 consume_bill - 该月燃气费 |
*取值为1-12 |
| sensor.XXXXXXXXXX_daily_* | 最近一周用气 | name - 日期 state - 用气量 |
*取值为1-7 |
其中 XXXXXXXXXXX 为北京燃气用户户号
历史数据采用 flex-table-card展示
type: vertical-stack
cards:
- type: entities
entities:
- entity: sensor.XXXXXXXXXXX_balance
- entity: sensor.XXXXXXXXXXX_month_reg_qty
- entity: sensor.XXXXXXXXXXX_current_level
- entity: sensor.XXXXXXXXXXX_current_level_remain
- entity: sensor.XXXXXXXXXXX_current_price
- entity: sensor.XXXXXXXXXXX_year_consume
- entity: sensor.XXXXXXXXXXX_battery_voltage
- entity: sensor.XXXXXXXXXXX_mtr_status
title: 燃气信息
- type: custom:flex-table-card
title: 月度用气情况
entities:
include: sensor.XXXXXXXXXXX_monthly_*
columns:
- name: 月份
data: name
- name: 用气量
data: state
- name: 费用
data: consume_bill
- type: custom:flex-table-card
title: 最近一周用气情况
entities:
include: sensor.XXXXXXXXXXX_daily_*
columns:
- name: 日期
data: name
- name: 用气量
data: state你也可以根据需要采用自己的展示形式



