Время работы прибора home assistant

Содержание
  1. Примеры автоматизаций в Home Assistant
  2. Пример простой автоматизации в Home Assistant
  3. Включаем розетку (и подключенный к ней обогреватель) когда холодно
  4. Настраиваем яркость подсветки Gateway 2 в зависимости от времени суток
  5. Подсчет времени работы устройства в Home Assistant
  6. Как указать период времени в Home Assistant
  7. Число
  8. Формат Ч:ММ:CC
  9. Формат 1:23
  10. Формат названий
  11. Итого
  12. time триггер в автоматизациях Home Assistant
  13. Использование точного времени
  14. Использование input_datetime
  15. Использование сенсора
  16. Использовать несколько разных объектов
  17. Переменная trigger
  18. Запуск автоматизации один раз в месяц
  19. Как изменить время работы датчика Aqara с помощью Zigbee2MQTT и Home Assistant?
  20. Это краткое руководство будет применяться к Zigbee2MQTT (т.е. cc2531) и работать с датчиком движения Aqara и Home Assistant. И он доказывает, что ему нужна изобретательная мать.
  21. Самая простая часть — программирование
  22. Более сложная часть — инструкция
  23. Для начинающих с Home Assistant
  24. Кшиштоф

Примеры автоматизаций в Home Assistant

В прошлой статье были рассмотрены основные составляющие автоматизацию элементы — trigger, condition и action. В этой же статье я решил привести несколько примеров автоматизаций в Home Assistant.

Пример простой автоматизации в Home Assistant

Начнем с самого простого. Автоматизация будет включать определенный светильник в заданное время. Ее код будет выглядеть следующим образом:

  • alias — название автоматизации. Пишем латинскими буквами любое, понятное Вам.
  • trigger — событие, при наступлении которого автоматизация будет срабатывать. В данном примере в качестве такого события выступает время (21:00).
  • action — действие, которое будет выполнено при выполнении условия выше. В данном примере — включение света.

Включаем розетку (и подключенный к ней обогреватель) когда холодно

Для включения розетки при падении температуры ниже определенного значения подойдет следующая автоматизация:

Читайте также:  Какие бывают электрические приборы дома

В данных автоматизациях в качестве триггера используется платформа numeric_state. Срабатывание происходит при пересечении заданного значения. Т е когда температура с 19 градусов опустится ниже 18 или же поднимется выше 25. Если на момент составления автоматизации температура уже будет выше 25 или ниже 18, то автоматизация не сработает. Триггером выступает именно пересечение данных значений.

В разделе action соответственно прописано включение и выключение розетки.

Настраиваем яркость подсветки Gateway 2 в зависимости от времени суток

Данная автоматизация включает подсветку шлюза Xiaomi Gateway 2 при появлении движения. Яркость подсветки зависит от времени суток:

  • С 23:00 и до 7:00 подсветка включается с яркостью 10%.
  • С 7:00 до 9:00 и с 18:00 до 23:00 — на 100%.
  • В остальное время (с 9:00 до 18:00) — не включается вообще.

Работает данный сценарий у меня с помощью двух автоматизаций — одна включает подсветку, другая — выключает. Возможно есть и вариант сделать все проще и короче, но у меня пока получилось только так. И главное — работает.

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

Блок trigger — переход датчика движения в состояние «on».

В разделе action задается несколько сценариев работы скрипта в зависимости от времени суток:

  • << now().hour = 23 >> — проверяет, сколько сейчас времени в часах и если значение меньше 7 или больше или равно 23, то включается подсветка шлюза со значением яркости в 25 единиц (10%).
  • << now().hour >= 7 and now().hour

Источник

Подсчет времени работы устройства в Home Assistant

Для того, чтобы посчитать сколько по времени работало определенное устройство, в Home Assistant используется платформа history_stats. С ее помощью можно, например, вести подсчет времени работы умной розетки, к которой подключен телевизор / обогреватель / компьютер или другая техника. Или можно посчитать сколько времени Вы находились дома, сколько по времени был включен свет и так далее.

Для реализации задачи создаем новый файл (с любым названием и расширением yaml) в папке sensor (создается при выносе конфигурации во внешние файлы) и прописываем туда:

  • В поле entity_id: прописываем сущность, которую будем отслеживать. Найти ее можно в панели разработчика, на вкладке «Состояния». В моем случае это Wi-Fi розетка Xiaomi, к которой подключен ПК и TV.
  • В поле state: задаем статус, при нахождении в котором сущности, будет вестись подсчет времени.
  • В полях start: и end: задается время начала и время окончания подсчета.

Например, для вывода времени работы за сегодня нужно написать как приведено в примере выше. За вчера:

При этом строчка start: не нужна, прописанное в строчке end: указывает, что считать до 00:00 сегодняшнего дня, а duration позволяет указать продолжительность (за 24 часа). Аналогичным образом можно вывести значение и за месяц, прописав вместо hours значение days. Если планируется выводить на экран значения за разные промежутки времени, то копируем код из первого примера нужное количество раз, меняя при этом поля start, end и duration.

После того, как прописали все нужные строчки в созданном файле, добавляем в него:

