请选择 进入手机版 | 继续访问电脑版

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

 找回密码
 立即注册
查看: 1570|回复: 70

[插件集成] ikuai和openwrt信息和基本控制更简单的接入方法

  [复制链接]

53

主题

810

帖子

5088

积分

元老级技术达人

积分
5088
金钱
4243
HASS币
220
发表于 2022-11-17 16:44:58 | 显示全部楼层 |阅读模式
本帖最后由 dscao 于 2022-12-8 22:38 编辑

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次查询结果再改变状态为离家。。

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了,最近搞个插件方便新手更简单的接入一些基本信息。

有空再加入设备在线情况,目前还没想好思路。


001.jpg

002.jpg


001.jpg

11.jpg



2.jpg


001.jpg


先将附件解压后将custom_components中的文件夹复制到ha中对应目录中,重启ha后,强制刷新浏览器一次,进入集成,搜索: ikuai 或 openwrt,按提示配置即可。
第一次上传的有错,已重新上传。第二次重新上传,支持 https 方式。.
.
ikuai的Wan信息获取自:

003.jpg

004.png

如果拨号方式不同或主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











ikuai.zip

15.81 KB, 下载次数: 124

售价: 1 金钱  [记录]

2022.12.8

openwrt.zip

11.73 KB, 下载次数: 129

售价: 1 金钱  [记录]

2022.12.1

评分

参与人数 5金钱 +59 HASS币 +10 收起 理由
flyice + 5 感谢楼主分享!
hyq + 10 大神666!
sorrypqa + 8 大神666!
louis_lee + 16 学习下~正好近期打算把监控接入.
+ 20 + 10 高手,这是高手!

查看全部评分

回复

使用道具 举报

53

主题

810

帖子

5088

积分

元老级技术达人

积分
5088
金钱
4243
HASS币
220
 楼主| 发表于 2022-11-17 16:47:13 | 显示全部楼层
本帖最后由 dscao 于 2022-11-17 16:53 编辑

代码这次以 @louis_lee大佬的 bjtoon_health_code 为大的基础,修改而来。
PVE和openwrt的基本一样,细节不同而已。
虚拟机安装的爱快或openwrt,cpu温度显示为0,因web界面内本来就不显示。
回复

使用道具 举报

1

主题

35

帖子

569

积分

高级会员

Rank: 4

积分
569
金钱
534
HASS币
0
发表于 2022-11-17 16:52:07 | 显示全部楼层
错误
此集成不支持通过 UI 配置。如果您是从 Home Assistant 网站点击链接前来,请确保您运行的是最新版本的 Home Assistant。


提示这个,我的版本: 20220907.0 - latest。

太旧了?
回复

使用道具 举报

53

主题

810

帖子

5088

积分

元老级技术达人

积分
5088
金钱
4243
HASS币
220
 楼主| 发表于 2022-11-17 16:54:17 | 显示全部楼层
jole 发表于 2022-11-17 16:52
错误
此集成不支持通过 UI 配置。如果您是从 Home Assistant 网站点击链接前来,请确保您运行的是最新版本 ...

不应该啊,我测试的是2022.8.6。 帮看看日志报的什么错.
回复

使用道具 举报

1

主题

35

帖子

569

积分

高级会员

Rank: 4

积分
569
金钱
534
HASS币
0
发表于 2022-11-17 17:04:24 | 显示全部楼层
dscao 发表于 2022-11-17 16:54
不应该啊,我测试的是2022.8.6。 帮看看日志报的什么错.

Logger: homeassistant.loader
Source: custom_components/ikuai/__init__.py:8
Integration: ikuai (documentation)
First occurred: 16:50:11 (8 occurrences)
Last logged: 17:03:28

Unexpected exception importing platform custom_components.ikuai.config_flow
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/loader.py", line 681, in get_platform
    cache[full_name] = self._import_platform(platform_name)
  File "/usr/src/homeassistant/homeassistant/loader.py", line 698, in _import_platform
    return importlib.import_module(f"{self.pkg_path}.{platform_name}")
  File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/config/custom_components/ikuai/__init__.py", line 8, in <module>
    from .data_fetcher import DataFetcher
  File "/config/custom_components/ikuai/data_fetcher.py", line 256
    ]
    ^
