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

 找回密码
 立即注册
查看: 16807|回复: 50

[基础教程] 【可视门铃】摄像头流推送到电视或者安卓平板中控的教程

  [复制链接]

20

主题

219

帖子

2184

积分

金牌会员

Rank: 6Rank: 6

积分
2184
金钱
1950
HASS币
87
发表于 2023-2-28 23:59:22 | 显示全部楼层 |阅读模式
本帖最后由 jsfer888 于 2023-3-1 10:45 编辑

实现效果:
1、在看电视的时候,门口有人按门铃,摄像头实时画面弹窗推送到电视,以画中画的形式弹出
2、使用安卓平板中控,门口有人按门铃,摄像头实时画面以浮窗的形式推送到平板

具体样式如图所示:
电视.jpg 平板.jpg





前置要求:摄像头需要接入HA,并且成功安装WebRTC插件
推送到电视:
1、要求是安卓电视,或者安卓电视盒子,电视上安装下方附件中的pipup.apk软件,然后通过adb连接电视运行ADB命令:adb shell appops set nl.rogro82.pipup SYSTEM_ALERT_WINDOW allow   这串命令主要是让pipup这个app能够显示在其他应用上层(切记一定要赋予权限)
2、电视上打开刚刚安装的app,应该会显示服务已运行<IP地址:7979>,意思是在pipup服务在电视的7979端口运行;
3、在HA的配置文件中添加一行:rest_command: !include rest_commands.yaml,然后再HA的根目录下新建rest_commands.yaml文件;
4、将下面的代码粘贴到rest_commands.yaml文件中,记得修改其中的IP地址为你电视的IP
 pipup_image_on_tv:
  url: http://你电视的IP地址:7979/notify
  content_type: 'application/json'
  verify_ssl: false
  method: 'post'
  timeout: 20
  payload: >
    {
      "duration": {{ duration | default(20) }},
      "position": {{ position | default(0) }},
      "title": "{{ title | default('') }}",
      "titleColor": "{{ titleColor | default('#50BFF2') }}",
      "titleSize": {{ titleSize | default(10) }},
      "message": "{{ message }}",
      "messageColor": "{{ messageColor | default('#fbf5f5') }}",
      "messageSize": {{ messageSize | default(14) }},
      "backgroundColor": "{{ backgroundColor | default('#0f0e0e') }}",
      "media": { 
        "image": {
          "uri": "{{ url }}",
          "width": {{ width | default(640) }}
        }
      }
    }
 
 
pipup_url_on_tv:
  url: http://你电视的IP地址:7979/notify
  content_type: 'application/json'
  verify_ssl: false
  method: 'post'
  timeout: 20
  payload: >
    {
      "duration": {{ duration | default(20) }},
      "position": {{ position | default(0) }},
      "title": "{{ title | default('') }}",
      "titleColor": "{{ titleColor | default('#50BFF2') }}",
      "titleSize": {{ titleSize | default(10) }},
      "message": "{{ message }}",
      "messageColor": "{{ messageColor | default('#fbf5f5') }}",
      "messageSize": {{ messageSize | default(14) }},
      "backgroundColor": "{{ backgroundColor | default('#0f0e0e') }}",
      "media": { 
        "web": {
          "uri": "{{ url }}", 
          "width": {{ width | default(640) }},
          "height": {{ height | default(480) }}
        }
      }
    }
5、修改完配置文件以后记得重启HA,然后到开发者工具的服务里应该能够找到rest_command.pipup_image_on_tv 和 rest_command.pipup_url_on_tv 这2个服务,其中rest_command.pipup_image_on_tv这个服务是可以推送图片到电视,rest_command.pipup_url_on_tv 这个服务是可以推送视频链接到电视;
6、前置要求里说了要将摄像头接入到HA,而且要使用WebRTC插件其实不是必须(因为我是这么做的),接下来写一个脚本来触发推送:
alias: 推送到电视
  mode: single
  variables:
    link_id: '{% for _ in range(40) %}{{ range(10)|random }}{% endfor %}'
  sequence:
  - service: webrtc.create_link
    data:
      link_id: '{{ link_id }}'
      entity: 你的摄像头
      open_limit: 1
      time_to_live: 60
  - service: rest_command.pipup_url_on_tv
    data:
      title: 标题
      message: 消息
      width: 640
      height: 480
      url: 你HA的地址带:8123/webrtc/embed?url={{ link_id }}&webrtc=false
这个脚本的意思是2步,第一步是使用WebRTC插件的webrtc.create_link服务建立一个视频链接,第二步是使用rest_command.pipup_url_on_tv这个服务将视频链接推送到电视上;具体脚本设置如下图所示:
脚本设置.png
这里是app下载=====> pipup.zip (4.2 MB, 下载次数: 258)



推送到安卓平板:为什么需要推送到安卓平板,是因为上面的那个pipup软件在我的 盒子上安装了以后无法使用,app无法打开,我家里使用了一个酒店盒子做了floorplan中控,可以很方面看到整个家里的情况,然后还能够通过语音(贾维斯)控制HA的设备,可以接入chatgpt提高智商,可玩性很强,关于这个盒子我也有单独写一个帖子,有兴趣的可以移步查看:【酒店盒子】给智能音箱接入Chatgpt,对话,画画样样在行