Это позволит вывести в интерфейс правильные значения времени. Название (третья строчка, вместо tvtoday) задаем любое, sensor.tv_today меняем на свое, которое присвоили в начале файла. В итоге должно получиться так:

Первая строчка – первый созданный сенсор. Вторая – второй, отдающий время в нужном формате.

Я у себя вывел значения за сегодня и за предыдущий день:

Источник

Как указать период времени в Home Assistant

Иногда в системе умного дома Home Assistant нужно указать период времени. Например:

  • если никого нет дома в течении 15 минут, то выключить весь свет
  • сделать паузу 30 секунд между включением электрических обогревателей
  • указать что сенсор должен обновлять данные каждые 30 минут
  • если мониторинг электропотребления стиральной машины у течении 5 минут не показывает нагрузки, то считать что стирка закончилась
  • запустить таймер на 2 часа и когда он закончится выключить вентилятор
  • плавно в течении 10 секунд менять яркость лампы, с самой яркой до самой тусклой

Есть несколько разных способов как можно указать период времени в файле configuration.yaml с настройками Home Assistant.

Число

Если в конфиге указано просто число, то это означает количество секунд.

Вот как сделать таймер на 2 минуты:

А вот пример сенсора с данными о версии Home Assistant, который запускается раз в 30 минут:

Если нужно указать какой-то небольшой период, 5 секунд, 10 или 30, то для этого удобно использовать просто число. Если же нужно указать более длинный период, то более наглядно использовать другие форматы.

Формат Ч:ММ:CC

Пример таймера на 1 час 23 минуты и 45 секунд:

Кавычки не обязательны, можно указать и без кавычек:

Если используются кавычки, то можно использовать как двойные кавычки, так и одинарные (но обязательно использовать один и тот же тип кавычек и для открывающейся и для закрывающейся кавычки).

Если часов и минут нет, то в этом формате их нужно заменить нулями. 5 секунд в этом формате записывается так: «0:00:05». Можно записать и «0:0:5», это тоже будет работать, но нагляднее использовать «0:00:05».

Формат 1:23

Вот еще один пример как можно записать период времени в Home Assistant:

Тут указывается не 3 элемента, а только два. И сразу возникает вопрос — что это означает? Это часы и минуты или минуты и секунды?

Правильный ответ — это часы и минуты. «duration: 1:23» — это один час и 23 минуты.

Лучше всего этот формат никогда не использовать, чтобы не задаваться вопросом что означают элементы в этом формате.

Формат названий

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

Так же это работает при использовании в sequence:

Но, например, в таймере такой вариант не работает.

Итого

В HA есть несколько способов как можно указать период времени. Лучше всего всегда использовать формат Ч:ММ:СС, это самый наглядный и простой для восприятия вариант:

Источник

time триггер в автоматизациях Home Assistant

time — это один из триггеров которые можно использовать в автоматизациях Home Assistant (список всех триггеров).

С помощью этого триггера можно запустить автоматизацию в определенное время. Есть несколько вариантов как можно использовать триггер:

  • указать точное время
  • использовать input_datetime
  • использоваь сенсор в котором хранится время
  • указать несколько разных объектов

Важный момент — чтобы этот триггер правильно работал нужно чтобы в Home Assistant был указан правильный часовой пояс.

Кроме триггера time еще есть триггер time_pattern с помощью которого можно настраивать регулярный запуск автоматизаций.

Если вам нужна базовая информация про автоматизации в Home Assistant — прочитайте этот текст.

Использование точного времени

Это автоматизация будет запускаться каждый день в 9 часов утра 38 минут.

Если посмотреть в лог после запуска этой автоматизации то можно увидеть сообщение:

Если сервер Home Assistant в момент наступления этого времени будет выключен, то запуска не произойдет.

Значение at записывается в формате ЧЧ:ММ:СС (две цифры которые означают час, потом двоеточие, потом две цифры которые означают минуты, потом двоеточие и две цифры которые означают секунды).

Секунды можно не указывать. Запись at: «09:38» означает то же самое что и at: «09:38:00» — 9 часов утра 38 минут.

В поле at можно указать только время, там нельзя указать дату и время. Если написать at: «2021-02-07 09:42:00» , то проверка конфигурации Home Assistant пройдет успешно, но в логе будет ошибка:

Указание точного времени в автоматизации используется редко. Это не особо удобно. Чтобы поменять время запуска автоматизации нужно менять код и нажимать кнопку чтобы Home Assistant узнал про изменение. Более гибкие способы указания времени — это использование input_datetime или использование сенсора.

Использование input_datetime

Это автоматизация выполнится в момент времени который указан в input_datetime.sample .

input_datetime может быть определен тремя разными способами:

Вот пример описания input_datetime в котором есть и время, и дата:

  • Если в input_datetime есть только время, то автоматизация будет запускаться каждый день в это время
  • Если в input_datetime есть только дата, то автоматизация запустися в 00:00:00 в эту дату
  • Если в input_datetime есть и время и дата, то автоматизация запустится в указанную дату в указанное время

Использование сенсора

