Найти в Дзене
Два направления.

3 способа контроля времени ребенка за ПК с помощью Home Assistant

Оглавление

В этой статье я расскажу, как с помощью автоматизаций в Home Assistant настроить контроль времени, проведенного ребенком за компьютером.

Мы реализуем следующие возможности:

  1. Ограничение непрерывной длительности работы ПК (40 минут)
  2. Подсчет общего времени в течение дня при помощи таймера.
  3. Автоматическое отключение компьютера по расписанию (ночью и если общее время работы за день превысит 4 часа).

Давайте разберем пошагово процесс создания таких автоматизаций в Home Assistant!

Понадобится:

  • Сама система Home Assistant!
  • Настроить систему для возможности выключения и отслеживания состояния компьютера.

1) Ограничение непрерывной длительности работы ПК

Добавим автоматизацию она выключает ПК (switch.pc) через 40 минут после включения:

description: ""
trigger:
# Запускает при переходе устройства switch.pc в состояние "on"
- platform: state
entity_id:
- switch.pc
to: "on"
# Ждет 40 минут
for:
hours: 0
minutes: 40
seconds: 0
condition:
# Проверяет, что устройство switch.pc действительно в состоянии "on"
- condition: state
entity_id: switch.pc
state: "on"
action:
# Выключает устройство switch.pc
- service: switch.turn_off
data: {}
target:
entity_id: switch.pc
# Ждем 2 минуты пока выключится компьютер
- delay:
minutes: 2

Листаем галерею ниже.

Теперь компьютер будет выключен через 40 минут после того, как он был включен. На экране компьютера высветится сообщение и через примерно 1 минуту он выключится.

2) Подсчет общего времени в течение дня при помощи таймера.

В конфигурационный файл добавляем следующий датчик:

sensor:
- platform: history_stats
name: "Работа компьютера"
entity_id: switch.pc
state: "on"
type: time
start: "{{ now().replace(hour=0, minute=0, second=0, microsecond=0) }}"
duration:
hours: 24

Для внесения изменений в configuration.yaml необходимо установить дополнение [File editor].

После внесения изменений переходим в [Панель разработчика] нажимаем [ПРОВЕРИТЬ КОНФИГУРАЦИЮ] и если все нормально, как на скриншоте ниже, перезагружаем систему кнопкой [ПЕРЕЗАПУСТИТЬ].

Поверка и перезапуск
Поверка и перезапуск

На экране появится сенсор с временем работы компьютера.

-4

Этот датчик [Работа компьютера] будет отслеживать общее время, в течение которого компьютер был включен за текущие сутки. Это позволяет отслеживать статистику использования компьютера и на основании этих данных создавать другие автоматизации.

3) Автоматическое отключение компьютера по расписанию

Для этой автоматизации нам понадобится знать ID сенсора [Работа компьютера]. В панели [Обзор] нажимаем на сенсор [Работа компьютера] далее [*] и копируем название объекта [sensor.rabota_kompiutera].

Теперь создаем автоматизацию, копируем код ниже, заменяем в нем ID сенсора и переключателя и запускаем.

trigger:
- platform: state
entity_id:
- switch.pc
to: "on"
condition:
- condition: or
conditions:
- condition: time
after: "21:00:00"
before: "05:00:00"
- condition: numeric_state
entity_id: sensor.rabota_kompiutera
above: 4
action:
- service: switch.turn_off
entity_id: switch.pc
- delay:
hours: 0
minutes: 2
seconds: 0
milliseconds: 0
mode: restart

Итак, мы разобрали, как автоматизировать контроль времени ребенка за компьютером в Home Assistant:

  • Настроили таймер на ограничение непрерывной игры (не более 30-40 минут для школьников).
  • Создали счетчик для подсчета общего времени в день (не более 4 часов).
  • Задали расписание для автоматического отключения компьютера ночью.

Теперь режим использования компьютера вашим ребенком полностью контролируется Home Assistant!

Вы больше не будете переживать о превышении допустимого времени игр и ссориться по этому поводу. Автоматизация позаботится о здоровье и дисциплине.

Дополнение:

Я создал пакетный файл с настройками, который называется pc_computer_off.yaml. Чтобы использовать его, просто скопируйте его в папку [packages] и внесите необходимые изменения.