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

 找回密码
 立即注册
查看: 2522|回复: 12

[流程系列] 控制电视观看时间的流(已更新控制方式)

[复制链接]

5

主题

61

帖子

842

积分

高级会员

Rank: 4

积分
842
金钱
781
HASS币
0
发表于 2023-8-22 16:15:22 | 显示全部楼层 |阅读模式
本帖最后由 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秒后关机;若家长额外允许观看时间,则在倒计时输入框内输入额外允许的时间,则系统会放开限制,直到倒计时结束,清零额外允许时间,并再次限制电视。

新的电视控制流程图
新的电视控制流程.png


       与流程配套的需求有:一个启用限制功能的按钮,用来开启或关闭限制功能;一个 允许观看时间的输入框,用来设置在4个小时内允许观看电视的时间(滚动更新);还有一个 倒计时输入框,用来设置额外的允许观看时间;一个历史记录传感器,记录电视在4个小时内的总观看时间,0.01小时即36秒更新一次。

配套控件.png
       目前存在的问题:
       ①由于小米电视没有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"




电视流程.png

flows.zip

4.55 KB, 下载次数: 11

不完善,安卓ADB发送键码方式控制电视

new_flows.zip

4.91 KB, 下载次数: 19

spec协议控制电视,增加音量限制

评分

参与人数 2金钱 +20 收起 理由
DDDear + 10 纳尼,还有这种操作?
隔壁的王叔叔 + 10 厉害了word楼主!

查看全部评分

回复

使用道具 举报

10

主题

1328

帖子

4238

积分

论坛元老

Rank: 8Rank: 8

积分
4238
金钱
2910
HASS币
0
发表于 2023-8-22 16:44:55 | 显示全部楼层
太棒了,顶起来。我拿去改改看看索尼电视是否可行。
回复

使用道具 举报

0

主题

1

帖子

16

积分

新手上路

Rank: 1

积分
16
金钱
15
HASS币
0
发表于 2023-8-22 17:44:07 | 显示全部楼层
着东西不错,靠小孩自觉真不可能
回复

使用道具 举报

32

主题

1065

帖子

4942

积分

论坛元老

Rank: 8Rank: 8

积分
4942
金钱
3862
HASS币
90
发表于 2023-8-22 19:30:15 | 显示全部楼层
大佬牛逼,我还看到国外大神做了个类似的 https://community.home-assistant.io/t/screen-time-for-the-kids/452149?u=relliky

不过他是每周给他孩子玩游戏和看电视的额度。
我家全屋智能的HA设置 https://github.com/relliky/Tais_Home_Assistant_Config
回复

使用道具 举报

3

主题

46

帖子

330

积分

中级会员

Rank: 3Rank: 3

积分
330
金钱
284
HASS币
0
发表于 2023-8-22 21:05:51 | 显示全部楼层
tv_time_current  这个怎么创建的,没找到
回复

使用道具 举报

5

主题

61

帖子

842

积分

高级会员

Rank: 4

积分
842
金钱
781
HASS币
0
 楼主| 发表于 2023-8-22 21:23:47 | 显示全部楼层
michaelxkh 发表于 2023-8-22 21:05
tv_time_current  这个怎么创建的,没找到

这个是历史记录传感器里的数据,主贴里有说配套的东西
回复

使用道具 举报

5

主题

61

帖子

842

积分

高级会员

Rank: 4

积分
842
金钱
781
HASS币
0
 楼主| 发表于 2023-8-22 22:29:39 | 显示全部楼层
michaelxkh 发表于 2023-8-22 21:05
tv_time_current  这个怎么创建的,没找到

已经更新主贴了,参看主贴内容和附件
回复

使用道具 举报

5

主题

61

帖子

842

积分

高级会员

Rank: 4

积分
842
金钱
781
HASS币
0
 楼主| 发表于 2023-8-22 22:30:43 | 显示全部楼层
relliky 发表于 2023-8-22 19:30
大佬牛逼,我还看到国外大神做了个类似的 https://community.home-assistant.io/t/screen-time-for-the-kid ...

个人感觉每周时间跨度太大了
回复

使用道具 举报

10

主题

145

帖子

1613

积分

论坛技术达人

积分
1613
金钱
1463
HASS币
30
发表于 2023-8-24 01:10:14 | 显示全部楼层
小米电视感觉用这个集成控制会好点
https://github.com/shaonianzhentan/xiaomi_tv
回复

使用道具 举报

5

主题

61

帖子

842

积分

高级会员

Rank: 4

积分
842
金钱
781
HASS币
0
 楼主| 发表于 2023-8-24 08:28:46 | 显示全部楼层
hunl1986 发表于 2023-8-24 01:10
小米电视感觉用这个集成控制会好点
https://github.com/shaonianzhentan/xiaomi_tv

这是通过ADB控制的吗?ADB打开后,关机或重启电视ADB就自动关闭了
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-11-21 18:56 , Processed in 0.108233 second(s), 35 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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