利用ikuai实时检测设备在线情况&HA操作设备连/断网
本帖最后由 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挂了...挂之前上线的设备, 没法展示下线了
效果图
配置方法
前置条件:
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下会自动出现对应实体
关于卡片
由于要看到实时设备在线情况,所以我的逻辑是将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的实体
**** Hidden Message *****
流量统计非常不错,爱快重启也能保留? 本帖最后由 Ari 于 2023-6-27 19:57 编辑
顶顶顶,这个好,感谢 马上弄个,第一步登录就出现TypeError: Cannot read properties of undefined 感谢分享,对于终端设备比较少时应该挺好的。
不过对于有三四十个甚至更多的终端设备用户,查看终端设备信息感觉还是登录爱快后台比较好一点。
发现有人蹭网我之前用这个改一下通知到钉钉或微信挺好用的: https://bbs.hassbian.com/thread-2894-1-1.html
这个要配合这种ikuai接入方法:https://bbs.hassbian.com/thread-1622-1-1.html
sorrypqa 发表于 2023-6-27 17:06
流量统计非常不错,爱快重启也能保留?
这保留不了的, 纯读取的ikuai的数据, 它没了自然就没了 Ari 发表于 2023-6-27 19:46
顶顶顶,这个好,感谢 马上弄个,第一步登录就出现TypeError: Cannot read properties of undefined ...
哪个节点错误了说明一下呗 这个报错实在没法定位 dscao 发表于 2023-6-27 23:22
感谢分享,对于终端设备比较少时应该挺好的。
不过对于有三四十个甚至更多的终端设备用户,查看终端设备信 ...
感谢
看了下帖子, 确实挺方便的, 但是这个方式是否能支持可视化, 纯后台跑有点像黑盒子, 有点不安心哈哈哈 ikuai模拟登陆显示这个"TypeError: Cannot read properties of undefined (reading 'MD5')"
什么问题呢? jole 发表于 2023-6-28 12:26
ikuai模拟登陆显示这个"TypeError: Cannot read properties of undefined (reading 'MD5')"
什么问题呢? ...
node-red需要有cryptojs依赖 d380025303 发表于 2023-6-28 09:22
这保留不了的, 纯读取的ikuai的数据, 它没了自然就没了
要是像能源一样,能保留和累计就完美了