1、平板必须开启无线ADB,并且在HA里通过Android TV集成接入;
2、平板上安装float悬浮浏览器,并将float悬浮浏览器设置为系统默认浏览器,并给float浏览器在其他应用上层显示的权限(文件在下方附件);
3、在HA制作推送到平板的脚本,具体请参考下图,记得修改代码中的参数为你自己的信息;还是分成2步,第一步是通过WebRTC插件的webrtc.create_link服务生成视频链接,第二步是通过Android TV的androidtv.adb_command服务进行adb脚本执行:后续执行脚本,就可以进行推送了;
service: webrtc.create_link
data:
  link_id: "{{ link_id }}"
  entity: 你的摄像头实体
  open_limit: 1
  time_to_live: 60
service: androidtv.adb_command
data:
  command: >-
    am start -a android.intent.action.VIEW -d
    'http://你的HA链接:8123/webrtc/embed?url={{ link_id }}&webrtc=false'
target:
  entity_id: 你的平板实体ID
盒子脚本设置.png


其中的一些参数可以自己根据实际情况调整;

Float悬浮浏览器下载: float.zip (1.79 MB, 下载次数: 87)

好了,接下来就是自动化的流程了,门口有人按门铃,如果正在看电视就推送到电视,如果没有在电视就推送到中控等等大家根据实际需求制作相应的自动化流程。

另外如果不需要视频流的推送,仅需要文字信息的推送则可以使用HA自带的Notifications for Android TV / Fire TV 集成,在电视上或者平板上下载Notifications for Android TV / Fire TV这个app,并简单设置,在HA的服务中使用notify服务就可以进行文字信息推送,非常方便

评分

参与人数 16金钱 +164 HASS币 +20 收起 理由
guoqiang881245 + 5
summ99111 + 2 感谢楼主分享!
sorrypqa + 10 膜拜大神!
zelotoj + 8 高手,这是高手!
SilverWolf + 20 这个好
hugh_jie + 10 论坛有你更精彩!
blindlight + 16 感谢楼主分享!
sirakawa + 10 墙都不扶,就服楼主!
zhanzuoson + 5 论坛有你更精彩!
ly437267 + 5
dscao + 20 论坛有你更精彩!
隔壁的王叔叔 + 10 厉害了word楼主!
flyice + 8 论坛有你更精彩!
jpcugv + 10 论坛有你更精彩!
+ 20 + 20 高手,这是高手!
centurion2009 + 5 论坛有你更精彩!

查看全部评分

回复

使用道具 举报

45

主题

638

帖子

3813

积分

论坛元老

Rank: 8Rank: 8

积分
3813
金钱
3175
HASS币
0
发表于 2023-3-1 01:10:42 | 显示全部楼层
厉害了 之前一直找这个方法,我之前用tasker方法用海康的4500软件弹窗
回复

使用道具 举报

0

主题

108

帖子

406

积分

中级会员

Rank: 3Rank: 3

积分
406
金钱
298
HASS币
0
发表于 2023-3-1 08:43:30 | 显示全部楼层
请问摄像头怎么接入HA
回复

使用道具 举报

20

主题

219

帖子

2184

积分

金牌会员

Rank: 6Rank: 6

积分
2184
金钱
1950
HASS币
87
 楼主| 发表于 2023-3-1 08:54:22 | 显示全部楼层
euking 发表于 2023-3-1 08:43
请问摄像头怎么接入HA

有rtsp流的话可以使用Generic Camera这个集成接入
回复

使用道具 举报

0

主题

98

帖子

1310

积分

金牌会员

Rank: 6Rank: 6

积分
1310
金钱
1212
HASS币
0
发表于 2023-3-1 08:55:37 | 显示全部楼层
论坛大气多,这种方法教能想到。赞楼主。
回复

使用道具 举报

0

主题

79

帖子

1058

积分

金牌会员

Rank: 6Rank: 6

积分
1058
金钱
979
HASS币
0
发表于 2023-3-1 09:01:15 | 显示全部楼层
感谢大佬分享
回复

使用道具 举报

0

主题

608

帖子

2514

积分

金牌会员

Rank: 6Rank: 6

积分
2514
金钱
1906
HASS币
0
发表于 2023-3-1 09:39:56 | 显示全部楼层
大佬啊,感谢分享!这个太牛了
回复

使用道具 举报

0

主题

45

帖子

192

积分

注册会员

Rank: 2

积分
192
金钱
147
HASS币
0
发表于 2023-3-1 09:40:09 | 显示全部楼层
感谢分享
回复

使用道具 举报

70

主题

596

帖子

3409

积分

论坛元老

Rank: 8Rank: 8

积分
3409
金钱
2813
HASS币
0
发表于 2023-3-1 10:35:28 | 显示全部楼层
这个实用,顶下。
回复

使用道具 举报

146

主题

2266

帖子

6996

积分

元老级技术达人

积分
6996
金钱
4725
HASS币
30
发表于 2023-3-1 11:21:30 | 显示全部楼层
Notifications for Android TV / Fire TV 集成 好像已经不可以用了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-21 20:34 , Processed in 2.590708 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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