粉丝服务

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

点击蓝字

关注我们


本文为『瀚思彼岸』论坛精华文章,作者为jsfer888大神,在此表示感谢!文章版权归原作者所有,侵权必究。


实现效果

  1. 在看电视的时候,门口有人按门铃,摄像头实时画面弹窗推送到电视,以画中画的形式弹出;

  2. 使用安卓平板中控,门口有人按门铃,摄像头实时画面以浮窗的形式推送到平板。


具体样式如图所示:




前置要求

摄像头需要接入HA,并且成功安装WebRTC插件。


推送到电视

  1. 要求是安卓电视,或者安卓电视盒子,电视上安装下方附件中的pipup.apk软件,然后通过adb连接电视运行ADB命令:adb shell appops set nl.rogro82.pipup SYSTEM_ALERT_WINDOW allow 这串命令主要是让pipup这个APP能够显示在其他应用上层(切记一定要赋予权限);

  2. 电视上打开刚刚安装的APP,应该会显示服务已运行,意思是在pipup服务在电视的7979端口运行;

  3. 在HA的配置文件中添加一行:rest_command: !include rest_commands.yaml,然后再HA的根目录下新建rest_commands.yaml文件;

  4. 将下面的代码粘贴到rest_commands.yaml文件中,记得修改其中的IP地址为你电视的IP;



  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插件其实不是必须(因为我是这么做的),接下来写一个脚本来触发推送:




    rest_commands.yaml内容:

 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) }}        }      }    }


触发脚本内容:
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这个服务将视频链接推送到电视上。具体脚本设置如下图所示:



请点击阅读原文到论坛下载APP(pipup.zip)。


推送到安卓平板

  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_linkdata:  link_id: \"{{ link_id }}\"  entity: 你的摄像头实体  open_limit: 1  time_to_live: 60


service: androidtv.adb_commanddata:  command: >-    am start -a android.intent.action.VIEW -d    \'http://你的HA链接:8123/webrtc/embed?url={{ link_id }}&webrtc=false\'target:  entity_id: 你的平板实体ID



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


请点击阅读原文到论坛下载Float悬浮浏览器( float.zip)。


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


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


欲了解更多Home Assistant最新玩法和教程,请访问瀚思彼岸论坛(bbs.hassbian.com),同时欢迎关注本公众号:



▼ 请点击“阅读原文”到论坛与作者互动。

本栏目精选

热门推荐

频道导航