米系可视门铃、猫眼、摄像头(看家助手)本地化存储方案
step1: 设备接入miot auto
跳过。。。。
step2: 实现自动化存储
首先我们在/config目录里,新建一个文件xiaomi_video_autosave.sh,将如下代码贴入。复制过程注意window与Linux换行符差异,否则会造成执行失败。也就是最好不要用samba操作,而是直接ssh登入后,将代码贴入。
#! /bin/bash
## setting section
path="/media/xiaomi_video/"
video_limit=500
if [ ! -d $path];then
mkdir $path
fi
current_file_size=`ls $path|wc -l`
video_url=$1
raw_file_name=`echo $2|sed 's/[^0-9]//g'`
file_name=$path$raw_file_name".mp4"
if [ $current_file_size -ge $video_limit ]; then
ls $path -tr|head -n $(($current_file_size-$video_limit+1))|sed "s/^/${path//\//\\\/}/g"|xargs rm
fi
ffmpeg -i $video_url -acodec copy -vcodec copy -f mp4 $file_name
path:就是存放目录,根据情况修改,格式为/media/xxxxxx/,不要省略结尾的“/”。
video_limit:是存储上限,我存的视频大概不到1M一个,所以我设定了500个存储上限。你可以根据实际情况调整。
(另外需要注意的是,如果你播放的视频不全,比如就有1-2秒,请参考35楼的方案(已置顶)。)
保存退出后,别忘赋予可执行权限哦
chmod a+x /config/xiaomi_video_autosave.sh
再之后,我们在/config/configuration.yaml中将下述shell脚本加入到shell_command里:
shell_command:
xiaomi_autosave: '/bin/bash /config/xiaomi_video_autosave.sh "{{state_attr("camera.lumi_wbmcn1_8a41_lock","stream_address")}}" "{{state_attr("camera.lumi_wbmcn1_8a41_lock","motion_video_time")}}" '
##注意将camera实体换成你自己的!
最后,我们搞个HA自动化就完成视频本地存储了,放在automation.yaml里,或者自己通过HA前端手动写一个!
- id: 'tel:1678104080023'
alias: door_video_autosave
description: ''
trigger:
- platform: state
entity_id:
- camera.lumi_wbmcn1_8a41_lock ## 将此处修改为你的camera实体
attribute: motion_video_time
condition: []
action:
- service: shell_command.xiaomi_autosave
data: {}
step3: 生成HA视频查看卡片
除了用HA存储,我也要用HA查看!我从HACS里找了一个视频播放卡片,并为可视门铃的竖屏视频做了简单适配,有兴趣的朋友可以试一试:
首先,通过HACS安装前端卡片。依次点击HACS-》前端-》右上角三个点-》自定义存储库,类别选择lovelace,存储库贴入https://github.com/louisslee/gallery-card,并点击添加。添加后,就可以找到Custom Gallery Card,直接安装即可。
接下来,我们生成个HA视频卡片。你可以选择在HA lovelace页面建一个panel或者只是一个单卡片的view,来展示存储的视频。这里我们为新手朋友简单介绍在原有lovelace添加单卡片的view的方法。
在概览页面,点击右上角三个点-》编辑仪表盘-》左侧”+“号 添加视图-》标题随便起,视图类型选择视图(单张卡片)。点击添加卡片,拉到最后选择Custom Gallery Card,并点选代码编辑器,并将以下内容贴入:
type: custom:custom-gallery-card
entities:
- media-source://media_source/local/xiaomi_video ##如果你存储位置也在HA主机/media目录下,直接将xiaomi_video换成你自己定义的文件夹
file_name_format: '%YYY%m%d%H%M%S'
caption_format: '%YYY %m/%d %H:%M %p'
show_reload: true
menu_alignment: vertical #如果你的视频是横屏视频,请将此处换为responsive或直接使用未修改的gallery-card
这样就搞定了,你可以自己在门外走走,生成几个视频试试!!
米系可视门铃、猫眼、摄像头(看家助手)视频推送
这个简单,以下放在automation.yaml里,或者自己通过HA前端手动写一个!
- id: 'tel:1678104080026'
alias: door_video_push
description: ''
trigger:
- platform: state
entity_id:
- camera.lumi_wbmcn1_8a41_lock ##换成你的!
attribute: motion_video_time
condition: []
action:
- service: notify.mobile_app_****_iphone ##换成你的!
data:
title: 家门有人推送
message: 点击可查看视频
data:
url: '{{state_attr(''camera.lumi_wbmcn1_8a41_lock'',''stream_address'')}}' #换成你的!