找回密码
 立即注册

微信扫码登录

搜索
查看: 293|回复: 9

[插件集成] 天聚数行-今日动态 Home Assistant 集成

[复制链接]

53

主题

196

回帖

1949

积分

论坛技术达人

积分
1949
金钱
1695
HASS币
20
发表于 昨天 19:25 | 显示全部楼层 |阅读模式
本帖最后由 lambilly 于 2025-10-13 14:48 编辑

(2025-10-12)主要改进内容v1.3.41. 缓存机制
  • 添加全局数据缓存 _DATA_CACHE
  • API数据按配置间隔更新,滚动时仅从缓存读取
  • 缓存失效时自动重新获取数据
  • API失败时使用缓存数据作为后备

2. 简化城市选择
  • 将城市下拉选择改为文本输入
  • 自动处理空值或无效城市名,使用默认值"莆田"
  • 移除复杂的省份-城市映射逻辑
  • 配置流程更加简洁直接

3. 滚动任务优化
  • 滚动任务不再触发API请求
  • 仅从缓存数据中读取和更新热点索引
  • 降低系统负载和API调用频率

4. 集成显示修复
  • 简化配置流程,避免多步骤导致的显示问题
  • 确保配置条目正确创建和显示
  • 改进设备信息注册



天聚数行-今日动态 Home Assistant 集成

hacs_badge

这是一个 Home Assistant 自定义集成,通过天行数据API获取今日动态信息,包括汇率、油价、空气质量和热点新闻。

功能特点

  • 💵 实时汇率:美元兑人民币汇率(24小时更新一次)
  • 油价信息:全国各省市最新油价(24小时更新一次)
  • 🌤️ 空气质量:全国地级市空气质量指数(24小时更新一次)
  • 📰 热点新闻:自动滚动显示今日头条热点(可配置滚动间隔)
  • ⚙️ 高度可配置:可设置更新间隔和滚动间隔
  • 🌏 多地区支持:支持全国31个省市油价查询和300+地级市空气质量查询

安装方法

方法一:通过 HACS 安装(推荐)

  1. 确保已安装 HACS
  2. 在 HACS 中添加自定义仓库:
  3. 在 HACS 中搜索"天聚数行-今日动态"并安装
  4. 重启 Home Assistant

方法二:手动安装

  1. 下载本集成文件
  2. tian_today 文件夹复制到 Home Assistant 的 custom_components 目录
  3. 重启 Home Assistant

配置

第一步:获取天行数据API密钥

  1. 访问 天行数据
  2. 注册账号并登录
  3. 在控制台申请以下API:
    • 汇率查询
    • 实时油价
    • 空气质量指数
    • 头条热搜榜
  4. 获取您的API密钥

第二步:在Home Assistant中添加集成

  1. 进入 Home Assistant → 设置 → 设备与服务
  2. 点击"添加集成"
  3. 搜索"天聚数行-今日动态"
  4. 输入您的API密钥和配置选项:
    • API密钥:您的天行数据API密钥
    • 油价省份:选择要查询油价的省份
    • 空气质量省份:选择要查询空气质量的省份
    • 空气质量城市:从所选省份中选择具体城市(默认莆田)
    • 数据更新间隔:API数据更新频率(分钟,默认1440分钟/24小时)
    • 头条滚动间隔:热点新闻滚动频率(秒,默认15)

实体说明

安装完成后,将创建一个传感器实体:

  • 实体ID: sensor.jin_ri_dong_tai
  • 状态: 最后更新时间
  • 属性:
    • rate_display: 格式化汇率信息
    • oil_display: 格式化油价信息
    • air_display: 格式化空气质量信息(包含AQI、PM2.5、SO2等)
    • hot_display: 当前显示的热点新闻
    • hot_data: 所有热点新闻字典
    • hot_index: 当前热点索引
    • rate_data: 原始汇率数据
    • oil_data: 原始油价数据
    • air_data: 原始空气质量数据
    • province: 选择的油价省份
    • air_city: 选择的空气质量城市
    • scroll_interval: 滚动间隔设置

空气质量数据

空气质量数据包含以下信息:

  • 空气质量等级(优质、良、轻度污染等)
  • AQI指数
  • PM2.5浓度
  • PM10浓度
  • SO2、NO2、O3、CO浓度
  • 首要污染物
  • 数据更新时间

自动化示例

在通知中显示今日动态

alias: "每日动态通知"
trigger:
  - platform: time
    at: "08:00:00"
action:
  - service: notify.mobile_app
    data:
      title: "今日动态"
      message: |
        {{ state_attr('sensor.jin_ri_dong_tai', 'rate_display') }}
        {{ state_attr('sensor.jin_ri_dong_tai', 'oil_display') }}
        {{ state_attr('sensor.jin_ri_dong_tai', 'air_display') }}
        {{ state_attr('sensor.jin_ri_dong_tai', 'hot_display') }}

空气质量预警自动化

alias: "空气质量预警"
trigger:
  - platform: state
    entity_id: sensor.jin_ri_dong_tai
condition:
  - condition: template
    value_template: >
      {{ state_attr('sensor.jin_ri_dong_tai', 'air_data').quality in ['中度污染', '重度污染', '严重污染'] }}
action:
  - service: notify.mobile_app
    data:
      title: "空气质量预警"
      message: >
        {{ state_attr('sensor.jin_ri_dong_tai', 'air_city') }}空气质量{{ state_attr('sensor.jin_ri_dong_tai', 'air_data').quality }},
        请减少户外活动!

在仪表盘显示

在Lovelace仪表盘中添加实体卡片:

type: custom:html-template-card
content: >
  {% set entity = 'sensor.jin_ri_dong_tai_2' %}<div style="color: white;"> <p
  align="left"><h3 style="color: white; margin-bottom: 0px;"> 【{{
  state_attr(entity, 'friendly_name') }}】</h3></p></div>
  {{ state_attr(entity, 'hot_display') }}<br> {{ state_attr(entity,
  'oil_display') }}</br> {{ state_attr(entity,  'rate_display') }}</br> {{
  state_attr(entity,  'air_display') }}

故障排除

常见问题

  1. 集成无法加载
    o        检查API密钥是否正确
    o        确认已申请相关API权限
    o        查看Home Assistant日志获取详细错误信息
  2. 数据不更新
    o        数据默认24小时更新一次,请耐心等待
    o        检查网络连接
    o        确认API密钥未过期
    o        查看天行数据API调用次数是否超限
  3. 头条不滚动
    o        检查滚动间隔设置
    o        确认有可用的热点数据
    o        重启Home Assistant
  4. 空气质量城市无法选择
    o        确保已选择空气质量省份
    o        城市列表会根据所选省份动态更新

日志查看

如需调试,在configuration.yaml中添加:

logger:
  default: info
  logs:
    custom_components.tian_today: debug

API调用说明

本集成设计为低频率调用API:
•        汇率、油价、空气质量和头条数据:每24小时更新一次
•        热点滚动:本地处理,不调用API
这样可以有效减少API调用次数,避免超过免费额度限制。

更新日志

v1.3.0
•        新增空气质量API功能
•        支持全国300+地级市空气质量查询
•        实现省份-城市二级选择界面
•        空气质量显示添加SO2信息
•        优化中文界面体验
v1.2.0
•        新增空气质量API功能
•        支持80+主要城市空气质量查询
•        优化数据展示格式
v1.1.0
•        移除黄金API,减少API调用
•        优化API调用频率为24小时一次
•        保留汇率、油价和头条功能
v1.0.0
•        初始版本发布
•        支持汇率、油价、黄金、头条数据

支持与反馈

如有问题或建议,请通过以下方式联系:
•        GitHub Issues: 项目地址
•        作者: lambilly

许可证

本项目采用 MIT 许可证。

免责声明

本集成仅用于个人学习和非商业用途,数据来源为天行数据API,请遵守天行数据的使用条款。


屏幕截图_12-10-2025_192434_home.lamnas.top.jpeg
游客,如果您要查看本帖隐藏内容请回复

评分

参与人数 1金钱 +20 HASS币 +20 收起 理由
admin + 20 + 20 高手,这是高手!

查看全部评分

回复

使用道具 举报

28

主题

544

回帖

4785

积分

论坛元老

积分
4785
金钱
4213
HASS币
0
发表于 昨天 20:39 | 显示全部楼层
谢谢大佬
回复

使用道具 举报

0

主题

63

回帖

2328

积分

金牌会员

积分
2328
金钱
2265
HASS币
0
发表于 昨天 21:58 | 显示全部楼层
感谢分享!
回复

使用道具 举报

61

主题

383

回帖

1941

积分

金牌会员

积分
1941
金钱
1497
HASS币
50
发表于 15 小时前 | 显示全部楼层
怎么老是提示:API密钥无效,请检查是否正确
回复

使用道具 举报

53

主题

196

回帖

1949

积分

论坛技术达人

积分
1949
金钱
1695
HASS币
20
 楼主| 发表于 14 小时前 | 显示全部楼层
tanbobo 发表于 2025-10-13 08:28
怎么老是提示:API密钥无效,请检查是否正确

日志导出来看看
回复

使用道具 举报

0

主题

41

回帖

615

积分

高级会员

积分
615
金钱
574
HASS币
0
发表于 12 小时前 | 显示全部楼层
image.png
回复

使用道具 举报

0

主题

108

回帖

970

积分

高级会员

积分
970
金钱
862
HASS币
0
发表于 10 小时前 | 显示全部楼层
感谢分享!
回复

使用道具 举报

61

主题

383

回帖

1941

积分

金牌会员

积分
1941
金钱
1497
HASS币
50
发表于 9 小时前 | 显示全部楼层
2025-10-13 13:26:39.835 WARNING (sentry-sdk.BackgroundWorker) [urllib3.connectionpool] Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7ff0aa5e6e90>: Failed to establish a new connection: [Errno 111] Connection refused')': /api/5370612/envelope/
2025-10-13 13:26:39.837 WARNING (sentry-sdk.BackgroundWorker) [urllib3.connectionpool] Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7ff0aa5e7d90>: Failed to establish a new connection: [Errno 111] Connection refused')': /api/5370612/envelope/
2025-10-13 13:26:39.840 WARNING (sentry-sdk.BackgroundWorker) [urllib3.connectionpool] Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7ff0aa5e7890>: Failed to establish a new connection: [Errno 111] Connection refused')': /api/5370612/envelope/

接口密钥信息
编号        APIKEY        状态        安全操作        权限管理
默认        23accef3a08bb21e7f2cd757*******

是这个apikey 没有搞错
回复

使用道具 举报

1

主题

44

回帖

534

积分

高级会员

积分
534
金钱
489
HASS币
0
发表于 5 小时前 | 显示全部楼层
感谢分享!
回复

使用道具 举报

4

主题

351

回帖

3764

积分

论坛元老

积分
3764
金钱
3409
HASS币
0
发表于 3 小时前 | 显示全部楼层
感谢分享!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-10-13 23:42 , Processed in 0.078209 second(s), 11 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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