本帖最后由 qiangua13 于 2022-10-12 17:50 编辑
10.11 更新日志:
- 增加了几个设备的device_tracker
- 修正了cpu计算逻辑
效果图
configuration.yaml
mqtt:
device_tracker:
- name: "your_device_name-tracker"
unique_id: "your_device_name.mqtt.device_tracker"
state_topic: "your_device_name/state"
availability_topic: "your_device_name/availability"
json_attributes_topic: "your_device_name/attributes"
nr flow
- 需要修改设备注入的数组
## 支持多个设备的信息注入
[
{
"device": "device1",
"mac": "mac1"
},
{
"device": "device2",
"mac": "mac2"
}
]
问题
- 有童鞋说爱快终端监控列表,设备断开网络链接之后,必须等dhcp失效,设备才会消失,我测试之后并没有发现这种问题,设备下线之后,很快设备就会查询不到了,如果有童鞋有类似的问题,请尝试自己解决下,哈哈。
文章开始先感谢 下面文章这位童鞋的分享,思路非常好,我也是参考他的来做的,链接如下:
- 折腾起因:作者文中在Node-Red中调用了php,我觉得有些麻烦,于是自己倒腾了一下,全部在nr里面完成。
- 效果图:
1. NR 截图:
2. HASS面板:
HASS面板
- 完成了几点改进(算是改进吧):
1. 直接在NR里面发起路由器调用(代码是重写的,之前作者的json导入报错),完成请求后,写入mqtt,简化了中间使用php的步骤。
2. NR里面内置了初始化变量步骤,导入后根据自己的环境修改即可(NR流程里面的“手工设置环境”步骤中:host,username, passwd, pass 等几个参数的预置)。
- 目前存在的问题:
1. 目前我只实现了几个功能(cpu,内存,在线用户数,连接数),之前作者的一些功能因为我暂时没有需求,所以没有实现,有需要的可以自己扩展。
2. 设置全局变量还是需要通过浏览器调试之后填入到nr里面(暂时没看ikuai前端的实现)。
3. 上图面板中上传,下载,出口IP等数据,我是直接使用hass导入ikuai/upup, 就可以读出上述数据,所以我没有实现。
- 计划更新:
1. device_tracker 实现设备跟踪功能
2. else ...
- else:
刚入坑ha,有不合理的地方请大家多多指教。
-------------------------------------------------------------------------------------------------------------------------------------------------
- 贴代码
1. configuration.yaml
mqtt:
sensor:
- name: "IKuai CPU"
unique_id: "ikuai.mqtt.cpu"
state_topic: "ikuai/sysinfo"
value_template: "{{ value_json.cpu}}"
json_attributes_topic: "ikuai/sysinfo"
unit_of_measurement: "%"
icon: mdi:cpu-64-bit
- name: "IKuai RAM"
unique_id: "ikuai.mqtt.memory"
state_topic: "ikuai/sysinfo"
value_template: "{{ value_json.memory}}"
json_attributes_topic: "ikuai/sysinfo"
unit_of_measurement: "%"
icon: mdi:memory
- name: "IKuai 在线用户"
unique_id: "ikuai.mqtt.online_user"
state_topic: "ikuai/sysinfo"
value_template: "{{ value_json.online_user}}"
json_attributes_topic: "ikuai/sysinfo"
icon: mdi:account-multiple
- name: "IKuai 连接数"
unique_id: "ikuai.mqtt.connect_num"
state_topic: "ikuai/sysinfo"
value_template: "{{ value_json.connect_num}}"
json_attributes_topic: "ikuai/sysinfo"
unit_of_measurement: "p/s"
icon: mdi:human-greeting-proximity
2. nr flow
--感谢童鞋提醒,ikuai的cpu计算拿的是cpu数组的第一个值,我这里计算有问题,有需要的自己改一下吧
导入后需要预置变量,修改如下内容:
--有人不知道怎么拿上面几个值,我截个图:
打开ikuai登陆页,F12进入调试,打开网络控制台,勾选保留日志,点击登陆,看login请求的负载,就可以看到passwd,pass参数了
|