В качестве значения at можно указать сенсор у которого device_class timestamp:

Использовать несколько разных объектов

В значении at триггера time можно указать одноврменно несколько разных объектов, пример:

Эта автоматизация будет выполняться во все моменты времени которые перечислены в at .

Переменная trigger

После того как триггер сработал в блоках condition и action становится доступна специальная переменная с именем trigger . Вот пример того что может находиться в этой переменной при использвании input_datetime :

Запуск автоматизации один раз в месяц

Иногда необходимо запустить автоматизацию один раз в месяц в какое-то число. Это можно сделать с помощью триггера time и дополнительного условия (condition).

В триггере time указываем время когда нужно запустить автоматизацию, например, час дня. Так автоматизация будет запускаться каждый день в час дня. Но кроме этого указываем еще и блок condition в котором проверяем что текущая дата — это именно тот день который нам нужен.

Вот пример автоматизации которая запускается каждый месяц, 17-ого числа в 13:00:

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

Источник

Как изменить время работы датчика Aqara с помощью Zigbee2MQTT и Home Assistant?

Это краткое руководство будет применяться к Zigbee2MQTT (т.е. cc2531) и работать с датчиком движения Aqara и Home Assistant. И он доказывает, что ему нужна изобретательная мать.

Дело выглядит так: я думал, что датчик движения будет обнаруживать движение на лестнице и включать свет, чтобы я не ударил себя по лицу при ходьбе в темноте. Время подъема по лестнице составляет около 9 секунд. Я подумала: ничего проще! Aqara обнаруживает движение, дает сигнал, чтобы включить свет, система отсчитывает 15 секунд, как будто я шел медленнее, свет гаснет и все, нечего останавливаться. Здесь все должно закончиться, мне не о чем было бы писать, и я придумал бы другие удобства.

Но . Я спускаюсь вниз, план отлично работает, движение улавливается на первой ступеньке. Включается свет, я добираюсь до конца лестницы, у меня остается свободное время, я добираюсь до кухни, свет гаснет, я беру чашку чая, возвращаюсь к лестнице и… темнота. Я поднимаюсь по лестнице, возвращаюсь в студию, потом уже темно. Зачем? Потому что Aqara каждую минуту проверяет статус трафика на заводе.

Я знаю. Вы будете думать, что такие руководства уже были, и вы правы. Есть руководства на польском языке, на английском языке, но ни одно из них не объясняет, как это сделать в Home Assistant с использованием Zigbee2MQTT.

Самая простая часть — программирование

В файле devices.Yaml, в каталоге zigbee2mqtt для меня, полный путь к файлу: //сервер/доля/zigbee2mqtt/devices.yaml

Нам нужно добавить следующие строки кода после каждого устройства, время простоя которого мы хотим сократить:

размещение: время ожидания: 15

Где занимаемое время — параметр, который мы меняем (мы даем его в секундах). Просто запомните про отступ, иначе наши датчики будут видны в программе как недоступные.

Затем сохраните и перезапустите сервис. Благодаря этой записи Home Assistant изменит статус датчика на отсутствие движения после установленного времени. К сожалению, детектор среагирует только через минуту. Вот почему я рисую или паяю путь в датчике.

Более сложная часть — инструкция

Мы должны добраться до нашей плитки Aqara.

  • Открутите крышку с аккумулятором и снимите ее.
  • Поддеваем пластик маленькой отверткой (защелки по бокам «быстрые»). Вы также можете бросить вызов другому месту.

Не волнуйтесь, пластик достаточно гибкий, и вам не нужно применять силу.

  • Вынимаем пластик и выдвигаем пластину.
  • Теперь нам нужно соединить контакт кнопки с контактом pt4.

В руководствах написано, что карандаш 4b делает путь довольно толстым. У меня его не было, поэтому я использовал обычный HB, и это тоже работает. Февраль, вероятно, будет более долговечным, но там недостаточно места, и я не хотел рисковать.

Сложите в обратном порядке, убедившись, что пластина касается направляющей, чтобы положение кнопки сброса соответствовало и расстояние от датчика до «быстрого». Мы не будем менять угол наклона датчика.

Время операции: 10 минут с заточкой карандаша.

Я не знаю, как это повлияет на время автономной работы, но, к счастью, это не высокие затраты.

Я выполнил операцию на датчике движения Aqara, версия с измерением освещенности.

Для начинающих с Home Assistant

Нам нужно добраться до файла с помощью программы, поддерживающей smb-соединение. Мы должны предварительно настроить его в Home Assistant. Общий ресурс Samba загружается из официального репозитория, входит в диспетчер ADD-ON Store, ищет его и нажимает «Установить». В конфигурации мы должны предоставить IP-адрес сети, к которой мы подключаемся, имя пользователя и пароль, которые мы будем использовать для входа в систему.

Кшиштоф

Электроника у него в крови! Кшишек — редактор и дизайнер SmartMe, работающий в области Home Assistant. Он часто любит сам находить решения и развивать свою страсть к умному дому. В свободное время он любит фотографировать, а мы любим их публиковать?

Источник

Оцените статью
Электроника