arthurfsy 发表于 2023-3-14 14:36:27

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

本帖最后由 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分钟



本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的字符很长,可能复制起来比较折腾)

3.修改NR流里的“设置原始tokenOnline”节点,将复制的“token_online”、“appid”粘贴到对应位置
4.修改file节点里的path目录,如我的是/data/token_online.txt(文件名可自行取值)


特别注意:如果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









lqf1206 发表于 2023-3-21 13:25:58

散步d小螃蟹 发表于 2023-3-21 11:45
请问成功了吗?加载项安装的nodered应该是写成哪个文件目录?


hackyjso 发表于 2023-3-14 15:21:37

这是高手,感谢分享:handshake

hackyjso 发表于 2023-3-14 15:32:09

不过这个1TS是个什么 app?

Ari 发表于 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直接加载项安装的

arthurfsy 发表于 2023-3-14 16:26:46

hackyjso 发表于 2023-3-14 15:32
不过这个1TS是个什么 app?

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

arthurfsy 发表于 2023-3-14 16:37:49

Ari 发表于 2023-3-14 16:13
马上安排起来,楼主:JSON parse error 错误了




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

Ari 发表于 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直接加载项安装的,该怎么写

arthurfsy 发表于 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)

Ari 发表于 2023-3-14 17:33:48

arthurfsy 发表于 2023-3-14 17:28
加载项我还没弄过。我等下试一下

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

arthurfsy 发表于 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)
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【node-red长期稳定】联通话费余额、语音等余量数据接入HA