本帖最后由 dscao 于 2024-10-23 02:56 编辑
openwrt:
适配新版的ha兼容另一版本的openwrt固件
可能要求比较新的ha版本
2024.10.23
-------------------------
ikuai:
优化wan ip的显示,支持多wan时非wan1的情况。以“设为默认网关的线路”为准,但混合模式时要求线路必须是ppoe类型才正常显示。
const.py 中配置更多开关能用性加强,只需要抓包到对应参数即可。 开关的参数格式有变化,请注意修改。
可能要求比较新的ha版本
2024.8.27
-------------------------
ikuai 修复 mac控制开关无效的问题
感谢:tufeikafei
2023.6.16
-------------------------
ikuai 兼容无cpu和内存信息的固件
2023.6.11
------------
修复 ha 2023.6.0之后运行出错的问题。(ikuai和openwrt以及未发布的pve)
2023.6.5
------------
ikuai可以在hacs中直接安装了
2023.2.13
--------
iKuai
1、实体名称默认为:设备名称+功能名称,方便区分多个ikuai接入时区分,可修改设备名统一修改。
2、增加 switch Arp_filter,arp绑定才能上网开关。 更多开关可以const.py中扩展。
SWITCH_TYPES = {
"ikuai_arp_filter": {
"icon": "mdi:account-lock",
"label": "iKuai非绑定MAC不允许上网",
"name": "Arp_filter",
"turn_on_body": {"func_name":"arp","action":"seting","param":{"arp_filter":1}},
"turn_off_body": {"func_name":"arp","action":"seting","param":{"arp_filter":0}},
"show_body": {"func_name":"arp","action":"show","param":{"TYPE":"options"}},
"show_on": {'arp_filter': 1},
"show_off": {'arp_filter': 0},
},
}
复制代码
3、2023.1.16-2设备离线判断默认改为2次获取数据后都不存在才变为离线,可在配置文件中设置对应mac设备的次数。修复一处导致这个参数未生效的bug。
DEVICE_TRACKERS = {
"myiphone": {
"label": "我的手机",
"name": "iPhone13_dscao",
"icon": "mdi:cellphone",
"mac_address": "64:6d:2f:88:4c:e8",
"disconnect_refresh_times": 5 # 离线需要刷新的次数
},
}
复制代码
注意修改自己的mac地址。
某些设备在路由器中的离线本身延迟就很大,特别是第三方ap显示为有线的,而ikuai ap相对比较灵敏。有些设备在第三方的ikuai ap环境下容易出现大量短暂离线的情况,这个就可以根据实际情况设备离线需要的刷新次数来解决device_tracker的短期离线问题。除了传感器外,当设置的集成刷新间隔小于30秒时,集成中的其它实体每次刷新时间为30秒,猜测是系统限制的刷新频率。
我有台旧手机,测试发现在小盒子刷的ikuai ap下,就一直出现不断的离线4分钟左右再上线的现象,设置为5时都会出现2分钟的离线,这里设置"disconnect_refresh_times": 10 才解决。
而有些手机与ap连接相对稳定,则可以设置为2或1 ,甚至为0,以便最大限度减少离线的延迟。
具体看情况来权衡设置吧。
2023.1.16
------------------------------
iKuai
增加 连接数实体。
2022.12.9
------------------------------
iKuai
device_tracker实体 查询2次无数据后再改为离线,以及结果为timeout时保持原来的状态,减少有些设备错误出现离线后立即上线的情况。
2022.12.8
------------------------------
iKuai
1、兼容混合模式拨号的wan1的WAN IP和上线时间,混合模式只显示PPPoE拨号的IP,多拨时显示最前面的已上线的IP及其时间。
2、修复 MAC访问控制 中无备注添加规则后 以及 列表空时 报错的问题。
2022.12.3
------------------------------
iKuai
1、增加重启ikuai 和 重连网络功能(const.py中很方便扩展)
2、增加 行为管控 —MAC访问控制 列表中的MAC启用和停用开关
3、支持终端设备是否在线的device_tracker实体,const.py中配置mac地址。
如:
DEVICE_TRACKERS = {
"myiphone1": {
"label": "我的手机",
"name": "iphone13_1",
"icon": "mdi:cellphone",
"mac_address": "ab:ab:ab:ab:ab:aa" #要追踪是否在家的设备mac地址
},
"myiphone2": {
"label": "我的手机2",
"name": "iphone13_2",
"icon": "mdi:cellphone",
"mac_address": "ab:ab:ab:ab:ab:ab" #要追踪是否在家的设备mac地址
},
}
复制代码
但发现i连接的手机会出现几分钟下线再上线的问题,2022.12.7已将离线改成3次查询结果再改变状态为离家。。
"ikuai_restart_reconnect_wan": {
"label": "ikuai重连wan网络",
"name": "ikuai_reconnect_wan",
"device_class": "restart",
"action_body": {"func_name":"wan","action":"link_dhcp_reconnect","param":{"id":1}}
},
复制代码
动作 action_body 配置成自己的就可以了
Openwrt:
1、修复部分固件时长超出1天出错的问题
2、增加网络连接数和在线用户数量实体(如果固件有在线用户显示的话)
建议:温度无效的或者不需要使用的实体在实体设置中设为禁用
2022.12.1
------------------------------
OpenWrt
1、修复某些固件cpu温度显示中错误导致不能运行的问题
2、增加重启openwrt 和 重连网络功能(const.py中很方便扩展)
3、增加重新订阅节点按钮(const.py中配置),有些网络服务器的地址好像每天会变化,需要重新订阅才能科学。结合 ping 或arrival 实体自动化按需重新订阅。
重启或重连网络,方便自动化判断某网络不通时进行相应操作。
2022.11.24
------------------------------
其它一些信息在实体的属性中
------------------------------
之前通过node-red将ikuai中的信息接入ha了,最近搞个插件方便新手更简单的接入一些基本信息。
有空再加入设备在线情况,目前还没想好思路。
先将附件解压后将custom_components中的文件夹复制到ha中对应目录中,重启ha后,强制刷新浏览器一次,进入集成,搜索: ikuai 或 openwrt,按提示配置即可。
第一次上传的有错,已重新上传。第二次重新上传,支持 https 方式。.
.
ikuai的Wan信息获取自:
如果拨号方式不同或主wan不是wan1,可能无法获取正确的信息。这种情况需要自行修改部分代码。
2022.11.19 优化超时设置,减少“During handling of the above exception, another exception occurred”报错。(thinks lovedreamland )
根据坛友反应有些会报错,应该是openwrt的版本比较多。我用的是Lean 的 LEDE 源码编辑的,之前是5.15,现在是6.0 。官方的openwrt和其它的版本没有测试,需要自行修改对应代码。
目前在我自己的主系统上,稳定运行几天了。node-red相关的几个流用这个取代了。
以下几种环境测试过,都是x86机型:
主系统:PVE7+ikuai 3.6. +openwrt6.0+hassos
测试过的机器:
ikuai 3.6. +ikuai虚拟机openwrt5.15+openwrt中的docker: homeassistant core
物理机openwrt5.15+openwrt中的docker: homeassistant core