В этой статье я расскажу, как с помощью автоматизаций в Home Assistant настроить контроль времени, проведенного ребенком за компьютером.
Мы реализуем следующие возможности:
- Ограничение непрерывной длительности работы ПК (40 минут)
- Подсчет общего времени в течение дня при помощи таймера.
- Автоматическое отключение компьютера по расписанию (ночью и если общее время работы за день превысит 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].
После внесения изменений переходим в [Панель разработчика] нажимаем [ПРОВЕРИТЬ КОНФИГУРАЦИЮ] и если все нормально, как на скриншоте ниже, перезагружаем систему кнопкой [ПЕРЕЗАПУСТИТЬ].
На экране появится сенсор с временем работы компьютера.
Этот датчик [Работа компьютера] будет отслеживать общее время, в течение которого компьютер был включен за текущие сутки. Это позволяет отслеживать статистику использования компьютера и на основании этих данных создавать другие автоматизации.
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] и внесите необходимые изменения.