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

 找回密码
 立即注册
查看: 2372|回复: 5

[插件集成] 【homekit bridge插件修改版】支持空气净化器及插座默认接入

[复制链接]

8

主题

50

帖子

1123

积分

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1073
HASS币
20
发表于 2023-10-29 10:32:04 | 显示全部楼层 |阅读模式
本帖最后由 qiaoqiao1235 于 2023-10-30 09:53 编辑

背景:
1.HA默认的homekit bridge插件目前还不支持空气净化器接入,接入homekit后会显示为风扇
关于这个问题可以参考我这个帖子
空气净化器接入homekit - 『HomeAssistant』综合讨论区 - 『瀚思彼岸』» 智能家居技术论坛 - Powered by Discuz! (hassbian.com)

2.HA默认的homekit bridge插件会将默认的插座显示成开关,如果需要在homekit中显示为插座,需要手动添加配置
参考配置:在custom_components新建homekit.yaml,并编辑
- name: outlet_accessory
  mode: accessory
  port: 21063
  filter:
    include_entities:
      - switch.649e3171e662_plug
  entity_config:
      switch.649e3171e662_plug:
        type: outlet

- name: outlet_bridge
  port: 21065
  filter:
    include_entities:
      - switch.649e31713436_plug
  entity_config:
      switch.649e31713436_plug:
        type: outlet


在configuration.yaml添加:
homekit: !include homekit.yaml

对于怕麻烦或者强迫症来说不是很友好


想法&实现:
1.实现了空气净化器默认接入正确显示,关联温度/湿度/pm2.5传感器
2.实现了插座类型默认接入正确显示

步骤:
1.下载附件homekit_modified.zip,解压得到homekit文件夹,拷贝到HA的custom_components目录下 homekit_modified.zip (238.5 KB, 下载次数: 21)
-custom_components
  -homekit
(HA支持修改默认插件,可以将同名插件放到custom_components下即可)
2.删除原有通过homekit bridge插件接入的这两种类型的设备(不是删除HA中,只需要在homekit bridge插件中去勾选即可),使其在homekit中消失
3.重启HA
4.在homekit bridge重新选择这两种设备,并添加到homekit中,可以看到设备类型已经正确了

注意:
1.本修改基于2023.10.5(截至发帖前的最新版),插件有部分依赖,老版本可能不支持。需要自行同步代码,参考下面的修改方法
2.修改了依赖需求,HA升级后理论上可以兼容,如不兼容,需要自行同步代码,参考下面的修改方法
3.恢复方法:删除custom_components中的homekit,并重启HA,如提示异常,可尝试硬重启


修改方法:
1.下载附件并解压
2.根据当前版本下载官方homekit

如2023.10.5
core/homeassistant/components/homekit at 2023.10.5 · home-assistant/core (github.com)选择版本:
Snipaste_2023-10-29_10-10-17.png
下载代码:
Snipaste_2023-10-29_10-11-25.png
找到对应目录:
\core\homeassistant\components\homekit
使用对比工具进行修改:
空气净化器适配:
Snipaste_2023-10-29_10-14-06.png
插座适配:
Snipaste_2023-10-29_10-14-16.png
插件适配:
Snipaste_2023-10-29_10-16-01.png

3.修改完成后替换custom_components中的插件即可

备忘:
1.用户自定义插件差异
用户自定义插件与官方插件不同,官方插件的manifest.json不需要定义version,自定义插件需要定义这个字段,所以要增加这个字段
homekit bridge依赖采用指定版本的方式(我觉得影响不大),这块为了兼容处理,做了一些修改,参考上面的插件适配
Snipaste_2023-10-29_10-20-18.png



2.关于PR
homekit bridge提交要求代码测试用例覆盖100%,空气净化器的修改测试用例覆盖率不够,希望有人有时间可以补充下然后提一个PR,我这边短时间内没时间做这件事。
插座那个修改我觉得官方可能不一定会接受,毕竟现在的更灵活一点,虽然我觉得我的修改更合规范一点……



效果图:
1.jpg

2.jpg



评分

参与人数 1金钱 +5 收起 理由
maweilebron + 5 高手,这是高手!

查看全部评分

回复

使用道具 举报

1

主题

187

帖子

1494

积分

金牌会员

Rank: 6Rank: 6

积分
1494
金钱
1307
HASS币
0
发表于 2023-10-29 12:37:48 | 显示全部楼层
这么久没人回复,我来顶你  
回复

使用道具 举报

2

主题

187

帖子

1620

积分

金牌会员

Rank: 6Rank: 6

积分
1620
金钱
1433
HASS币
0
发表于 2023-10-29 16:40:23 | 显示全部楼层
本帖最后由 Necroneco 于 2023-10-29 16:41 编辑

关于背景2, 插座不需要单独配置成 accessory, 多个插座可以写在同一个配置里
回复

使用道具 举报

1

主题

23

帖子

419

积分

中级会员

Rank: 3Rank: 3

积分
419
金钱
396
HASS币
0
发表于 2023-10-31 00:57:04 来自手机 | 显示全部楼层
看看

Send by DZ Reader
回复

使用道具 举报

1

主题

36

帖子

163

积分

论坛分享达人

积分
163
金钱
127
HASS币
0
发表于 2023-12-9 20:22:12 | 显示全部楼层
有最新版吗
回复

使用道具 举报

0

主题

3

帖子

60

积分

注册会员

Rank: 2

积分
60
金钱
57
HASS币
0
发表于 2024-1-15 09:55:52 | 显示全部楼层
请教楼主,我把小米的水暖毯通过homekit bridge接入了homekit,但是不能调节温度,我看了下,小米调节温度的域是number,但是homekitbridge里没有number这个域,有办法解决吗。
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-26 00:35 , Processed in 0.056937 second(s), 31 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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