『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
查看: 22790|回复: 129

[经验分享] 【node-red长期稳定】联通话费余额、语音等余量数据接入HA

  [复制链接]

7

主题

166

帖子

1302

积分

论坛技术达人

积分
1302
金钱
1131
HASS币
60
发表于 2023-3-14 14:36:27 | 显示全部楼层 |阅读模式
本帖最后由 arthurfsy 于 2023-4-24 16:21 编辑

此前我自己也有通过NR抓包过联通余量数据,但是发现token过期很快,然后也看到了下面的帖子,实现方式和我NR的方式差不多。
补充:联通话费余额、语音、流量和积分数据接入HomeAssistant - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)
后来通过查询,找到联通可以通过token_online+appId的方式,动态获取a_token数据,那么这个NR就是解决了token_online保存的问题(其实不保存问题也不大,token_online实测时效很久)
Tips:本flow的默认更新间隔为5分钟,如果出现无法获取数据的情况,可以把间隔时间改为10-20分钟

3.jpg

本flow功能:
1.可定时查询联通余量(话费、语音、流量、积分数据4个实体可配合卡片展示)。
2.可查看目前已保存的token_online数据(相当于导出,以备其他使用需求)
3.可清空token_online数据(如果发现数据不对,可先清空再重新运行)


使用方法:
1.对联通APP进行抓包/通过1TS获取
   该步骤可选,或者下载ITS这个软件进行抓包获取token_online+appId
我是在这个网页下面找到对应的APP下载链接:联通流量实时监控软件1TS流量监控免费版下载
下载地址:
https://wwt.lanzoul.com/iDpXD0ecgkfi
密码:xgiu
注:下载1TS APP软件后,需要先通过短信成功登陆一次,然后点击首页的“联通”——左上角“小水滴形状”——右上角“窗口”切换登陆方式。即可看到“token_online”、“appid”数据(小坑:token_online的字符很长,可能复制起来比较折腾)
1.png 2.jpg
3.修改NR流里的“设置原始tokenOnline”节点,将复制的“token_online”、“appid”粘贴到对应位置 1123.png
4.修改file节点里的path目录,如我的是/data/token_online.txt(文件名可自行取值)

4.png
特别注意:如果NR是docker容器部署的,需要填写对应容器内部的目录
如:
主机/存储卷目录(实际文件存放目录):/www/server/docker/volumes/node_red_data/_data
挂载路径(容器内部路径):/data
如果NR是虚拟机加载项部署的,需要填写以下内容(#34提供的方法,已置顶):
/config/node-red/data/token_online.txt

那么file节点的路径需要填写为/data/token_online.txt,实际存储路径为/www/server/docker/volumes/node_red_data/_data/token_online.txt

5.全部设置好后,先运行“联通a_token取值”,然后运行“联通取值--稳定取值”,即可生成实体

卡片代码分享:
type: vertical-stack
cards:
  - type: custom:mushroom-title-card
    title: 更新时间: {{states('sensor.lian_tong_tao_can_geng_xin_shi_jian')}}
  - type: horizontal-stack
    cards:
      - type: custom:mushroom-entity-card
        entity: sensor.lian_tong_sheng_yu_hua_fei
        name: 剩余话费
        layout: vertical
        icon: mdi:currency-cny
        icon_color: green
      - type: custom:mushroom-entity-card
        entity: sensor.lian_tong_sheng_yu_liu_liang
        name: 剩余流量
        layout: vertical
        icon: mdi:clipboard-flow
      - type: custom:mushroom-entity-card
        entity: sensor.lian_tong_sheng_yu_yu_yin
        name: 剩余语音
        layout: vertical
        icon: mdi:account-tie-voice
        icon_color: purple


获取联通余量.json (23.37 KB, 下载次数: 223)







评分

参与人数 3金钱 +40 HASS币 +10 收起 理由
sorrypqa + 10 论坛有你更精彩!
+ 20 + 10 高手,这是高手!
隔壁的王叔叔 + 10 专门注册账号来顶你!

查看全部评分

回复

使用道具 举报

17

主题

255

帖子

1879

积分

金牌会员

Rank: 6Rank: 6

积分
1879
金钱
1624
HASS币
0
发表于 2023-3-21 13:25:58 | 显示全部楼层
散步d小螃蟹 发表于 2023-3-21 11:45
请问成功了吗?加载项安装的nodered应该是写成哪个文件目录?


请参考这个

请参考这个
回复

使用道具 举报

3

主题

119

帖子

1175

积分

金牌会员

Rank: 6Rank: 6

积分
1175
金钱
1056
HASS币
0
发表于 2023-3-14 15:21:37 | 显示全部楼层
这是高手,感谢分享
回复

使用道具 举报

3

主题

119

帖子

1175

积分

金牌会员

Rank: 6Rank: 6

积分
1175
金钱
1056
HASS币
0
发表于 2023-3-14 15:32:09 | 显示全部楼层
不过这个1TS  是个什么 app?
回复

使用道具 举报

0

主题

620

帖子

2572

积分

金牌会员

Rank: 6Rank: 6

积分
2572
金钱
1952
HASS币
0
发表于 2023-3-14 16:13:37 | 显示全部楼层
本帖最后由 Ari 于 2023-3-14 16:36 编辑

马上安排起来,楼主:JSON parse error 错误了


是我的Error: ENOENT: no such file or directory, open '/data/token_online.txt


我的安装方式是os直接加载项安装的
回复

使用道具 举报

7

主题

166

帖子

1302

积分

论坛技术达人

积分
1302
金钱
1131
HASS币
60
 楼主| 发表于 2023-3-14 16:26:46 | 显示全部楼层
hackyjso 发表于 2023-3-14 15:32
不过这个1TS  是个什么 app?

应该是个人开发的 有带广告 大家只用来获取token就好
回复

使用道具 举报

7

主题

166

帖子

1302

积分

论坛技术达人

积分
1302
金钱
1131
HASS币
60
 楼主| 发表于 2023-3-14 16:37:49 | 显示全部楼层
Ari 发表于 2023-3-14 16:13
马上安排起来,楼主:JSON parse error 错误了

是“联通取值--稳定取值”这个流报错吗?我试了偶尔会出现服务器返回“N”,隔一段时间再点一下就可以了。或者修改一下间隔时间
回复

使用道具 举报

0

主题

620

帖子

2572

积分

金牌会员

Rank: 6Rank: 6

积分
2572
金钱
1952
HASS币
0
发表于 2023-3-14 16:38:58 | 显示全部楼层
arthurfsy 发表于 2023-3-14 16:37
是“联通取值--稳定取值”这个流报错吗?我试了偶尔会出现服务器返回“N”,隔一段时间再点一下就可以了 ...

是第一个文件路径错了,Error: ENOENT: no such file or directory, open '/data/token_online.txt


我的安装方式是os直接加载项安装的,该怎么写
回复

使用道具 举报

7

主题

166

帖子

1302

积分

论坛技术达人

积分
1302
金钱
1131
HASS币
60
 楼主| 发表于 2023-3-14 17:28:52 | 显示全部楼层
本帖最后由 arthurfsy 于 2023-3-14 17:34 编辑
Ari 发表于 2023-3-14 16:38
是第一个文件路径错了,Error: ENOENT: no such file or directory, open '/data/token_online.txt

我看NR加载项的说明,对应的目录是HA的config/node-red,你看看能不能在config/node-red下面新建data的文件夹,然后在config/node-red/data下面新建token_online.txt空白文件(或者建好data文件夹后直接运行flow,看会不会自动生成token_online.txt
回复

使用道具 举报

0

主题

620

帖子

2572

积分

金牌会员

Rank: 6Rank: 6

积分
2572
金钱
1952
HASS币
0
发表于 2023-3-14 17:33:48 | 显示全部楼层
arthurfsy 发表于 2023-3-14 17:28
加载项我还没弄过。我等下试一下

啊 就差这一步哈哈,等你消息
回复

使用道具 举报

7

主题

166

帖子

1302

积分

论坛技术达人

积分
1302
金钱
1131
HASS币
60
 楼主| 发表于 2023-3-14 17:34:54 | 显示全部楼层
Ari 发表于 2023-3-14 17:33
啊 就差这一步哈哈,等你消息

我看NR加载项的说明,对应的目录是HA的config/node-red,你看看能不能在config/node-red下面新建data的文件夹,然后在config/node-red/data下面新建token_online.txt空白文件(或者建好data文件夹后直接运行flow,看会不会自动生成token_online.txt)
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-29 10:15 , Processed in 1.184665 second(s), 38 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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