집에 아이들이 있다보니, 티비를 통해서 아이들이 컨텐츠를 시청하는 것을 제한하지 않을 수가 없다고 생각이 계속 들게 됩니다.
물론 스스로 절제가 가능한 나이대의 아이들이면 상관이 없겠지만, 아직은 티비를 시청하는 것이 좋기만한 아이들에게는 힘들다고 생각합니다.
최소한의 규칙을 가지고 아이들이 스스로 절제를 할 수 있는 지침을 만들어 주기 위해서티비 시청시간이 1시간 지났으면 TTS를 통해 아이들과 집에 있는 다른 가족들에게 해당 내용을 알려주는 것을 목표로 하기로 합니다.
00_ 도우미 만들기 메뉴 위치
물론 도우미 만들기 메뉴 위치를 모르는 사람은 없겠지만...
- 설정 > 기기 및 서비스 > 도우미(상단 메뉴)
01_ Template Sensor 도우미 만들기


도우미 만들기를 통해서 Template을 선택하고 센서 템플릿을 선택해 줍니다.
바이너리 센서 템플릿으로 해도 되지만, 조금 더 활용율이 높게 사용하고자 센서 템플릿으로 일단 해봅니다.

"상태 템플릿*"이라고 되어 있는 칸에 아래 내용을 넣어줍니다. 다른 구분할 수 있는 좋은 방법이 있다면 변경해도 나쁘지 않을 듯 합니다.
아래 템플릿의 내용을 간략하게 설명하자면, 아래와 같습니다.
- "(if) media_player.appletv가 재생중이면 속성중 app_id를 표시"
- "(else) media_player.appletv가 재생중이 아니면 appletv의 상태를 표시"
{% if is_state("media_player.appletv", "playing") %}
{{ states.media_player.appletv.attributes.app_id }}
{% else %}
{{ states.media_player.appletv.state }}
{% endif %}
상태 템플릿만 채워넣어주고, 나머지는 다 공란으로 둔채로 확인을 눌러 생성합니다.


처음 생성하고 나면 아이콘이 이쁘지 않네요. 설정에서 아이콘을 다른 마음에 드는걸로 바꾸면 훨씬 보기가 좋아집니다.
만들어진 Sensor를 클릭해서 내용을 보면 아래와 같이 나옵니다. 지금은 아이들이 티비를 보고 있지 않아서 그런가 봅니다.

02_ media_player.appletv 속성 확인
개발자 도구 > 상태 > 상태 설정에서 구성요소에 Apple TV를 선택하게 되면 상태속성이 조회됩니다.

Apple TV가 HA 구성요소로 당연히 등록이 먼저 되어 있어야 합니다.
Apple TV의 media_player 속성을 보게 되면, app_id가 있는데, 재생중인 App Id 인듯 합니다.
저희집에서 아이들이 볼때 사용하는건 3종류만 있으니, History Stats 도우미를 만들 때에 사용하기로 합니다.
Youtube Kids - com.google.ios.youtubekids
Netflix - com.netflix.Netflix
Disney+ - com.disney.disneyplus
03_ History Stats Sensor 도우미 만들기
Template Sensor로 Apple TV에서 어떤 App이 재생되고 있는지 확인 할 수 있게 되었으니, 두번째 도우미를 만들어 봅니다.

도우미 만들기에서 알파벳 순으로 정렬되어 있어서 그런지 History Stats 아래족으로 조금전 만들었던 Template도 보입니다.
History Stats는 2단계로 설정을 하게 됩니다. 그렇다고 복잡한건 아니니 필요한 내용만 딱 맞춰서 입력해주면 됩니다.
1단계는 센서 추가를 위한 정보고, 2단계는 History stats를 어떻게 표시할 것인가에 대한 부분입니다.

"어떤 구성요소(Entity)가 어떤 상태(State)일 때, 어떻게(Type) 보여줄건가요?"라는 질문이라고 생각하면 된다.
위에서 먼저 만들었던 Template Sensor의 상태가 Youtube Kids 또는 Disney+인 시간으로 보여줄거라고 입력해 줍니다.

Start/End/Duration 중에 2가지는 반드시 입력해야지 확인을 하고 정상적으로 도우미가 생성됩니다.
Start는 {{ now().replace(hour=0, minute=0, second=0, microsecond=0) }} 로 입력합니다.
End는 {{ now() }} 로 입력합니다.
Start가 의미하는바는 현재일의 0시 0분 0초입니다.
End는 현재시간이니 현재일의 00시 00분에서 현재시간까지의 History Stats를 조회하여 보여줍니다.
문제없이 잘 입력하였다면 확인을 눌러서 생성합니다.

Template Sensor와 다르게 History Stats Sensor는 아이콘이 그래프 느낌이라 그대로 써도 문제가 없을 것 같습니다.
실제로 아이들이 정신없이 티비에 열중하고 있으면, 그래프가 쭉쭉쭉 올라갑니다.
그리고, 아이들이 티비를 많이 왔다는 걸 확인하고 티비를 끄도록 아이들을 유도합니다.
History Stats Sensor는 설정했던 것 같이 날짜가 변경되면 0분으로 자동으로 바뀌게 됩니다.


도우미를 이용하여 두가지 Sensor를 생성하여 아이들의 티비 시청 누적시간을 관리하도록 합니다.
04_ 둘러보기에 보여주기
적당히 대충 나만 알아봐도 될 정도로 꾸며서 시간으로 표시해 줍니다.
굳이 그래프까지 보여줄 필요도 없으니, 깔끔하게 몇 분 봤는지만 표시하면 끝!

[ 관련 링크 ]
네이버 HA카페에 올라와 있던 아래글의 댓글 내용을 참조 하였습니다.
궁금하시면 아래 링크를 통해 네이버 HA카페에서 더 많은 내용들을 확인하실 수 있을 겁니다.
물론 비슷한 내용에 다른 글에도 있을 수 있지만, 제가 검색해서 찾아 봤던 글은 아래 글이었습니다.
속성값 변경후(last_changed) 누적시간 센서생성
대한민국 모임의 시작, 네이버 카페
cafe.naver.com
댓글