Home Assistant - using timers in lighting scenarios
Вставка
- Опубліковано 9 бер 2019
- Hello friends
As new ideas are implemented in the Home Assistant configuration, the current version can be seen here -
github.com/kvazis/homeassistant
I decided to do express reviews in which I will talk about them. This video is about using timers in lighting scenarios.
Update 04/05/2024
Current configuration here - kvazis.link/hassos
My telegram channel:
Version in Russian - kvazis.link/telegram
Version in Ukrainian - t.me/alex_kvazis_ua
Group for communication on smart home - t.me/kvazis_smart_home
Articles on the topic of smart home - kvazis.link/arcticles
Cashback system for purchases - kvazis.link/letishops
Become a sponsor of my UA-cam channel - kvazis.link/sponsorship
Support the channel in other ways -
Patreon - kvazis.link/patreon
Buy me a coffee - kvazis.link/buymeacoffee
Paypal - kvazis.link/paypal
Other options - kvazis.link/donate
Facebook page - / alexkvazis
Playlist of Home Assistant lessons - kvazis.link/ha_lessons
Feedback - ask.kvazis@gmail.com
Home Assistant configuration - kvazis.link/github / kvazis.link/hassos
“Production Music courtesy of Epidemic Sound” www.epidemicsound.com
#kvazis #lesson #homeassistant
Отлично, как всегда. Пользователям кто начинает изучать только автоматизацию как раз отлично. Всё очень доходчиво. Спасибо за материал.
Спасибо за конфигурационные файлы на гитхаб! Лайк не глядя как всегда
Посмотрел видео, очень доходчиво! Спасибо! Есть предложение! Раз в год/полгода вести рубрику «Home assistant на данный момент. Что удалось реализовать», где Вы ознакомите нас с вашими наработками. Думаю, это будет очень познавательно для нас. А уж благодарность аудитории не заставит ждать
Ну я планировал по мере внедрения новинок сразу рассказывать что это и как... Если делать по всей системе, то это фильм часа на 2 будет :)))
Alex Kvazis а нам торопиться некуда не переживайте )))) шутка конечно. Просто нам, некоторым, следить за новинками системы элементарно некогда, Вы уж с пониманием отнеситесь. Приходится надеяться на Вас, «держащего руку на пульсе»
Как всегда, ЛАЙК
Наконец-то появился github. Спасибо.
Координаты вашего дома можно было бы вынести тоже в secret.yaml. Реализация сенсоров батарей у вас не совсем удачная, советую посмотреть в сторону - github.com/notoriousbdg/Home-AssistantConfig/tree/master/packages. Вот есть более подробная информация - community.home-assistant.io/t/howto-create-battery-alert-without-creating-a-template-for-every-device/30576/119
Спасибо, по таким примерам и конфигам с гитхаба проще разбираться в новой для меня теме! Планируется обзор lovelace?
Нужно. Только сегодня в час ночи переподключали несколько дворов на новые линии, ждал естественно, что бы все причесать после включения электроэнергии. :)
Можно добавить условие по времени, и ночью таймеры ставить меньшей длительности
Как всегда познавательно! Файлами можете поделиться? По ссылке на гитхаб у вас другие файлы, не как в ролике.
Боюсь старых файлов не осталось, тогда еще делал обзоры на рабочих инстах, которые постоянно меняются. Потом уже сделал отдельный учебный сервер, где все хранится в первозданном виде
Добрый день
Есть ли аналог типа события xiaomi_aqara.motion при использовании zigbee2mqtt в автоматизациях?
для примера...
trigger:
- platform: event
event_type: xiaomi_aqara.motion
event_data:
entity_id: binary_sensor.motion_sensor_158d00054cxxxx
Как такое провернуть через zigbee2mqtt что бы детектировалось каждое событие срабатывания датчика движения, а не только переход из состояния в состояние?
По лавлейс интерфейсу будет расширенный обзор? Как и что и откуда настраивается? Очень интересно, лайк прожат.
Да, будет. Просто думаю как его сделать, у меня почти 3000 строк в ui-lovelace.yaml :)
Алекс, добрый день, подскажите такая проблема, автоматизацией запускается таймер, таймер отрабатывает по времени правильно, но в lovelace отображается на 1 минуту больше, т.е. некорректно только отображение.
Alex Kvazis, подскажите, вопрос про выключатели с нулевой линией. Будут ли работать данные выключатели если я специально проброшу 3-х жильный кабель с «землёй», в дальнейшем все «земли» объединю в шине и подключу к общей земле в подъезде? Считается ли эта «земля» нулевой линией или под нулевой линией понимается третья жила с фазой ? Т.е. к этой жиле должен быть подключен малый ток для питания данного выключателя?
Но тогда в наших реалиях следует применять только выключатели «без нулевой линии»?
И второй вопрос:)
Подскажите если купить хаб от Акара, возможно ли там писать данные сценарии в HA или нужен хаб Ксяоми Gateway?
Не путайте 0 и землю. 0 линия - она связана с энергопоставщиком, земля - нет
А не пробовали применять Node-RED в Home Assistant? Было бы очень интересно посмотреть.
Пока нет, не вижу необходимости.
Спасибо большое, работает! Есть возможность изменить таймер из lovalace? Чтобы можно было либо слайдером либо из выпадающего списка менять таймер на лету
Да, параметр duration можно устанавливать скриптом или автоматизацией. Можно привязать к и к выпвдающему меню
И снова здравствуйте. Не подскажите как мне можно вычислить все или некоторые “events” которые возникают во время определённых действий датчикa движения либо розеток внутри Home Assistant.
Интересуюсь с целью написания скриптов или автоматизация на основании данных из “events”. Заранее благодарю за ответ.
Они все описаны в доках по соответствующим компонентам, как минимум
Алексей, помоги, никак не могу найти.. Как управлять цветной подсветкой в yeelight 650? HA видит только основной свет. С ним нет проблем, вкл, выкл, температура, яркость, все управляется. А вот backlight.... Где копать?
Пока никак. В этом направлении ведутся работы, но поддержки пока нет
Добавьте этот урок в плейлист по HA, пожалуйста, не нашёл его там. И ещё вопрос: - А если датчик движения добавлен не через шлюз, а через стик, у него же не будет event_type: xiaomi_aqara.motion?
Не будет. Я это показывал в уроке про автоматизации
Подскажите как реализовать. Есть датчик открытия двери акара, реле сонофф, кнопка акара. Алгоритм работы такой: открывается дверь, включается свет. Выключается только с кнопки акара.
Если выключаешь свет с кнопки и уходишь из дома, то свет снова включается, ибо дверь открылась и сработало условие включения. Как сделать так чтоб условие, например, не срабатывало, если состояние реле менялось менее минуты назад? Чтоб когда уходишь из дома, свет не включался после выключения с кнопки.
Вот здесь - github.com/kvazis/homeassistant/blob/master/includes/automation/01_entrance.yaml у меня есть сценарий, который называется
## Включение освещения
- alias: 01_enter
Триггер - датчик открытия двери, но срабатывает только в случае, если лампа меняла свой статус более 2 минут назад. Используйте как основу.
Здравствуйте, подскажите а можно выставить таймер менее 1 секунды, точнее требуется послать импульс в 0,5 сек...мысли пока только создать сценарий: включить swich, сделать паузу 0,5 сек и выключить его. Или может есть другое решение или оборудование?
Нет, меньше секунды нельзя.
Большое спасибо за видео. Подскажите, пожалуйста, как написать сценарий в котором бы выводилось голосовое напоминание каждые 10 минут? также интересует как поставить звук на успешный запуск системы или подключение устройства!
зависит от того, куда вы планируете выводить звук
@@Alex_Kvazis Звук выводить на колонки малинки.
@@Intronik это отдельная тема, а не "подскажите" :)
@@Alex_Kvazis А может снимите видео, если конечно вам будет интересно разобраться с данным вопросом.
Здравствуйте. Имеется ли у вас опыт использования двух протоколов (zwave и zigbee) одновременно в одной сети либо на одном сервере Home Assistant? Если да, то можно ли совмещать аппарата на разных протоколах в одних и тех же скриптах и насколько хорошо они друг с другом взаимодействуют?
Интересуюсь с целью имплементации zigbee сети в уже существующую сеть zwave.
Заранее благодарю за ваш ответ.
Опыта такого нет, ничего из z-wave пока не имею, но никаких препятствий не вижу. Есть же шлюзы как для зигби так и для з-вейв. У меня спокойно уживаются друг с другом 4 зигби шлюза, почем убы не уживаться зигби и звейв ?
Понятно, тогда буду экспериментировать.
Скажите а если у Вас какие-либо наработки с длительным хранением данных, что-то типа имплементации универсального database в Home Assistant для хранения информации датчиков или другой информация из Home Assistant которая в дальнейшем может быть запрошена и использована.
@@sansazan579 Я использую MariaDB - как штатную базу, но хранение 3 суток, пока не вижу необходимости более длительного хранения. Для других задач, например энергомониторинга, использую mqtt
Как сделать таймер editable? Чтоб на панели Lovelace UI можно изменять время таймера
Разве что input text и скрипт, который будет присваивать ему значение из этого поля
Непонятно, как отлавливается зажигание лампы при пропадании и появлении света (когда вы в отпуске). Разве сервер сможет получить сообщение о смене состояния лампы? Он же сам будет погашен и загрузится позже включения лампы. Или подразумевается, что сервер подключен к бесперебойнику?
Сервак всегда работает, и конечно на бесперебойнике, как же иначе.
что делать, если датчик движения подключён через deconz?
- platform: event
event_type: xiaomi_aqara.motion
event_data:
entity_id: binary_sensor.motion_sensor_158d00010f8920
вот этот триггер не работает
Не использую деконз, не факт что этот датчик будет работаеть по xiaomi_aqara.motion .... Это для шлюзов триггер. надо гуглить примеры
Друг почему все панели что я изменяю не появляются в файле ui-lovelace.yaml - который я создал вручную, версия hass последняя. И ещё в локалки добавил панель entity-filter entity: timer.bathroom. Добавлять эту панель получается только через Entities. По умолчанию создал таймеры, отредактировал сам ui-lovelace.yaml но панель не появляется сама. СПАСИБО за помощь начинающему...
Потому что включен режим конструктора. Если хочется руками через ui-lovelace.yaml надо в configuration.yaml включить yaml режим - github.com/kvazis/homeassistant/blob/master/configuration.yaml#L69
Привет. Эта система шлет оповещения на телефон? Это глючный михом не создает ощущение безопасности
Телега бот подключается и шлёт без проблем
@@AlteroAscension это чего такое?
Телеграмм.
Добрый день. Сделал автоматизацию по вашему примеру. Все срабатывает, за исключением перезагрузки таймера
Ни в какую не желает по движению перегружать таймер
# Таймер подсветки обновление
- alias: kitchen_light_timer_reload
initial_state: true
trigger:
# датчик движения
- platform: state
entity_id: binary_sensor.move_detect_occupancy
to: 'on'
condition:
- condition: state
entity_id: switch.sonoff_1000c6bed2
state: 'on'
action:
- service: timer.cancel
entity_id: timer.kitchen
- service: timer.start
entity_id: timer.kitchen
Окажите помощь.
Учтите что у вас не событие - движение а переход в состояние включено. Чтобы в него перейти нужно сначала , чтобы датчик перешёл в состояние выключено. Ещё варианты этих автоматизаций смотрите у меня на канале, в плейлисте - Уроки по home assistant, номер 10.1
подскажите что не так в моей автоматизации (лампа настольная xiaomi)
--------------
- alias: on_table lamp #включение настольной лампы по движению в кабинете
trigger:
- platform: event
event_type: xiaomi_aqara.motion
event_data:
entity_id: binary_sensor.motion_sensor_158d00018b5bde
action:
- service: light.turn_on
entity_id:
- light.lampa_nastolnaia_ambient_light
- alias: off_table lamp #выключение настольной лампы если нет движения 5 минут
trigger:
platform: state
entity_id: binary_sensor.motion_sensor_158d00018b5bde
from: 'on'
to: 'off'
for:
minutes: 5
action:
- service: light.turn_off
entity_id: light.lampa_nastolnaia_ambient_light
- service: light.turn_off
entity_id: light.lampa_nastolnaia
-------------
включается отлично но отключения не происходит, а происходит моргание несколько секунд
Попробуйте без from: 'on'
Здравствуйте!!! хотел спросить а можно это всё реализовать через mi home???? Просто для меня Home Assistant что то трудное и заоблачное. Просто я заказал БОЛЬШОЙ комплект оборудования Mi Home шлюз, розетки, выключатели, всякие датчики, есть желание всё сделать сразу....смотрю ваше видео постоянно , но пока не могу понять как ВСЁ буду реализовывать! Хотя бы простой сценарий на коридор, входишь в квартиру ,я хотел чтобы свет загорался сам и тух либо по истечению 3 минут либо по отсутствию движения. Заранее спасибо!!!
Реализуете на михом - плеваться будете. Зависимость от интернета, облаков, лаги... Уж коли заказали БОЛЬШОЙ комплект - то от НА или подобных систем вам не отвертеться... Если конечно не хотите чтобы железо лежало бесполезным хламом.
В Михоум простые сценарии можно легко сделать, у меня работало все ок пока HA не поставил, да и с ним парралельно могут работать. По примеру создается два сценария в михоум - один если датчик засекает движения, то включается свет. Другой если датчик не видит движения в течение 2 или 5 минут, то свет выключается. Михоум ограничен очень, но создать простое можно тоже.
@@vadimvvvvvvv Только если у вас в данный момент есть проблемы с связью с xiaomi облаком - у вас сценарий может не отработаться. Я довольно долго сидел на mihome, делал связки сценариев громоздкие, но без какой-либо гарантии что сработает
@@vadimvvvvvvv самое большое гавно от Михом - не приходят оповещения от датчиков на телефон
@@vadimvvvvvvv СПАСИБО!!!! Конечно поподробнее хотелось но и за это СПАСИБО!!!
У меня почему-то данная автоматизация срабатывает, но визуально таймер показывает разный отсчёт, хотя выключает вовремя. я настроил таймер на 2 мин, но иногда он начинается с 2.28, 5 или даже 9 мин но выключается через 2 мин. Если знаете то подскажите что это может быть? Я пока думаю.
У меня если по ВПН хожу, то смещение секунд на 30, т.е. 10 минут начинает показывать с 9:28 примерно, а потом последние 30 сек просто написано Отсчет. Дома из локалки - норм отображает.
@@Alex_Kvazis Интересно, я захожу с Голландии сейчас удаленно, может из-за этого.
@@megawarchild да, похоже на это.
Подскажите что не так: таймер не стартует заново если постоянно маячить перед ДД, т.е. по истечении таймера свет гаснет и уже не включается
## Таймер освещения обновление
- alias: 02_kitchen_light_timer_reload
initial_state: true
trigger:
# Условия для обновления таймера освещения
- platform: state
entity_id: binary_sensor.0x00158d0002d43be6_occupancy
to: 'on'
condition:
- condition: state
entity_id: switch.0xb4e3f9fffeb1b440
state: 'on'
action:
- service: timer.cancel
entity_id: timer.kitchen
- service: timer.start
entity_id: timer.kitchen
ДД показывает что движение уже больше 5 минут
В такой интерпретации работать не будет. Так как вы отслеживание состояние, которое не меняется. А надо событие - которое прилетает вне зависимости от состояния. В вашем случае таймер надо включать по виртуальному датчику - который состоит из двух условий, свет горит а движения нет. Тогда будет всё ок. Примеры есть в моих видео, плейлист - уроки по home assistant
@@Alex_Kvazis а вот оно что, спасибо, сделал как надо по вашему уроку про паккаджи.
Теперь все работает как и задумывалось!)
Мысль посетила на тему таймеров, задержек выключения и т.д.
Вот, к примеру, кухня.
Окно с открытой шторой, день, но мрачно. Включили свет и при выключении можно его гасить сразу - он чтобы лучше видеть.
Ночью - стоит гасить с задержкой на выйти из помещения, как и если штора закрыта...
Если помещение типа коридора - уже практически безусловно с задержкой выключение: у кого как, но коридоров с окном я практически не встречал и там мрачно весь день.
Т.е. должно учитываться освещенность помещения, время суток, освещенность за окном и наличие света в помещении, в которое мы выходим - если там темно и мы заранее свет не включили (спит ребенок или еще чего), то задержку со светом в коридоре стоит сделать чуть больше, чтобы не влететь в темноте в стул, кота или еще чего...
Да, у меня есть ряд сценариев которые учитывают освещенность. Прелесть применения таймеров, еще и заключатеся в том, что в зависимости от заданных условий - время, освещенность и т.д. можно задавать разный период их действия
@@Alex_Kvazis Прошу прощения, Алексей, вопрос от начинающего.
С помощью каких датчиков измеряете освещенность?
@@user-rl9he9uw1j Тех что на шлюзах Mi. Там точнее будет сказать не измеряю а оцениваю, так как значения который он дает довольно странные, но при этом понимание уровня освещенности есть. 900+ - очнеь светло, 700-900 - средняя освещенность, 500-700 - полумрак и т.д.
@@Alex_Kvazis понял, нахожусь на этапе планирования, и с удивлением не нахожу датчиков освещения в системе Mi, отдельных естественно, ведь шлюзы это не очень удобно.
Впрочем встречал, что в последних версиях датчиков движения, встроили датчик освещенности, или я ошибаюсь?
@@user-rl9he9uw1j вторая версия, на ножке - имеет датчик. Но он тоже в попугаях измеряет как и шлюз. И если у шлюза хоть градация измерения до 1000 единиц, то у датчика до 10... совсем грубо, хотя свет от тьмы конечно отличит
Координаты вашего дома можно было бы вынести тоже в secret.yaml. Реализация сенсоров батарей у вас не совсем удачная, советую посмотреть в сторону - github.com/notoriousbdg/Home-AssistantConfig/tree/master/packages. Вот есть более подробная информация - community.home-assistant.io/t/howto-create-battery-alert-without-creating-a-template-for-every-device/30576/119
Та мне не жалко координаты давать :) что там такого секретного то. Спасибо за ссылку, почитаю
Почитал ветку, с учетом проблем возникающих при обновлениях с этим компонентам, наверное останусь на своем решении, оно по крайней мере стабильно работает.
Сейчс например пишут о необходимости даунгрейда до 0.88.2, иначе ничего не работает
@@Alex_Kvazis Я уже больше месяца использую этот package, работает стабильно, только надо было сделать исключения для проводных выключателей через customizations. У меня проблем нет. И там написали - Apologies for late feedback. This issue is not related to your pack. This issue is a core HA issue. Удобно что не надо добавлять каждое устройство для мониторинга, все подхватывается само.
А я вот так сделал автоматическое выключение света после подачи питания на светильники:
## Выключение света в коридоре после отключения электричества
- alias: Выключение света в коридоре по датчику движения
trigger:
- platform: state
entity_id: light.svetilnik_koridor
to: 'on'
for:
seconds: '30'
condition:
- condition: state
entity_id: binary_sensor.motion_sensor_158d33240592fe
state: 'off'
action:
- service: light.turn_off
entity_id:
- light.svetilnik_koridor
## Выключение света в спальне после отключения электричества
- alias: Выключение света в коридоре по датчику движения
trigger:
- platform: state
entity_id: light.svetilnik_spalnia
from: 'unavailable'
to: 'on'
action:
- service: light.turn_off
entity_id:
- light.svetilnik_spalnia
# Выключение света при запуске Home Assistant
- alias: Выключение света при запуске Home Assistant
trigger:
platform: homeassistant
event: start
action:
- service: light.turn_off
entity_id:
- light.svetilnik_koridor
- light.svetilnik_spalnia
Я тоже начинал с подобного, кстати не совсем понятно зачем гасить свет при старте НА. Кейс с выключением не будет работать, если свет был включен, когда в помещении никого и не было, датчик не перейдет в офф, так как в нем и будет находится. Я использую шаблонные бинарные сенсоры и таймеры
@@Alex_Kvazis Если малинка работает не от ИБП, то когда вместе с выключением электричества, отключится и малинка, то при включении электричества, включится и малинка и отключит везде свет.
А если малинка работает от ИБП или каким-то образом первым делом в сети появилась малинка, а светильники ещё не очнулись и не зарегистрировались в Home Assistant, то светильники сначала будут числиться в статусе "unavailable", а потом перейдут в режим "on" - как раз по этим двум состояниям Home Assistant и даст команду отключиться светильникам.
А датчик движения у меня находится в коридоре и если кто-то заходит в квартиру или проходит по коридору, то датчик движения переходит в состояние "on". А если дома никого не было, то датчик движения всегда будет в состоянии "off" - что и прописано в Home Assistant, как Condition, а не trigger, которое просто на всякий случай проверяется.
По идее будет достаточно вообще двух условий:
1) светильник переходит из состояния "unavailable" в "on" - значит выключить свет на светильнике
2) Если малинка стартовала с нуля и запустила Home Assistant после выключения-включения электричества, то выключить светильники.
@@123MrEagle123 Любое изменение в конфиге требующее перезагрузки, а их много, приведет заодно и к отключению света, я бы убрал это условие. Первый и второй сценарии можно обьединить, я сделал бинарный сенсор такого типа
- platform: template
sensors:
cr_light_timer:
friendly_name: "Таймер сброса освещения коридор -"
value_template: >-
{{ is_state('light.yeelight_03_ceiling', 'on')
and is_state('binary_sensor.0x00158d00010f8920_occupancy', 'off') }}
Он может кстати включать больше условий - еще один датчик движения, или два, состояния дверей, времени суток и т.д. Автоматизация отслеживает статус этого сенсора, и если он активен - то есть горит свет и нет движения - запускается таймер - по истечении которого свет гаснет. Если кто-то там прошел за это время - таймер сбрасывается. таким образом можно закрыть 1 автоматизацией любые кейсы автоотключения света
- alias: 03_corridor_light_timer
initial_state: true
trigger:
## Условия для включения таймера
- platform: state
entity_id:
- binary_sensor.cr_light_timer
action:
service_template: >-
{%- if states.binary_sensor.cr_light_timer.state == 'on' -%}
timer.start
{%- elif states.binary_sensor.cr_light_timer.state == 'off' -%}
timer.cancel
{%- endif -%}
entity_id: timer.corridor
@@Alex_Kvazis Да, ваше решение тоже применимо и работает. Да и как инструкция/информация по работе с таймерами и как их можно применять - очень познавательно. Спасибо за видео! Но возможно кому-то больше подойдёт мой вариант. А то, что будут выключаться светильники во время настройки и принудительной перезагрузки Home Assistant (HA) - возможно это не для всех проблема, да и вообще, можно временно отключить эту опцию выключения света при перезагрузке HA, если в данный момент планируется часто принудительно перезагружать HA.
@@Alex_Kvazis У меня в результате выяснилось, что периодически светильники сами оп себе уходят на короткое время в режим "unavailable", И у меня несколько раз в день свет отрубается при переходе из "unavailable" в "on". Пришлось отказаться от этого варианта, т.к. я нашел другой: оказывается в приложении Yeelight на Андроид, в свойствах лампы можно выбрать "Свет по умолчанию" и там "Автоматическое включение при возобновлении питания", которое я отрубил. Теперь светильники не включаются при подаче на них электричества.
Какой смысл так мудрить, если можно просто добавить одну автоматизацию, которая будет выключать свет через 10 минут после включения, если 8 минут не было движения?
А если его и не было до этого долго ? И датчик движения не фиксировал его уже например несколько часов? Я же кажется объяснил зачем в ролике.
@@Alex_Kvazis Ок, еще раз, прочитайте внимательно. Триггер - включение света, условие - нет движения больше 8ми минут.
@@Argoo41 И что это будет? Свет включился при условии, что нет движения больше 8 минут и какое действие? Выключится? Он моментально и выключится, что бы он включился надо сначала будет датчику движения помахать.
Сценарии делятся условно на три части -
Триггер - что является маркером начала автоматизации
Условие - не обязательно, это совокупность правил, которые определяют будет работать сценарий или нет
Действие - непосредственно то, что должно произойти.
Триггер - свет включился.... Дальше ?
@@Alex_KvazisВидоизменю. Триггер - вклювение света, действие - отключение и запуск скрита_1. Скрип_1 - делей 10 минут, проверка было ли движение за последние 10 минут, выключение света (если условие пройдено). Получается ваш вариант с отпуском, когда свет включился сам, движения так и не было, свет выключился
Видно в mihome вы много сценариев делали :)
А как вы будете проверять было ли движение последние 10 минут? Да еще в скрипте (скрипт это по сути выведенный отдельно экшн сценария) ? И не кажется что ваша схема уже сложнее получается ?