SyntaxError: closing parenthesis ']' does not match opening parenthesis '(' on line 255
回复

使用道具 举报

24

主题

1754

帖子

6050

积分

论坛元老

Rank: 8Rank: 8

积分
6050
金钱
4281
HASS币
110
发表于 2022-11-17 17:11:23 | 显示全部楼层
2022.8.2

错误
此集成不支持通过 UI 配置。如果您是从 Home Assistant 网站点击链接前来,请确保您运行的是最新版本的 Home Assistant

日志里两条error

此错误来自自定义集成。

Logger: homeassistant.loader
Source: custom_components/ikuai/__init__.py:8
Integration: ikuai (documentation)
First occurred: 17:09:12 (1 occurrences)
Last logged: 17:09:12

Unexpected exception importing platform custom_components.ikuai.config_flow
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/loader.py", line 657, in get_platform
    cache[full_name] = self._import_platform(platform_name)
  File "/usr/src/homeassistant/homeassistant/loader.py", line 674, in _import_platform
    return importlib.import_module(f"{self.pkg_path}.{platform_name}")
  File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 992, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/config/custom_components/ikuai/__init__.py", line 8, in <module>
    from .data_fetcher import DataFetcher
  File "/config/custom_components/ikuai/data_fetcher.py", line 256
    ]
    ^
SyntaxError: closing parenthesis ']' does not match opening parenthesis '(' on line 255


Logger: homeassistant.config_entries
Source: config_entries.py:796
First occurred: 17:09:12 (1 occurrences)
Last logged: 17:09:12

Error occurred loading configuration flow for integration ikuai: Exception importing custom_components.ikuai.config_flow
回复

使用道具 举报

24

主题

1754

帖子

6050

积分

论坛元老

Rank: 8Rank: 8

积分
6050
金钱
4281
HASS币
110
发表于 2022-11-17 17:14:30 | 显示全部楼层
File "/config/custom_components/ikuai/data_fetcher.py", line 256

文件255行少了个),
回复

使用道具 举报

53

主题

810

帖子

5088

积分

元老级技术达人

积分
5088
金钱
4243
HASS币
220
 楼主| 发表于 2022-11-17 17:15:10 | 显示全部楼层
本帖最后由 dscao 于 2022-11-17 17:17 编辑

最后一次改丢了一个括号, 由于没重启,没发现。   
data_fetcher.py 255行最后应该加一个“)”,
修改后的重新上传了。
回复

使用道具 举报

24

主题

1754

帖子

6050

积分

论坛元老

Rank: 8Rank: 8

积分
6050
金钱
4281
HASS币
110
发表于 2022-11-17 17:18:07 | 显示全部楼层
sensor.ikuai_wan_uptime  19313天9小时16分,这个sensor是什么意思?
sensor.ikuai_wan_ip 获取不到值,我是单线双播,有影响吗?
sensor.ikuai_wan6_ip没有,我也没有ipv6

PVE下安装的ikuai
回复

使用道具 举报

53

主题

810

帖子

5088

积分

元老级技术达人

积分
5088
金钱
4243
HASS币
220
 楼主| 发表于 2022-11-17 17:23:30 | 显示全部楼层
本帖最后由 dscao 于 2022-11-17 17:26 编辑
ghostist 发表于 2022-11-17 17:18
sensor.ikuai_wan_uptime  19313天9小时16分,这个sensor是什么意思?
sensor.ikuai_wan_ip 获取不到值,我 ...

双播的数据结构或位置不一样,应该有影响吧。天数感觉差了1000倍呢。这个我没搞清楚怎么回事,我用我自己的以及公司的,加起来3台ikuai测试都没问题。。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2022-12-9 13:42 , Processed in 0.066325 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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