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

 找回密码
 立即注册
查看: 13524|回复: 33

[新奇玩法] homekit 简易门铃搭建

  [复制链接]

8

主题

50

帖子

1123

积分

金牌会员

Rank: 6Rank: 6

积分
1123
金钱
1073
HASS币
20
发表于 2022-4-1 23:01:03 | 显示全部楼层 |阅读模式
本帖最后由 qiaoqiao1235 于 2023-10-23 10:38 编辑

新增nodered流接入方式,比较简单,可以参考
非可视门铃接入homekit


背景:

家里米家和homekit双平台,手机都是iphone,每个房间有一个homepod mini,所以想要装一个支持homekit的门铃。
homekit本身是有标准可视门铃配件的,很强大。按门铃时,homepod会响,如果有apple tv电视上会弹出实时画面,手机也可以实时通知预览。

分析:
分析了现有的几种门铃接入homekit的情况
×1.原生homekit门铃
问题:需要直接供电,价格贵,种类少,Logic Circle View Doorbell等。有条件可以上,可以用HomeKit Secure Video。

×2.米家门铃接入:
可行性:买了一个小米门铃3,可以通过xiaomi miio auto 接入。
问题:产品本身问题:关联了小爱音箱了但是显示门铃画面特别慢;室内要插单独一个门铃接收器为了实时响铃;全程云端存储,不支持本地;电池供电,只有人经过、按门铃才会可控,其他时候断网,切换成普通模式效果也不好。
接入hass问题:只可以云端接入,没有本地方式;只可以获取记录视频的最后一帧画面,没有视频;门铃按钮、人体传感器无法有效工作。基本不可用。

×3.其他成品可视门铃
可行性:包括ring、eufy、nest等,homebridge有插件可以直接接入;国内其他几家的没试过。
问题:不容易买,价格贵,其中电池供电设备的可用性不太确定。

√4.自制门铃
可行性:接入第三方相机或者创建一个fake camera,关联一个按钮,关联一个人体传感器就可以了。
问题:不支持HomeKit Secure Video。(scrypted可以支持,可以研究下)

结论
经过对比,当前计划按照方案4来尝试。


                               
登录/注册后可看大图


方案:
需要材料:实体开关(必须,按钮比如aqara智能开关,米家那个有点丑);能接入hass的摄像机(可选,一般支持rtsp、onvif即可);人体传感器(可选,如果摄像头本身支持就不需要这个了)。
按照场景来分:
  • 支持按门铃,homepod会响,电视、手机弹出通知——需要开关
  • 支持按门铃,homepod会响,电视、手机弹出实时画面——需要开关、摄像头
  • 支持按门铃,homepod会响,电视、手机弹出实时画面,支持人体检测——需要开关、摄像头、人体传感器


一.支持按门铃,homepod会响,电视、手机弹出通知
1.新建一个静态图片的fake camera
参考:https://www.home-assistant.io/integrations/generic/
在/config/www下放入 your_image.png,如果没有www请新建,放入后重启hass,在浏览器打开https://IP:8123/local/your_image.png可以看看是否正常
在/config下新建camera.yaml
- platform: generic
name: doorbell
still_image_url: https://127.0.0.1:8123/local/your_image.png
verify_ssl: false
2.将按钮转换成一个binary sensor
在/config下新建bianry_sensor.yaml
因为linked_doorbell_sensor关联的只可以是binary sensor,通常添加的按钮可能是一个action,需要通过模板转换一下。 aqara button会有single、hold、release等几种状态,我只要识别单击就认为有人按门铃即可,所以配置 on:single,其他按钮根据自己情况适配,可以看一下添加完成按下去之后的二元传感器状态是否符合预期。
- platform: template
  sensors:
    doorbell_switch:
      friendly_name: Doorbell Button
      value_template: "{{ is_state('sensor.0x00158d0001b92d08_action', 'single') }}"

3.新增homekit设备
在/config下新建homekit.yaml
使用accessory模式新增一个homekit设备(相机只可以用accessory mode),包括相机,配置关联的按钮
- name: Doorbell
  mode: accessory
  filter:
    include_entities:
      - camera.doorbell
  entity_config:
      camera.doorbell:
        name: Doorbell
        support_audio: false
        linked_doorbell_sensor: binary_sensor.doorbell_switch

4.修改configuration.yaml
将camera、binary_sensor、homekit都包含进去
camera: !include camera.yaml
binary_sensor: !include binary_sensor.yaml
homekit: !include homekit.yaml

5.重启
重启后,home扫描通知中的配对码新增配件就可以了。

进阶:fake相机不仅可以显示静态图片,也可以显示天气或者地图(一般动态刷新的)
显示天气参考https://developer.yr.no/doc/guides/deprecating-old-widgets/ 获取svg地址
按照如下配置修改:
- platform: generic
    name: Weather
    still_image_url: https://www.yr.no/en/content/1-72837/meteogram.svg
    content_type: "image/svg+xml"
Snipaste_2022-04-01_22-51-27.png
显示地图参考https://lbs.amap.com/api/webservice/guide/api/staticmaps/ 获取静态地图地址
建议使用高德的,google的现在比较麻烦。高德需要申请开发者api,获取key参考:https://lbs.amap.com/api/webservice/guide/create-project/get-key
按照如下配置修改:
- platform: generic
name: Map
still_image_url: https://restapi.amap.com/v3/staticmap?location=116.481485,39.990464&zoom=10&size=750*300&markers=mid,,A:116.481485,39.990464&key=<用户的key>
limit_refetch_to_url_change: true
Snipaste_2022-04-01_22-51-08.png

