Created
March 8, 2023 17:51
-
-
Save samplec0de/6af424271cc5b9702f36565e5615b4b0 to your computer and use it in GitHub Desktop.
Автоматизация для открытие штор после будильников iOS и Android
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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