Skip to content

Instantly share code, notes, and snippets.

@samplec0de
Created March 8, 2023 17:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save samplec0de/6af424271cc5b9702f36565e5615b4b0 to your computer and use it in GitHub Desktop.
Save samplec0de/6af424271cc5b9702f36565e5615b4b0 to your computer and use it in GitHub Desktop.
Автоматизация для открытие штор после будильников iOS и Android
alias: Открыть шторы после будильников Андрея и Насти
description: >-
Открывает шторы, когда 2 будильника были остановлены с 08:00 до 12:30
На айфоне настроена автоматизация, которая вызывает службу нажатия на кнопку,
проверяется кто нажал.
На андроиде смотрит, что до будильника осталось < 30 секунд.
trigger:
- platform: state
entity_id:
- input_button.alarm_stopped
alias: Когда будильник ios был остановлен
id: ios_hook
- platform: template
value_template: >
{{ state_attr('sensor.pixel_7_pro_next_alarm', 'Time in Milliseconds') !=
None and state_attr('sensor.pixel_7_pro_next_alarm', 'Time in
Milliseconds') / 1000 - as_timestamp(now()) < 30}}
alias: Когда будильник android звенит через 30 секунд
id: android_hook
condition:
- condition: time
after: "08:00:00"
before: "12:30:00"
weekday:
- sun
- sat
- fri
- thu
- wed
- tue
- mon
alias: Время 08:00-12:30
enabled: true
- condition: template
value_template: >-
{{(as_timestamp(now()) -
as_timestamp(state_attr("automation.cover_open_on_alarm_clock",
"last_triggered") | default(0)) | int > 10 * 60 * 60 )}}
alias: Последний запуск автоматизации был более 10 часов назад
enabled: true
action:
- if:
- condition: trigger
id: ios_hook
then:
- choose:
- conditions:
- condition: state
entity_id: person.andrei
state: home
alias: Андрей дома
sequence:
- wait_for_trigger:
- platform: template
value_template: >
{{ state_attr('sensor.pixel_7_pro_next_alarm', 'Time in
Milliseconds') != None and
state_attr('sensor.pixel_7_pro_next_alarm', 'Time in
Milliseconds') / 1000 - as_timestamp(now()) < 30}}
alias: Будильник Андрея звенит через меньше, чем 30 секунд
timeout:
hours: 3
minutes: 0
seconds: 0
milliseconds: 0
alias: Ждать будильника Андрея
continue_on_timeout: false
- service: cover.open_cover
data: {}
target:
entity_id: cover.curtain_bedroom
alias: Открыть шторы
alias: Если Андрей дома, дожидаемся его будильника
default:
- service: cover.open_cover
data: {}
target:
entity_id: cover.curtain_bedroom
alias: Открыть шторы
alias: Ожидать будильник android, если android дома + открытие
alias: Если сработало от ios, ждем пока приблизится будильник на android
- if:
- condition: trigger
id: android_hook
then:
- choose:
- conditions:
- condition: state
entity_id: person.nastya
state: home
alias: Настя дома
sequence:
- wait_for_trigger:
- platform: state
entity_id:
- input_button.alarm_stopped
alias: Когда будильник был остановлен
timeout:
hours: 3
minutes: 0
seconds: 0
milliseconds: 0
alias: Ждать будильника Насти
continue_on_timeout: false
- service: cover.open_cover
data: {}
target:
entity_id: cover.curtain_bedroom
alias: Открыть шторы
default:
- service: cover.open_cover
data: {}
target:
entity_id: cover.curtain_bedroom
alias: Открыть шторы
alias: Ожидать будильник ios, если iphone дома + открытие
alias: Если сработало от android, то ждем пока на ios остановится будильник
mode: single
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment