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

 找回密码
 立即注册
查看: 3398|回复: 9

[经验分享] HA穷折腾(三)抛弃HomeKit,一样使用Siri控制家里的设备

[复制链接]

7

主题

114

帖子

1064

积分

论坛DIY达人

积分
1064
金钱
940
HASS币
60
发表于 2022-12-4 14:52:16 | 显示全部楼层 |阅读模式
本帖最后由 dianxin11 于 2022-12-4 22:36 编辑

HomeKit缺点

大家在使用homekit 连接HA的时候,经常会遇到如下问题:

  1. 远程连接慢
  2. 没响应
  3. 一些设备无法连入
  4. 设备状态更新慢等等

这里我教大家一个新方法,在不使用HomeKit的情况下也能用实现HomeKit类似的功能。

用快捷指令代替

方法一 调用home assistant 服务

  1. 新建快捷指令。
  2. 添加词典。
  3. 词典里添加文本类型,key和value本别填入entity_id和你要要控制的设备idlight.bedroom
  4. 添加操作处搜索home,点击home assistant 并选择调用服务。
  5. 在新添加的『调用服务并传入服务所需数据』中的『服务』选择light.toggle,点击后面的「>」右箭头,选择服务器,并在下面传入数据处选取上面设置好的词典。
  6. 如果你不喜欢使用词典,这里你也可以传入json格式的数据。
  7. 最后,给它取个名字,方便你用siri控制它。

方法二 调用 Action

如果你想处理更复杂的逻辑,你可以使用home assistant 的自动化

  1. home assistant App->配置->手机App->动作,点击添加新动作

  2. 配置名称处输入light,配置背景色和图标,保存。

  1. home assistant App->配置->场景自动化->新建自动化
  2. 起名为Light Action
  3. 触发条件『事件类型』一栏填入ios.action_fired
  4. 『事件数据』一栏填入actionName: light

  1. 新建自动化『动作』,选择对应的设备动作(light.toggle),保存。
  2. 新建快捷指令。
  3. 添加操作,选择『home assistant』。
  4. 选择执行命令下面对应的Action。

  1. 同样,给它取个名字。

如果你习惯用node-red,同样也可以使用。

  1. 重复上面的1,2两步。

  2. 在node-red中新建『event all』节点。

  3. 在『Event type』一栏输入ios.action_fired

  4. 添加『switch』节点。

  5. 在『属性』一栏输入payload.event.actionName

  6. 在下面的条件栏输入light

  7. 这样就node-red就可以接受到Action了,后续的逻辑安装自己的需求写吧。

  8. 重复上面8-10的步骤。

什么?你说你没装APP?@#$&~! 没关系,那也能用!

方法三 调用REST Api

  1. 确保你的configuration.yaml文件配置了
    frontend:

    或者

    api:
  2. 左侧导航栏->用户资料(profile)->长期访问令牌 创建令牌,保留好token。
  3. 新建快捷指令。
  4. 添加『获取URL内容』。
  5. 将你的api url填入『URL』一栏。api url格式为:http://YOUR-HASS-IP:8123/api/services/light/toggle。REST API 相关文档请看这里-   REST API
  6. 展开『获取URL内容』,方法选『POST』,在下面的头部一栏 key填入Authorization,value填入Bearer token;再添加一行分别输入content-typeapplication/json
  7. 请求体一栏选择『JSON』,分别填入entity_idlight.bedroom
  8. 取个名字,赶紧试试吧。

总结

用快捷指令来控制HA,有一个问题就是不能显示对应的状态,所以只适合开关一类的简单控制。如果你有更复杂的操作,还是老老实实用HomeKit 或者 HA吧。



评分

参与人数 1金钱 +20 HASS币 +10 收起 理由
+ 20 + 10 高手,这是高手!

查看全部评分

回复

使用道具 举报

8

主题

515

帖子

3658

积分

论坛元老

Rank: 8Rank: 8

