@ -19,56 +19,45 @@
``` yaml
``` yaml
type: entities
type: entities
entities:
entities:
- entity: group.alarm_1
- entity: group.alarm_1
icon: 'mdi:alarm-check'
icon: mdi:alarm-check
name: Будильник
name: Будильник
- entity: sensor.alarm_1_time
- entity: sensor.alarm_1_time
icon: mdi:clock-outline
icon: 'mdi:clock-outline'
name: Время срабатывания
name: Время срабатывания
- entity: input_number.alarm_1_hour
icon: mdi:cog-clockwise
- entity: input_number.alarm_1_hour
name: Часы
icon: 'mdi:cog-clockwise'
- entity: input_number.alarm_1_minutes
name: Часы
icon: mdi:cog-clockwise
name: Минуты
- entity: input_number.alarm_1_minutes
- type: custom:fold-entity-row
icon: 'mdi:cog-clockwise'
head:
name: Минуты
type: section
label: Параметры
- type: 'custom:fold-entity-row'
entities:
head:
- entity: sensor.time_date
type: section
name: Текущее время и дата
label: Параметры
- entity: sensor.alarm_1_time_minus_offset
entities:
icon: mdi:progress-clock
- entity: sensor.time_date
name: Время отложенного срабатывания
name: Текущее время и дата
- entity: sensor.alarm_1_time_minus_cover
name: Время открытия шторы
- entity: sensor.alarm_1_time_minus_offset
- entity: input_number.alarm_1_offset
icon: 'mdi:progress-clock'
name: Отложить на
name: Время отложенного срабатывания
- entity: input_number.alarm_1_cover
name: Шторы
- entity: sensor.alarm_1_time_minus_cover
- entity: input_boolean.alarm_1_weekday
name: Время открытия шторы
name: Рабочие дни
- entity: input_boolean.alarm_1_weekend
- entity: input_number.alarm_1_offset
name: Выходные дни
name: Отложить на
- entity: automation.wake_me_up_weekday_offset
icon: mdi:calendar
- entity: input_number.alarm_1_cover
name: Отложеное время в рабочие дни
name: Шторы
- entity: automation.wake_me_up_weekend_offset
icon: mdi:calendar
- entity: input_boolean.alarm_1_weekday
name: Отложеное время в выходные дни
name: Рабочие дни
- entity: input_boolean.alarm_1_weekend
name: Выходные дни
- entity: automation.wake_me_up_weekday_offset
icon: 'mdi:calendar'
name: Отложеное время в рабочие дни
- entity: automation.wake_me_up_weekend_offset
icon: 'mdi:calendar'
name: Отложеное время в выходные дни
```
```
## Как это работает
## Как это работает
@ -78,452 +67,404 @@ name: Отложеное время в выходные дни
Начинает проигрываться мелодия.
Начинает проигрываться мелодия.
Ночник и светодиодная лента плавно включаются и добавляют яркость, цветопередача солнечного цвета.
Ночник и светодиодная лента плавно включаются и добавляют яркость, цветопередача солнечного цвета.
~~Я люблю поваляться в стиле “еще 15 минут”, рукой толкаю куб Aqara, будильник откладывается на 15 минут.~~
Я люблю поваляться в стиле “еще 15 минут”, рукой толкаю куб Aqara, будильник откладывается на 15 минут.
~~Через 15 минут снова начинает проигрываться мелодия, плавно включается освещение, поднимается штора.~~
~~Я переворачиваю куб Aqara на 90°, будильник выключается, ночник и лента загораются на максимальной яркости. Home Assistant начинает доклад о погоде и дорожной обстановке, указывает время до работы на авто и время до ближайшего автобуса (интеграции Yandex карты и транспорт).~~
Через 15 минут снова начинает проигрываться мелодия, плавно включается освещение, поднимается штора.
Я переворачиваю куб Aqara на 90°, будильник выключается, ночник и лента загораются на максимальной яркости. Home Assistant начинает доклад о погоде и дорожной обстановке, указывает время до работы на авто и время до ближайшего автобуса (интеграции Yandex карты и транспорт). Включается телевизор, отрабатывает скрипт, который включает на нем браузер и главную страничку HA.
## Код будильника
## Код будильника
```yaml
```yaml
#ДОБАВЛЯЕМ ЭЛЕМЕНТЫ ВВОД И УПРАВЛЕНИЯ
#ДОБАВЛЯЕМ ЭЛЕМЕНТЫ ВВОД И УПРАВЛЕНИЯ
input_number:
input_number:
alarm_1_hour:
alarm_1_hour:
name: Hours
name: Hours
icon: mdi:timer
icon: mdi:timer
initial: 7
initial: 7
min: 0
min: 0
max: 23
max: 23
step: 1
step: 1
alarm_1_minutes:
name: Minutes
alarm_1_minutes:
icon: mdi:timer
name: Minutes
initial: 15
icon: mdi:timer
min: 0
initial: 15
max: 59
min: 0
step: 1
max: 59
alarm_1_offset:
step: 1
name: Transition
icon: mdi:blur-linear
alarm_1_offset:
initial: 5
name: Transition
min: 0
icon: mdi:blur-linear
max: 60
initial: 5
step: 5
min: 0
alarm_1_cover:
max: 60
name: Transition
step: 5
icon: mdi:blur-linear
initial: 15
alarm_1_cover:
min: 0
name: Transition
max: 60
icon: mdi:blur-linear
step: 5
initial: 15
min: 0
max: 60
step: 5
#ПЕРЕКЛЮЧАТЕЛИ
#ПЕРЕКЛЮЧАТЕЛИ
input_boolean:
input_boolean:
alarm_1_weekday:
alarm_1_weekday:
name: Weekdays
name: Weekdays
initial: off
initial: off
icon: mdi:calendar
icon: mdi:calendar
alarm_1_weekend:
name: Weekends
alarm_1_weekend:
initial: off
name: Weekends
icon: mdi:calendar
initial: off
alarm_1_offset_boolen:
icon: mdi:calendar
name: Offset
initial: off
alarm_1_offset_boolen:
icon: mdi:timer
name: Offset
initial: off
icon: mdi:timer
#СЕНСОРЫ ДЛЯ ПОДСЧЕТА ВРЕМЕНИ В ОТЛОЖЕННЫХ ФУНКЦИЯХ
#СЕНСОРЫ ДЛЯ ПОДСЧЕТА ВРЕМЕНИ В ОТЛОЖЕННЫХ ФУНКЦИЯХ
sensor:
sensor:
- platform:
- platform: template
template
sensors:
sensors:
alarm_1_time:
alarm_1_time:
value_template: >-
value_template: >- {{ "%0.02d:%0.02d" | format(states("input_number.alarm_1_hour") | int, states("input_number.alarm_1_minutes") | int) }}
{{ '%0.02d:%0.02d' | format(states('input_number.alarm_1_hour') | int, states('input_number.alarm_1_minutes') | int) }}
- platform: template
- platform: template
sensors:
sensors:
alarm_1_time_minus_offset:
alarm_1_time_minus_offset:
friendly_name: 'Offset Time'
friendly_name: 'Offset Time'
value_template: >- {{ '%0.02d:%0.02d' | format( ((((states('input_number.alarm_1_hour') | int)*60 (states('input_number.alarm_1_minutes') | int) (states('input_number.alarm_1_offset'))| int)/60)| int),(((((((((states('input_number.alarm_1_hour') | int)*60 (states('input_number.alarm_1_minutes') | int) (states('input_number.alarm_1_offset')) | int)/60)) - ((((states('input_number.alarm_1_hour') | int)*60 (states('input_number.alarm_1_minutes') | int) (states('input_number.alarm_1_offset')) | int)/60)| int))*100) | int)*60/100) | round) ) }}
value_template: >-
{{ "%0.02d:%0.02d" | format( ((((states("input_number.alarm_1_hour") | int)*60 (states("input_number.alarm_1_minutes") | int) (states("input_number.alarm_1_offset"))| int)/60)| int),(((((((((states("input_number.alarm_1_hour") | int)*60 (states("input_number.alarm_1_minutes") | int) (states("input_number.alarm_1_offset")) | int)/60)) - ((((states("input_number.alarm_1_hour") | int)*60 (states("input_number.alarm_1_minutes") | int) (states("input_number.alarm_1_offset")) | int)/60)| int))*100) | int)*60/100) | round) ) }}
- platform: template
- platform: template
sensors:
sensors:
alarm_1_time_minus_cover:
alarm_1_time_minus_cover:
friendly_name: 'Cover Time'
friendly_name: 'Cover Time'
value_template: >- {{ '%0.02d:%0.02d' | format( ((((states('input_number.alarm_1_hour') | int)*60 (states('input_number.alarm_1_minutes') | int) (states('input_number.alarm_1_cover'))| int)/60)| int),(((((((((states('input_number.alarm_1_hour') | int)*60 (states('input_number.alarm_1_minutes') | int) (states('input_number.alarm_1_cover')) | int)/60)) - ((((states('input_number.alarm_1_hour') | int)*60 (states('input_number.alarm_1_minutes') | int) (states('input_number.alarm_1_cover')) | int)/60)| int))*100) | int)*60/100) | round) ) }} #for -# {{ '%0.02d:%0.02d' | format( ((((states('input_number.alarm_1_hour') | int)*60 (states('input_number.alarm_1_minutes') | int) - (states('input_number.alarm_1_cover'))| int)/60)| int),(((((((((states('input_number.alarm_1_hour') | int)*60 (states('input_number.alarm_1_minutes') | int) - (states('input_number.alarm_1_cover')) | int)/60)) - ((((states('input_number.alarm_1_hour') | int)*60 (states('input_number.alarm_1_minutes') | int) - (states('input_number.alarm_1_cover')) | int)/60)| int))*100) | int)*60/100) | round) ) }}
value_template: >-
{{ "%0.02d:%0.02d" | format( ((((states("input_number.alarm_1_hour") | int)*60 (states("input_number.alarm_1_minutes") | int) (states("input_number.alarm_1_cover"))| int)/60)| int),(((((((((states("input_number.alarm_1_hour") | int)*60 (states("input_number.alarm_1_minutes") | int) (states("input_number.alarm_1_cover")) | int)/60)) - ((((states("input_number.alarm_1_hour") | int)*60 (states("input_number.alarm_1_minutes") | int) (states("input_number.alarm_1_cover")) | int)/60)| int))*100) | int)*60/100) | round) ) }} #for -# {{ "%0.02d:%0.02d" | format( ((((states("input_number.alarm_1_hour") | int)*60 (states("input_number.alarm_1_minutes") | int) - (states("input_number.alarm_1_cover"))| int)/60)| int),(((((((((states("input_number.alarm_1_hour") | int)*60 (states("input_number.alarm_1_minutes") | int) - (states("input_number.alarm_1_cover")) | int)/60)) - ((((states("input_number.alarm_1_hour") | int)*60 (states("input_number.alarm_1_minutes") | int) - (states("input_number.alarm_1_cover")) | int)/60)| int))*100) | int)*60/100) | round) ) }}
#ГРУПИРОВКА ВЫКЛЮЧАТЕЛЯ "БУДИЛЬНИК"
#ГРУПИРОВКА ВЫКЛЮЧАТЕЛЯ "БУДИЛЬНИК"
group:
group:
alarm_1:
alarm_1:
name: Wake Me Up
name: Wake Me Up
entities:
entities:
- input_boolean.alarm_1_weekday
- input_boolean.alarm_1_weekday
- automation.wake_me_up_weekday_offset
- automation.wake_me_up_weekday_offset
#ВКЛЮЧЕНИЕ БУДИЛЬНИКА ПРИ ЗАПУСКЕ HA
#ВКЛЮЧЕНИЕ БУДИЛЬНИКА ПРИ ЗАПУСКЕ HA
automation:
automation:
- id: 'startup_on_alarm_clock'
- id: 'startup_on_alarm_clock'
alias: Включение будильника при запуске HA
alias: Включение будильника при запуске HA
trigger:
trigger:
platform: homeassistant
platform: homeassistant
event: start
event: start
condition:
condition:
condition: time
condition: time
after: '09:00:00'
after: '09:00:00'
before: '00:00:00'
before: '00:00:00'
action:
action:
- delay: 0:01
- delay: 0:01
- service: script.yandex_tts_4
- service: script.yandex_tts_4
#ВКЛЮЧЕНИЕ КЛАВИШАМИ. ПРОСТО З В У К О В О Е СООБЩЕНИЕ О ВКЛЮЧЕНИИ
#ВКЛЮЧЕНИЕ КЛАВИШАМИ. ПРОСТО З В У К О В О Е СООБЩЕНИЕ О ВКЛЮЧЕНИИ
- id: 'on_alarm_clock'
- id: 'on_alarm_clock'
alias: "Включение будильника клавишей"
alias: "Включение будильника клавишей"
trigger:
trigger:
platform: state
platform: state
entity_id:
entity_id:
- input_boolean.alarm_1_weekday
- input_boolean.alarm_1_weekday
- input_boolean.alarm_1_weekend
- input_boolean.alarm_1_weekend
to: 'on'
to: 'on'
action:
action:
- service: script.yandex_tts_2
- service: script.yandex_tts_2
ВЫКЛЮЧЕНИЕ КЛАВИШАМИ. ПРОСТО З В У К О В О Е СООБЩЕНИЕ О ВЫКЛЮЧЕНИИ
# ВЫКЛЮЧЕНИЕ КЛАВИШАМИ. ПРОСТО З В У К О В О Е СООБЩЕНИЕ О ВЫКЛЮЧЕНИИ
- id: 'off_alarm_clock'
- id: 'off_alarm_clock'
alias: "Выключение будильника клавишей"
alias: "Выключение будильника клавишей"
trigger:
trigger:
platform:
platform: state
state entity_id:
entity_id:
- input_boolean.alarm_1_weekday
- input_boolean.alarm_1_weekday
- input_boolean.alarm_1_weekend
- input_boolean.alarm_1_weekend
to: 'off'
to: 'off'
action:
action:
- service: script.yandex_tts_3
- service: script.yandex_tts_3
#######################################
#######################################
# Автоматизация для основного времени
# Автоматизация для основного времени #
#######################################
#######################################
#ЗАПУСКАЕМ СКРИПТ БУДИЛЬНИКА.
#ЗАПУСКАЕМ СКРИПТ БУДИЛЬНИКА.
- id: 'alarm_1_weekday'
- id: 'alarm_1_weekday'
alias: Wake me up (weekday)
alias: Wake me up (weekday)
trigger:
trigger:
- platform: time_pattern
- platform: time_pattern
minutes: "/1"
minutes: "/1"
seconds: 0
seconds: 0
condition:
condition:
- condition: state
- condition: state
entity_id: input_boolean.alarm_1_weekday
entity_id: input_boolean.alarm_1_weekday
state: 'on'
state: 'on'
- condition: time
- condition: time
weekday:
weekday:
- mon
- mon
- tue
- tue
- wed
- wed
- thu
- thu
- fri
- fri
- condition: template
- condition: template
value_template: >- {{ now().strftime("%H:%M") == states.sensor.alarm_1_time.state }}
value_template: >-
action:
{{ now().strftime("%H:%M") == states.sensor.alarm_1_time.state }}
- data: {}
action:
service: script.wakeup_sequence
- data: {}
service: script.wakeup_sequence
#######################################
#######################################
# Автоматизация для выходных #
# Автоматизация для выходных ##########
######################################
#ЗАПУСКАЕМ СКРИПТ БУДИЛЬНИКА.
- id: 'alarm_1_weekend'
alias: Wake me up (weekend)
trigger:
- platform: time_pattern
minutes: "/1"
seconds: 0
condition:
- condition: state
entity_id: input_boolean.alarm_1_weekend
state: 'on'
- condition: time
weekday:
- sat
- sun
- condition: template
value_template: >- {{ now().strftime("%H:%M") == states.sensor.alarm_1_time.state }}
action:
- data: {}
service: script.wakeup_sequence
#######################################
#######################################
# Автоматизация для отложенного времени
#ЗАПУСКАЕМ СКРИПТ БУДИЛЬНИКА.
- id: 'alarm_1_weekend'
alias: Wake me up (weekend)
trigger:
- platform: time_pattern
minutes: "/1"
seconds: 0
condition:
- condition: state
entity_id: input_boolean.alarm_1_weekend
state: 'on'
- condition: time
weekday:
- sat
- sun
- condition: template
value_template: >-
{{ now().strftime("%H:%M") == states.sensor.alarm_1_time.state }}
action:
- data: {}
service: script.wakeup_sequence
#######################################
#######################################
# Автоматизация для отложенного времени #
######################################
#ЗАПУСКАЕМ СКРИПТ БУДИЛЬНИКА ЕСЛИ ОТЛОЖИЛИ БУДИЛЬНИК.
#ЗАПУСКАЕМ СКРИПТ БУДИЛЬНИКА ЕСЛИ ОТЛОЖИЛИ БУДИЛЬНИК.
- id: 'alarm_1_weekday_offset'
- id: 'alarm_1_weekday_offset'
alias: Wake me up (weekday_offset)
alias: Wake me up (weekday_offset)
trigger:
trigger:
- platform: time_pattern
- platform: time_pattern
minutes: "/1"
minutes: "/1"
seconds: 0
seconds: 0
condition:
condition:
- condition: state
- condition: state
entity_id: input_boolean.alarm_1_weekday
entity_id: input_boolean.alarm_1_weekday
state: 'on'
state: 'on'
- condition: time
- condition: time
weekday:
weekday:
- mon
- mon
- tue
- tue
- wed
- wed
- thu
- thu
- fri
- fri
- condition: template
- condition: template
value_template: >- {{ now().strftime("%H:%M") == states.sensor.alarm_1_time_minus_offset.state }}
value_template: >-
action:
{{ now().strftime("%H:%M") == states.sensor.alarm_1_time_minus_offset.state }}
- data: {}
action:
service: script.wakeup_sequence
- data: {}
service: script.wakeup_sequence
#######################################
#######################################
# Автоматизация для отложенного времени в выходные
# Автоматизация для отложенного времени в выходные #
#######################################
######################################
#ЗАПУСКАЕМ СКРИПТ БУДИЛЬНИКА ЕСЛИ ОТЛОЖИЛИ БУДИЛЬНИК.
# ЗАПУСКАЕМ СКРИПТ БУДИЛЬНИКА ЕСЛИ ОТЛОЖИЛИ БУДИЛЬНИК.
- id: 'alarm_1_weekend_offset'
- id: 'alarm_1_weekend_offset'
alias: Wake me up (weekend offset)
alias: Wake me up (weekend offset)
trigger:
trigger:
- platform: time_pattern
- platform: time_pattern
minutes: "/1"
minutes: "/1"
seconds: 0
seconds: 0
condition:
condition:
- condition: state
- condition: state
entity_id: input_boolean.alarm_1_weekend
entity_id: input_boolean.alarm_1_weekend
state: 'on'
state: 'on'
- condition: time
- condition: time
weekday:
weekday:
- sat
- sat
- sun
- sun
- condition:
- condition: template
template value_template: >- {{ now().strftime("%H:%M") == states.sensor.alarm_1_time_minus_offset.state }}
value_template: >-
action:
{{ now().strftime("%H:%M") == states.sensor.alarm_1_time_minus_offset.state }}
- data: {}
action:
service: script.wakeup_sequence
- data: {}
service: script.wakeup_sequence
#######################################
#######################################
# Автоматизация для Штор
# Автоматизация для Штор #
#######################################
#######################################
#ПОДНИМАЕМ ШТОРЫ ПО У К А З А Н Н О М У ВРЕМЕНИ
#ПОДНИМАЕМ ШТОРЫ ПО У К А З А Н Н О М У ВРЕМЕНИ
id: 'alarm_1_weekday_cover'
- id: 'alarm_1_weekday_cover'
alias: Wake me up (weekday_cover)
alias: Wake me up (weekday_cover)
trigger:
trigger:
- platform: time_pattern
- platform: time_pattern
minutes: "/1"
minutes: "/1"
seconds: 0
seconds: 0
condition:
- condition: state
condition:
entity_id: input_boolean.alarm_1_weekday
- condition: state
state: 'on'
entity_id: input_boolean.alarm_1_weekday
- condition: time
state: 'on'
weekday:
- mon
- condition: time
- tue
weekday:
- wed
- mon
- thu
- tue
- fri
- wed
- condition: template
- thu
value_template: >-
- fri
{{ now().strftime("%H:%M") == states.sensor.alarm_1_time_minus_cover.state }}
action:
- condition: template
- service: mqtt.publish
value_template: >-
data:
{{ now().strftime("%H:%M") == states.sensor.alarm_1_time_minus_cover.state }}
topic: "cmnd/blind/Backlog"
payload: "ShutterOpen1"
action:
- service: mqtt.publish
- id: 'alarm_1_weekend_cover'
data:
alias: Wake me up (weekend cover)
topic: "cmnd/blind/Backlog"
trigger:
payload: "ShutterOpen1"
- platform: time_pattern
minutes: "/1"
seconds: 0
id: 'alarm_1_weekend_cover'
condition:
alias: Wake me up (weekend cover)
- condition: state
trigger:
entity_id: input_boolean.alarm_1_weekend
- platform: time_pattern
state: 'on'
minutes: "/1"
- condition: time
seconds: 0
weekday:
condition:
- sat
- condition: state
- sun
entity_id: input_boolean.alarm_1_weekend
- condition: template
state: 'on'
value_template: >-
- condition: time
{{ now().strftime("%H:%M") == states.sensor.alarm_1_time_minus_cover.state }}
weekday:
action:
- sat
- service: mqtt.publish
- sun
data:
- condition: template
topic: "cmnd/blind/Backlog"
value_template: >-
payload: "ShutterOpen1"
{{ now().strftime("%H:%M") == states.sensor.alarm_1_time_minus_cover.state }}
######################################
action:
- service: mqtt.publish
data:
topic: "cmnd/blind/Backlog"
payload: "ShutterOpen1"
#######################################
# СКРИПТ БУДИЛЬНИКА #
# СКРИПТ БУДИЛЬНИКА #
#######################################
######################################
script:
#Срабатывает последовательно: выставляется оттенок цвета, яркость в 0.
#Срабатывает последовательно: выставляется оттенок цвета, яркость в 0.
script:
'wakeup_dim':
alias: wakeup_dim
sequence:
- service: light.turn_on
data:
brightness: '0'
rgb_color:
- 255
- 169
- 92
entity_id:
- light.yeelink_ceilb_f571_ambient_light
'wakeup_dim':
alias: wakeup_dim
sequence:
- data:
brightness: '0'
entity_id:
- light.walli
rgb_color:
- 255
- 169
- 92
service: light.turn_on
- data:
brightness_pct: '0'
entity_id:
- light.eve
rgb_color:
- 255
- 169
- 92
transition: '0'
service: light.turn_on
#Срабатывает последовательно: постепенно включается освещение.
#Срабатывает последовательно: постепенно включается освещение.
'wakeup_bright':
'wakeup_bright':
alias: wakeup_bright
alias: wakeup_bright
sequence:
sequence:
- service: light.turn_on
- data_template:
data_template:
brightness: '255'
brightness: '255'
transition: '{{(states(''input_number.alarm_1_offset'') | int ) *60}}'
transition: '{{(states(''input_number.alarm_1_offset'') | int ) *60}}'
entity_id:
entity_id:
- light.eve
- light.yeelink_ceilb_f571_ambient_light
- light.walli
rgb_color:
rgb_color:
- 255
- 255
- 169
- 169
- 92
- 92
service: light.turn_on
#Главный скрипт будильника
#Главный скрипт будильника
'wakeup_sequence':
'wakeup_sequence':
alias: wakeup_sequence
alias: wakeup_sequence
sequence:
sequence:
- data: {}
- data: {}
#сбрасываем параметры освещения
#сбрасываем параметры освещения
service: script.wakeup_dim
service: script.wakeup_dim
- delay: 00:00:02
- delay: 00:00:02
#включаем плавное наращивание освещения
#включаем плавное наращивание освещения
- service: script.wakeup_bright
- service: script.wakeup_bright
- delay: '00:{{ states.input_number.alarm_1_offset.state | int }}:00'
- delay: '00:{{ states.input_number.alarm_1_offset.state | int }}:00'
- data: {}
- data: {}
#Включение музыки на яндекс станции
#включаем телевизор, выводим главную страницу HA
service: script.yandex_tts_1
service: script.tv_on_browser_morning
# ИЛИ запуск проигрывания мелодии #
#Включение музыки на яндекс станции
#- service: script.play_wakeup_music #в систему HA подгружена заранее собранная и настроенная мной мелодия.
service: script.yandex_tts_1
#Я выбрал медленную композицию Daft Punk, в звуковом редакторе установил плавное увеличение громкости для нее и экспортировал в mp3.
# ИЛИ запуск проигрывания мелодии
#По сути HA просто воспроизводит mp3 через подключаемый addon https://github.com/bestlibre/hassio-addons/tree/master/mopidy
# service: script.play_wakeup_music
#в систему HA подгружена заранее собранная и настроенная мной мелодия.
#Я выбрал медленную композицию Daft Punk, в звуковом редакторе установил плавное увеличение громкости для нее и экспортировал в mp3.
# TTS YANDEX
#По сути HA просто воспроизводит mp3 через подключаемый addon https://github.com/bestlibre/hassio-addons/tree/master/mopidy
yandex_tts_1:
```
alias: YaStation_З а пу с к будильника
sequence:
- service: media_player.volume_set
data:
entity_id:
- media_player.yandex_station_m0017y300grsqb
volume_level: 0.1
- delay: 00:00:01
- service: yandex_station.send_command
data:
entity_id: media_player.yandex_station_m0017y300grsqb
command: sendText
text: Включи фоновую музыку.
- delay: 00:01:00
- service: media_player.volume_set
data:
entity_id:
- media_player.yandex_station_m0017y300grsqb
volume_level: 0.2
- delay: 00:00:30
- service: media_player.volume_set
data:
entity_id:
- media_player.yandex_station_m0017y300grsqb
volume_level: 0.3
- delay: 00:00:30
- service: media_player.volume_set
data:
entity_id:
- media_player.yandex_station_m0017y300grsqb
volume_level: 0.4
yandex_tts_2:
alias: YaStation_В ключе ние будильника
sequence:
- service: media_player.volume_set
data:
entity_id:
- media_player.yandex_station_m0017y300grsqb
volume_level: 0.4
- delay: 00:00:01
- service: media_player.play_media
entity_id: media_player.yandex_station_m0017y300grsqb
data:
media_content_id: Включаю будильник на {{ states('sensor.alarm_1_time') }}
media_content_type: text
yandex_tts_3:
alias: YaStation_В ыключе ние будильника
sequence:
- service: media_player.volume_set
data:
entity_id:
- media_player.yandex_station
volume_level: 0.4
- service: media_player.play_media
entity_id: media_player.yandex_station_m0017y300grsqb
data:
media_content_id: Будильник выключен.
media_content_type: text
# Как добавить для штор и света зависимость от времени восхода солнца?
# Если летом к подъему светло, то зачем включать свет, а зимой шторы открывать только с рассветом.
# Проверять состояние солнца. В ha по умолчанию есть sun.sun объект, он показывает: над горизонтом, за горизонтом.
# запишите е г о в condition
## Включение телевизора
По итогу включения телевизора, стартует скрипт запуска главной страницы Home Assistant.
```yaml
script:
tv_on_browser:
alias: Т В . Включение и экран HA в браузере
sequence: #включаем Т В
- service: media_player.turn_on
data:
entity_id: media_player.samsung_tv_remote
#запускаем на Т В браузер
- service: media_player.play_media
data:
entity_id: media_player.samsung_tv_remote
media_content_type: app
media_content_id: org.tizen.browser
#открываем HA в браузере
- service: media_player.play_media
data:
entity_id: media_player.samsung_tv_remote
media_content_type: browser
media_content_id: 'http://192.168.1.58:8123'
```
## TTS YANDEX
```yaml
script:
yandex_tts_1:
alias: YaStation_З а пу с к будильника
sequence:
- service: media_player.volume_set
data:
entity_id:
- media_player.yandex_station
volume_level: 0.1
- delay: '00:00:01'
- service: yandex_station.send_command
data:
entity_id: media_player.yandex_station
command: sendText
text: Включи фоновую музыку.
- delay: '00:01:00'
- service: media_player.volume_set
data:
entity_id:
- media_player.yandex_station
volume_level: 0.2
- delay: '00:00:30'
- service: media_player.volume_set
data:
entity_id:
- media_player.yandex_station
volume_level: 0.3
- delay: '00:00:30'
- service: media_player.volume_set
data:
entity_id:
- media_player.yandex_station
volume_level: 0.4
yandex_tts_2:
alias: YaStation_В ключе ние будильника
sequence:
- service: media_player.volume_set
data:
entity_id:
- media_player.yandex_station
volume_level: 0.4
- delay: '00:00:01'
- service: media_player.play_media
entity_id: media_player.yandex_station
data:
media_content_id: Включаю будильник на {{ states('sensor.alarm_1_time') }}
media_content_type: text
yandex_tts_3:
alias: YaStation_В ыключе ние будильника
sequence:
- service: media_player.volume_set
data:
entity_id:
- media_player.yandex_station
volume_level: 0.4
- service: media_player.play_media
entity_id: media_player.yandex_station
data:
media_content_id: Будильник выключен.
media_content_type: text
```
```