Skip to content

Repository files navigation

华润燃气 Home Assistant 集成

Version HA Version HACS Badge License GitHub Stars Downloads Last Commit

通过 Home Assistant 集成查看燃气账单、欠费、用气量、气价等信息,支持能源面板。

安装

方法1: HACS 安装(推荐)

  1. 打开 HACS
  2. 点击 Integrations
  3. 点击右上角 ? → Custom repositories
  4. 添加仓库地址: https://github.com/C3H3-AI/ha-crcgas
  5. 类别选择 Integration
  6. 搜索并安装 "华润燃气"

方法2: 手动安装

cp -r crcgas ~/.homeassistant/custom_components/

配置

获取认证参数

登录微信 华润燃气 小程序,从网络请求头中提取以下三个参数:

参数 说明 来源
refresh-token 刷新令牌 请求头
bo-token 运营令牌 请求头
wxCode 微信授权码 请求头

添加集成

  1. HA → 设置 → 设备与服务 → 添加集成
  2. 搜索 华润燃气
  3. 填写 refresh-tokenbo-tokenwxCode
  4. 完成配置

传感器(48个)

账单与余额

传感器 说明 单位 device_class
欠费金额 当前欠费 CNY monetary
燃气账户余额 账户余额 CNY monetary
应收金额 本期应收金额 CNY monetary
最近缴费金额 上次缴费金额 CNY monetary
最近缴费时间 最近一次缴费时间 - -
违约金 逾期违约金 CNY monetary
违约金起算日期 违约金起算日期 - -
账单金额 本期账单金额 CNY monetary
账单月份 本期账单月份 - -
预估燃气账单 按阶梯价计算 CNY monetary
累计燃气费用 历史账单+当前预估 CNY monetary
结算状态 账单结算状态 - -

用气量

传感器 说明 单位 device_class
本期表读数 燃气表当月读数 gas
燃气表总读数 能源面板专用累计值 gas
本期用气量 本期用量 gas
图表月用气量 当月累计 gas
本期一阶梯用气量 第一阶梯用量 gas
本期二阶梯用气量 第二阶梯用量 gas
本期三阶梯用气量 ⭐ 第三阶梯用量 gas
上期用气量 上期用量(参考) gas
上期表读数 上期燃气表读数 gas
年度月均用气量 12月平均 gas
一阶梯累计已用 第一阶梯年度累计 gas
二阶梯累计已用 第二阶梯年度累计 gas
三阶梯累计已用 ⭐ 第三阶梯年度累计 gas

气价与档位

传感器 说明 单位
一阶梯气价 第一阶梯单价 CNY/m³
二阶梯气价 第二阶梯单价 CNY/m³
三阶梯气价 ⭐ 第三阶梯单价 CNY/m³
一阶梯剩余气量 第一阶梯余量
二阶梯剩余气量 第二阶梯余量
三阶梯剩余气量 ⭐ 第三阶梯余量
一档总限额 第一阶梯年度上限
二档总限额 第二阶梯年度上限

时间与状态

传感器 说明
本期抄表时间 上次抄表日期
上期抄表时间 上期抄表日期
数据撤取时间 数据更新时间
集成状态 当前状态(正常/密钥过期等)
年度缴费次数 当年缴费次数

信息类