积分
3658
金钱
3143
HASS币
5
发表于 2022-12-4 15:22:13 | 显示全部楼层
有没有可能homekit慢是因为安装的环境问题,我之前用树莓派确实慢,但是后来换了nuc,把HA装在NVME上,速度飞起
回复

使用道具 举报

21

主题

173

帖子

2297

积分

金牌会员

Rank: 6Rank: 6

积分
2297
金钱
2124
HASS币
20
发表于 2022-12-4 18:52:44 | 显示全部楼层
Midnight 发表于 2022-12-4 15:22
有没有可能homekit慢是因为安装的环境问题,我之前用树莓派确实慢,但是后来换了nuc,把HA装在NVME上,速度 ...

HA再快有啥用啊,主要homekit走的苹果服务器,设备状态经常转圈。
回复

使用道具 举报

70

主题

449

帖子

3266

积分

论坛元老

Rank: 8Rank: 8

积分
3266
金钱
2817
HASS币
0
发表于 2022-12-4 19:00:43 | 显示全部楼层
flyice 发表于 2022-12-4 18:52
HA再快有啥用啊,主要homekit走的苹果服务器,设备状态经常转圈。

homekit走不走苹果服务器这个不太清楚,我的理解是苹果相同id间的推送,类似相同苹果id好几个苹果设备会同时收到iMessage推送一样,只走路由器或者苹果设备中枢,没有中枢,局域网一样可以用homekit,因为路由器性能的问题,也和苹果设备wifi弱鸡的问题,众所周知,博通的wifi方案和性能弱,难优化,和很多设备兼容性不好,会造成homekit是会经常掉线了,有中枢,最终还是会远程回到你家的路由器问题,又接上第一个局域网的问题。
回复

使用道具 举报

8

主题

515

帖子

3658

积分

论坛元老

Rank: 8Rank: 8

积分
3658
金钱
3143
HASS币
5
发表于 2022-12-4 21:52:41 | 显示全部楼层
flyice 发表于 2022-12-4 18:52
HA再快有啥用啊,主要homekit走的苹果服务器,设备状态经常转圈。

为啥我的就不转圈?
回复

使用道具 举报

5

主题

295

帖子

3994

积分

论坛元老

Rank: 8Rank: 8

积分
3994
金钱
3699
HASS币
0
发表于 2022-12-4 22:30:12 | 显示全部楼层
表示局域网秒开。互联网2秒,所以。。。。。这个未响应是啥不晓得
回复

使用道具 举报

9

主题

163

帖子

2816

积分

论坛技术达人

积分
2816
金钱
2643
HASS币
50
发表于 2022-12-5 08:28:21 | 显示全部楼层
升级最新ios16,搭配homepod mini,外网homekit几乎秒开
回复

使用道具 举报

0

主题

608

帖子

2520

积分

金牌会员

Rank: 6Rank: 6

积分
2520
金钱
1912
HASS币
0
发表于 2022-12-5 08:39:39 | 显示全部楼层
感谢分享,这样就不需要中枢也能用了?
回复

使用道具 举报

7

主题

114

帖子

1064

积分

论坛DIY达人

积分
1064
金钱
940
HASS币
60
 楼主| 发表于 2022-12-5 11:33:19 | 显示全部楼层
Ari 发表于 2022-12-5 08:39
感谢分享,这样就不需要中枢也能用了?

是的,不需要中枢。
回复

使用道具 举报

3

主题

8

帖子

60

积分

注册会员

Rank: 2

积分
60
金钱
52
HASS币
0
发表于 2022-12-10 23:16:06 | 显示全部楼层
ck3 发表于 2022-12-5 08:28
升级最新ios16,搭配homepod mini,外网homekit几乎秒开

同感,以前ios15 有延迟,有时候还转圈圈,自从升级ios16 配合homepod,外网下 秒开设备
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-28 14:41 , Processed in 0.061717 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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