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

 找回密码
 立即注册
查看: 4182|回复: 59

[流程系列] 利用ikuai实时检测设备在线情况&HA操作设备连/断网

  [复制链接]

3

主题

70

帖子

512

积分

论坛技术达人

积分
512
金钱
432
HASS币
50
发表于 2023-6-27 16:00:47 | 显示全部楼层 |阅读模式
本帖最后由 d380025303 于 2023-7-11 12:29 编辑

背景
用node-red集成ikuai并在HA展示路由信息的帖子挺多了,但是这些信息说实话对我没啥用处
我希望能看到某些具体设备的流量(看哪个小崽子在下载东西), 在线时长, 甚至我能在HA实时看到非法设备的连接(比如有人破解了你的wifi....), 我能通过HA能控制具体设备网络访问(手动进ikuai禁用太麻烦)


所以这个流程出来了


支持特性

  • 支持实时展示路由在线设备清单
  • 支持实时展示路由下线设备清单
  • 支持展示具体设备的累计上行/下载/在线时长等信息
  • 支持HA控制设备的网络访问

flows_20230628.json
  • nodered储存终端信息 -- global.get('dx_mqtt_sensor')
  • 支持手动在nodered删除终端设备信息


nodered储存终端设备信息主要解决的是nodered挂了...挂之前上线的设备, 没法展示下线了

效果图

1

1


2

2


3

3


配置方法

前置条件:
    node-red (node-red需要有cryptojs依赖)
    HA已安装MQTT

tips: 鉴于很多人不知道怎么安装cryptojs npm依赖, 我修改了一下逻辑, 改为引入node-red-contrib-crypto-js-plus来解决MD5加密逻辑, 请使用 flows_node-red-contrib-crypto-js-plus.json 的json

  • 引入flows.json, 修改"IKuai配置" 节点: username: 用户名 password: 密码 ikuai_url: ikuai地址
  • 修改 "HomeAssistant配置" 节点: homeAssistantUrl: HA的地址, 如http://192.168.100.28:8123 authorization: HA的Token, 如 Bearer eyJhbGciOiJXXXXXXXXXXXXXXXX  (需要注意我直接取的global的值)
  • 配置mqtt-borker使其能连接到HA MQTT
  • 完事了,如果成功运行,MQTT下会自动出现对应实体


4

4


关于卡片

由于要看到实时设备在线情况,所以我的逻辑是将ikuai的终端列表自动转换为HA的MQTT实体
但是有个很大的bug,HA所有的卡片都不支持动态实体展现,除了markdown...
所以目前只能用markdown实时展现网络设备上/下线情况

markdown内容
type: markdown
content: >
  ## 路由已连接设备清单


  | 设备名称 | 在线时长 |

  | :------ | ------: |

  {% for state in states.sensor %}{% if
  state.entity_id.startswith('sensor.sensor_') %}{% if state.state == 'online'
  %}| {{ state.attributes.friendly_name }} | {{ state.attributes.uptime }} |

  {% endif %}{% endif %}{% endfor %}



  ## 路由下线设备清单


  {% for state in states.sensor %}{% if
  state.entity_id.startswith('sensor.sensor_') %}{% if state.state != 'online'
  %} <font color="#cccccc">{{ state.attributes.friendly_name }} </font>{% endif
  %}{% endif %}{% endfor %}


如果有更好的方法,欢迎回帖告知

其它卡片怎么配我就不具体帖了, 正常配置即可

关于控制设备网络访问



用的ikuai 行为管控 > MAC访问控制 实现
所以如果MQTT没有出现swith类型控制网络的实体, 在ikuai MAC访问控制增加数据即可

tips: 本帖不需要手动配置MQTT的实体

游客,如果您要查看本帖隐藏内容请回复











评分

参与人数 4金钱 +45 HASS币 +10 收起 理由
zhanzuoson + 5 膜拜大神!
+ 20 + 10 高手,这是高手!
flyice + 10 感谢楼主分享!
sorrypqa + 10 膜拜大神!

查看全部评分

