控制电视观看时间的流(已更新控制方式)
本帖最后由 fanxiong 于 2023-8-23 08:45 编辑暑假期间,为防止小孩看电视太久,设置了小米电视的儿童模式,但功能太弱鸡了,它允许设置每次观看时长和一天观看总时长,但是在一次观看时间达到上限锁屏后,到解除锁屏只间隔了5分钟,也不能更改间隔时间。间隔五分钟还不是等于没有限制吗?况且还有更坑的,一天总的观看时长用完后,电视锁屏,这时按关机键提示“请解锁后使用该功能”,不看了关机还得输入密码才行,佩服小米电视的脑C设计。 另外,小米电视5开机后,不管有没有播放视频,电视状态都是idle(原来的康佳电视状态有idle、playing、pause),获取的APP名称也始终是桌面,不能精细化管理控制。
吐槽完了,还是自己写一个控制电视的流程得了,还是自己最懂自己的需求。
先介绍一下背景:我是在电视盒子CM211-1上安装的docker版homeassistant,电视是小米电视5,带有小爱功能,所以流程中的TTS是通过电视小爱发出的。
控制逻辑是这样的:当限制功能启用时,检测到电视开机,则TTS语音提醒当前允许观看剩余时间XX分钟(若已用完观看时间则提醒还有XX分钟才能观看);在观看过程中,剩余观看时间为10分钟、5分钟、1分钟以及关机时都会TTS语音提醒;当观看时间用尽时,则返回电视主页,并且30秒后关机;若家长额外允许观看时间,则在倒计时输入框内输入额外允许的时间,则系统会放开限制,直到倒计时结束,清零额外允许时间,并再次限制电视。
新的电视控制流程图
与流程配套的需求有:一个启用限制功能的按钮,用来开启或关闭限制功能;一个 允许观看时间的输入框,用来设置在4个小时内允许观看电视的时间(滚动更新);还有一个 倒计时输入框,用来设置额外的允许观看时间;一个历史记录传感器,记录电视在4个小时内的总观看时间,0.01小时即36秒更新一次。
目前存在的问题:
①由于小米电视没有playing状态,只有开关机状态,因此不能精确判断电视是否在播放,只能认为开机就是在观看,所以数据不一定准确。
②目前流程中电视的控制是通过ADB发送遥控器键码方式实现的,但是电视重启后ADB会自动关闭,影响使用体验。本准备用小爱语音控制,但是今天看到了小米协议控制,待试验成功后再更新流程吧。本条已经解决,使用spec协议控制电视,不惧ADB关机失效。
=======================================================================================================================================================
有朋友问电视当前观看时间是怎么获取的,我是参考论坛前辈的帖子,在configuration.yaml文件中加入了历史记录传感器记录电视观看时间的,内容如下:
sensor:
- platform: history_stats
name: TV_playing_Last_4H
entity_id: media_player.xiaomi_mitv5h1_2c03_play_control
state: "idle"
type: time
end: "{{ now() }}"
duration: "4:00"
太棒了,顶起来。我拿去改改看看索尼电视是否可行。 着东西不错,靠小孩自觉真不可能 大佬牛逼,我还看到国外大神做了个类似的 https://community.home-assistant.io/t/screen-time-for-the-kids/452149?u=relliky
不过他是每周给他孩子玩游戏和看电视的额度。 tv_time_current这个怎么创建的,没找到 michaelxkh 发表于 2023-8-22 21:05
tv_time_current这个怎么创建的,没找到
这个是历史记录传感器里的数据,主贴里有说配套的东西 michaelxkh 发表于 2023-8-22 21:05
tv_time_current这个怎么创建的,没找到
已经更新主贴了,参看主贴内容和附件 relliky 发表于 2023-8-22 19:30
大佬牛逼,我还看到国外大神做了个类似的 https://community.home-assistant.io/t/screen-time-for-the-kid ...
个人感觉每周时间跨度太大了 小米电视感觉用这个集成控制会好点
https://github.com/shaonianzhentan/xiaomi_tv hunl1986 发表于 2023-8-24 01:10
小米电视感觉用这个集成控制会好点
https://github.com/shaonianzhentan/xiaomi_tv
这是通过ADB控制的吗?ADB打开后,关机或重启电视ADB就自动关闭了
页:
[1]
2