二、支持按门铃,homepod会响,电视、手机通知弹出实时画面
在方案一的基础上修改一下camera.yaml需要真实的相机。目的是支持视频流即可,其他不变
可以使用其他任何办法把相机接入进hass,把homekit配置文件修改成对应的相机实体即可,相机如何添加请自行搜索。
- platform: generic
    name: doorbell
    username: user
    password: pass
    stream_source: rtsp://user:[email protected]:554


三、支持按门铃,homepod会响,电视、手机弹出实时画面,支持人体检测
在方案一或者方案二的基础上修改homekit.yaml,添加一条配置 linked_motion_sensor。
有的相机添加进来就自带传感器了就可以直接使用那个,onvif接入一般会支持事件通知。没有的话就单独关联一个自己安装的也可以。
- name: Doorbell
mode: accessory
filter:
include_entities:
- camera.doorbell
entity_config:
camera.doorbell:
name: Doorbell
support_audio: false
linked_doorbell_sensor: binary_sensor.doorbell_switch
linked_motion_sensor: binary_sensor.0x00158d000549bb6e_motion
其实如果没有实时画面我觉得人体传感器意义不大,检测到人也看不到……



                               
登录/注册后可看大图



我当前使用的是方案一,因为门前没有办法供电接摄像头,主要就是想有人按门铃,homepod和手机会提醒就够了。
成本很低,几十块,一个开关。就算使用方案3,人体传感器+一个tplink的摄像头最多也就200块左右。
使用效果达到预期,延迟很低,homepod的功能又可以+1了。

2022-04-01 22.56.48.png

2022-04-01 22.56.12.png

2022-04-01 22.48.24.png















评分

参与人数 2金钱 +25 HASS币 +10 收起 理由
allenalex + 5 论坛有你更精彩!
+ 20 + 10 感谢楼主分享!

查看全部评分

回复

使用道具 举报

8

主题

690

帖子

4556

积分

论坛元老

Rank: 8Rank: 8

积分
4556
金钱
3861
HASS币
0
QQ
发表于 2022-4-1 23:47:43 | 显示全部楼层
好后学习一下
回复

使用道具 举报

27

主题

2143

帖子

8930

积分

论坛元老

Rank: 8Rank: 8

积分
8930
金钱
6782
HASS币
30

论坛元老

发表于 2022-4-2 08:58:07 | 显示全部楼层
实际问题是,我自己测试萤石rstp通过ha接入homekit,摄像头图像加载过程特别慢,加载成功之后很流畅,不晓得为啥
回复

使用道具 举报

40

主题

2176

帖子

8286

积分

元老级技术达人

积分
8286
金钱
6095
HASS币
110
发表于 2022-4-2 09:12:06 | 显示全部楼层
同3L 摄像头加载慢
我是433门铃+论坛模块一个空的接口,其状态变化后触发自动化 通知ios+实时截图,点击可查看画面
回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
发表于 2022-4-2 10:12:58 | 显示全部楼层
情非殇 发表于 2022-4-2 08:58
实际问题是,我自己测试萤石rstp通过ha接入homekit,摄像头图像加载过程特别慢,加载成功之后很流畅,不晓 ...

得H264 homekit不支持 265推送(因为要给专利费)。然后 homeassistant 里面编码选 copy 就好了。速度很快。即使外网也可以做到3秒出视频。海康的需要关掉 smart264
Nero
回复

使用道具 举报

3

主题

154

帖子

1760

积分

金牌会员

Rank: 6Rank: 6

积分
1760
金钱
1606
HASS币
10
发表于 2022-4-2 12:37:57 | 显示全部楼层
好贴  回去再看
回复

使用道具 举报

0

主题

135

帖子

1145

积分

金牌会员

Rank: 6Rank: 6

积分
1145
金钱
1010
HASS币
0
发表于 2022-4-2 13:56:21 | 显示全部楼层
neroxps 发表于 2022-4-2 10:12
得H264 homekit不支持 265推送(因为要给专利费)。然后 homeassistant 里面编码选 copy 就好了。速度很 ...

大佬,“homeassistant 里面编码选 copy 就好了”   这个编码是在哪里,没找到,请告诉下吧
回复

使用道具 举报

35

主题

401

帖子

2563

积分

金牌会员

Rank: 6Rank: 6

积分
2563
金钱
2162
HASS币
10
发表于 2022-4-2 13:59:43 | 显示全部楼层
这个好,感谢楼主
回复

使用道具 举报

40

主题

3056

帖子

1万

积分

超级版主

Nero

Rank: 8Rank: 8

积分
11149
金钱
8042
HASS币
182
发表于 2022-4-2 14:14:54 | 显示全部楼层
taioner 发表于 2022-4-2 13:56
大佬,“homeassistant 里面编码选 copy 就好了”   这个编码是在哪里,没找到,请告诉下吧 ...

https://www.home-assistant.io/integrations/homekit/#video_codec
Nero
回复

使用道具 举报

27

主题

2143

帖子

8930

积分

论坛元老

Rank: 8Rank: 8

积分
8930
金钱
6782
HASS币
30

论坛元老

发表于 2022-4-2 15:28:43 | 显示全部楼层
neroxps 发表于 2022-4-2 10:12
得H264 homekit不支持 265推送(因为要给专利费)。然后 homeassistant 里面编码选 copy 就好了。速度很 ...

都弃坑了,N大一句话让我又焕发第二春了,我晚上回家试试

rtsp://用户名:密码@IP地址/h264/ch01/main/av_stream,我是用这种代码接入的,

局域网hass界面打开也有几秒响应延迟,而且视频流又延迟

hk打开要加载半分钟一分钟,但是加载出视频流反而0延迟。

……
  camera:
    video_codec: copy

只附加这个参数就好了么
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-24 03:53 , Processed in 0.245717 second(s), 37 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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