回复

使用道具 举报

50

主题

1300

帖子

4905

积分

论坛DIY达人

积分
4905
金钱
3605
HASS币
20
发表于 2023-6-27 17:06:25 | 显示全部楼层
流量统计非常不错,爱快重启也能保留?
回复

使用道具 举报

0

主题

562

帖子

2185

积分

金牌会员

Rank: 6Rank: 6

积分
2185
金钱
1623
HASS币
0
发表于 2023-6-27 19:46:31 | 显示全部楼层
本帖最后由 Ari 于 2023-6-27 19:57 编辑

顶顶顶,这个好,感谢 马上弄个,第一步登录就出现TypeError: Cannot read properties of undefined
回复

使用道具 举报

76

主题

1358

帖子

1万

积分

元老级技术达人

积分
18422
金钱
17024
HASS币
290
发表于 2023-6-27 23:22:03 | 显示全部楼层
感谢分享,对于终端设备比较少时应该挺好的。
不过对于有三四十个甚至更多的终端设备用户,查看终端设备信息感觉还是登录爱快后台比较好一点。


发现有人蹭网我之前用这个改一下通知到钉钉或微信挺好用的: https://bbs.hassbian.com/thread-2894-1-1.html
这个要配合这种ikuai接入方法:https://bbs.hassbian.com/thread-1622-1-1.html
回复

使用道具 举报

3

主题

70

帖子

512

积分

论坛技术达人

积分
512
金钱
432
HASS币
50
 楼主| 发表于 2023-6-28 09:22:57 | 显示全部楼层
sorrypqa 发表于 2023-6-27 17:06
流量统计非常不错,爱快重启也能保留?

这保留不了的, 纯读取的ikuai的数据, 它没了自然就没了
回复

使用道具 举报

3

主题

70

帖子

512

积分

论坛技术达人

积分
512
金钱
432
HASS币
50
 楼主| 发表于 2023-6-28 09:24:03 | 显示全部楼层
Ari 发表于 2023-6-27 19:46
顶顶顶,这个好,感谢 马上弄个,第一步登录就出现TypeError: Cannot read properties of undefined ...

哪个节点错误了说明一下呗 这个报错实在没法定位
回复

使用道具 举报

3

主题

70

帖子

512

积分

论坛技术达人

积分
512
金钱
432
HASS币
50
 楼主| 发表于 2023-6-28 09:31:52 | 显示全部楼层
dscao 发表于 2023-6-27 23:22
感谢分享,对于终端设备比较少时应该挺好的。
不过对于有三四十个甚至更多的终端设备用户,查看终端设备信 ...

感谢
看了下帖子, 确实挺方便的, 但是这个方式是否能支持可视化, 纯后台跑有点像黑盒子, 有点不安心哈哈哈
回复

使用道具 举报

2

主题

104

帖子

1364

积分

金牌会员

Rank: 6Rank: 6

积分
1364
金钱
1260
HASS币
0
发表于 2023-6-28 12:26:35 | 显示全部楼层
ikuai模拟登陆显示这个"TypeError: Cannot read properties of undefined (reading 'MD5')"
什么问题呢?
回复

使用道具 举报

3

主题

70

帖子

512

积分

论坛技术达人

积分
512
金钱
432
HASS币
50
 楼主| 发表于 2023-6-28 13:17:33 | 显示全部楼层
jole 发表于 2023-6-28 12:26
ikuai模拟登陆显示这个"TypeError: Cannot read properties of undefined (reading 'MD5')"
什么问题呢? ...

node-red需要有cryptojs依赖
回复

使用道具 举报

50

主题

1300

帖子

4905

积分

论坛DIY达人

积分
4905
金钱
3605
HASS币
20
发表于 2023-6-28 13:32:38 | 显示全部楼层
d380025303 发表于 2023-6-28 09:22
这保留不了的, 纯读取的ikuai的数据, 它没了自然就没了

要是像能源一样,能保留和累计就完美了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-4-29 23:46 , Processed in 0.088274 second(s), 36 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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