传感器 说明
用气地址 用气地址
燃气公司 燃气公司名
燃气类型 天然气/液化气
购气方式 物联网表/IC卡
户名 燃气账户户名
手机号 绑定手机号
表号 燃气表编号
区域 所属区域
账户状态 账户状态
能源仪表盘燃气 能源面板专用(total_increasing

按钮

按钮 说明
刷新数据 手动触发数据更新
抓取历史记录 拉取所有历史账单并注入能源面板统计

功能特性

⚡ 数据安全

  • 保持上次有效值 — API 失败时读数不归零,月初未出账时累计值不变
  • _safe_float — 自动处理 API 千分位逗号数字,防止崩溃

⚡ 数据刷新

  • API 并行请求 — 4 个接口同时查询,刷新速度从 3-5 秒降至 1-2 秒
  • 阶梯气价动态读取 — 从 API 实时获取阶梯上限,不硬编码(含三档0203)

📊 能源面板配置

能源面板支持用气量和燃气费用两个维度,推荐配置方式如下:

用气量(Gas)

来源 说明 推荐
crcgas:monthly_gas_usage 外部统计(37个月历史) ✅ 主推
sensor.hua_run_ran_qi_ran_qi_zong_xiao_hao_liang 传感器(total_increasing 亦可

配置步骤:

  1. HA → 设置 → 能源 → 燃气来源 → 添加燃气
  2. 选择 crcgas:monthly_gas_usage(统计来源)
  3. 保存即可

燃气费用(Cost)

crcgas:monthly_bill_amount 统计包含了每月的燃气费用数据,可配合用气量一起配置到能源面板中,让面板同时显示用量和费用的趋势。

配置步骤:

  1. 在能源面板的燃气来源中,添加费用统计
  2. 费用来源选择 crcgas:monthly_bill_amount
  3. 用气量来源选择 crcgas:monthly_gas_usage

历史数据范围

  • 用气量: 2023年5月 ~ 至今(37个月),首次安装时自动注入
  • 燃气费: 2023年5月 ~ 至今(37个月),同步注入
  • 自动更新: 新账单出现后自动增量注入,无需重启
  • 零外部依赖 — 使用 Python 内置 sqlite3 直写数据库,不依赖 SQLAlchemy

🔔 异常通知

  • Token 过期或网络异常时自动推送 HA 通知
  • 恢复后通知自动消除

🔄 Token 刷新

  • 每小时主动刷新 Token,无需手动干预
  • 过期前 5 分钟紧急刷新,避免服务中断
  • 集成状态传感器实时显示当前 Token 状态

⏱ 自定义刷新间隔

单位 说明 示例
小时 每 N 小时更新 1, 2, 3, 6, 12, 24
每天指定时间 每天 08:00
每周指定星期 每周一、三、五
每月指定日期 每月 1, 15 号

仪表盘卡片

燃气统计卡片 (v4.0+)

提供年度对比、阶梯进度、悬浮提示等功能。

添加:

  1. 设置 → 仪表盘 → 资源 → 添加资源
  2. URL: /local/community/crcgas-card/crcgas-statistics-card.js
  3. 类型: JavaScript 模块
  4. 编辑仪表盘 → + 添加卡片 → 搜索「华润燃气统计」

功能:

  • 📊 双年对比折线/柱状图(m³ / ¥ 切换)
  • 🖱️ 鼠标悬停浮标查看月度详情(当年 + 去年同期)
  • 📈 Y 轴整数标注,全年 12 月显示
  • 🏗️ 一阶阶梯进度条(年度限额对比)
  • 🔄 年份翻页查看历史数据
  • 🤖 自动检测实体前缀,无需手动配置

统计图卡片(单实例)

type: statistics-graph
entities:
  - entity: crcgas:monthly_gas_usage
    name: 月度用气量
  - entity: crcgas:monthly_bill_amount
    name: 月度燃气费
title: 华润燃气 年度趋势
days_to_show: 365
period: month
chart_type: line
stat_types:
  - state
  - change

Automation 示例

# 燃气欠费提醒
automation:
  - alias: "燃气欠费提醒"
    trigger:
      - platform: state
        entity_id: sensor.crcgas_arrears
    condition:
      - condition: numeric_state
        entity_id: sensor.crcgas_arrears
        above: 0
    action:
      - service: notify.notify
        data:
          message: "您有燃气欠费 ¥{{ states('sensor.crcgas_arrears') }}"

故障排除

Token 相关错误

  • 检查三个参数是否填写正确
  • Token 过期后集成会自动推送通知提醒
  • 重新配置即可获取新 Token

数据不更新

  • 检查网络连接
  • 查看 HA 日志中的集成错误信息
  • 尝试重启 HA Core

更新日志

v2.0.3 (2026-06-24)

  • 🔧 统计数据修复 — SQLite 注入改用 source=recorder,与 HA Recorder 共享同一套统计基线
  • 🔧 旧数据清理 — 自动删除 source=crcgas 残留数据,避免双源冲突
  • 🔧 启动跳过优化 — 已有历史数据时不再重复删除注入,保障重启速度

v2.0.2 (2026-06-23)

  • 三档用气量 + 三档气价 — 支持第三阶梯数据(gasStepList + consPrcInfo 0203)
  • 上期表读数/上期抄表时间 — 显示上次抄表数据
  • 结算状态 — 显示"全部结清"等结算信息
  • 保持上次有效值 — API 失败时读数不归零,月初未出账时累计值不变
  • _safe_float — 自动处理 API 千分位逗号数字,防止崩溃
  • 🔧 能源面板修复 — 历史数据同时注入 燃气表总读数累计燃气费用,解决费用曲线空白
  • 🔧 集成状态中文显示 — 修复英文 key 问题(normal → 正常)
  • 📊 传感器总数 28 → 34 — 新增 6 个传感器

v2.0.6 (2026-06-28)

  • 🐛 修复 datetime 变量作用域崩溃 — 内嵌 import 导致 UnboundLocalError,全部传感器不可用
  • 🐛 修复启动时统计数据被覆盖_import_history_statisticslast_ts 未定义,从0重新累加
  • 新账单自动增量注入 — 检测到新 applicationNo 自动存存储 + 注入统计
  • 账单自动保存到历史存储 — 每次刷新检测新账单,即时保存
  • 🔧 传感器名称修复 — 烃气讳公司→燃气公司、烃气类型→燃气类型、上期表観数→上期表读数
  • 🔧 累计燃气费用 state_class 修复total_increasingtotal(与 monetary 兼容)
  • 📊 README 更新 — 传感器表格对齐实际名称、能源面板配置说明

v2.0.5 (2026-06-26)

  • 🐛 修复浮窗负值 — 工具提示用 Math.max(0, ...) 防止显示负数
  • 💄 标签优化 — 汇总改为"本年用气量""去年同期用气量"
  • 🏷️ 期次显示 — 最近一期用气/费用现在显示月份 (如"5月"),不再显示完整时间戳
  • 🎨 crcgas-statistics-card 圆点优化 — 折线图数据点缩小为实心 (r3.5),去白边更清爽

v2.0.4 (2026-06-25)

  • crcgas-statistics-card v4.0 通用版重构
    • 自动检测 entity_prefix,无需手动配置
    • 柱状图/折线图切换,Y轴整数标注
    • 鼠标悬停浮动提示(双年数据)
    • 一阶阶梯进度条(年度限额对比)
    • 2026年同比数据展示
  • 新增传感器 — 一档总限额/二档总限额

v2.0.1 (2026-06-23)

  • 🐛 修复能源面板负数问题 — 账单未出时总表读数和总费用不再跌为 0,保持上次值不变

v2.0.0 (2026-06-22)

  • 燃气表历史累计传感器 — 专为能源面板设计,显示完整历史趋势
  • SQLite 直写统计注入 — 零外部依赖,Python 内置 sqlite3 直写数据库
  • 一键抓取+注入 — 按钮触发时自动删除旧统计并写入历史完整累计数据
  • 启动安全only_missing 模式,已有统计时跳过,不删除历史数据
  • 🐛 修复 SQLAlchemy 兼容性问题 — HA 2026.6.4 不再依赖 recorder 引擎
  • 🐛 修复启动时数据丢失 — 避免重启时误删已注入的历史统计

v1.3.0 (2026-06-22)

  • API 并行请求 — 4 个接口同时查询,刷新 1-2 秒
  • 阶梯气价动态读取 — 从 API 实时获取,不硬编码
  • device_class/state_class — 传感器正确分类,支持能源面板
  • 燃气表总读数 — 累计传感器,可直接接入 HA 能源面板
  • 历史数据导入统计系统 — 月度用气量/费用趋势图
  • 集成异常通知 — Token 过期/网络异常自动推送通知
  • 集成状态中文显示 — 正常/密钥过期/网络异常等
  • 精度控制 — 金额固定显示 2 位小数
  • 🐛 余额修复 — 获取失败返回不可用,不误报为 0

v1.2.7

  • 🔧 修复 Token 刷新逻辑:每小时无条件刷新 + 剩余<5分钟紧急刷新
  • ✨ 新增紧急刷新定时器(每1分钟检查)

v1.2.6

  • ✨ 新增独立 Token 刷新定时器,每小时主动检查并刷新 Token
  • 🔧 共享 API 实例,Token 刷新状态在 __init__.pysensor.py 间同步
  • 🔧 集成启动时立即执行一次 Token 检查

v1.2.5

  • ✨ 首次启动自动抓取历史记录

v1.2.4

  • 🐛 修复:删除实体 async_update 避免刷屏

v1.2.3

  • 🐛 修复:按钮延迟加载 + 非阻塞首次刷新

v1.2.0

  • ✨ 预估燃气账单传感器
  • ✨ native_value 统一返回 float
  • ✨ 自动保存用气历史

💝 赞助

如果这个集成帮到了你,欢迎请我喝杯咖啡 ☕

微信支付 支付宝
微信 支付宝

About

CRC GAS 华润燃气 - Home Assistant 集成,监控燃气账户用气信息

Topics

Resources

Stars

30 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages