133 lines
3.3 KiB
YAML
Executable File
133 lines
3.3 KiB
YAML
Executable File
###############################################################################
|
||
# @author : Jeffrey Stone
|
||
# @date : 07/09/2019
|
||
# @package : Jarvis
|
||
# @description : Bringing some Jarvis to Home Assistant
|
||
###############################################################################
|
||
|
||
input_boolean:
|
||
house_party_protocol_switch:
|
||
name: House Party Switch
|
||
|
||
automation:
|
||
- id: house_party_protocol_on
|
||
alias: Turn On House Party Protocol
|
||
initial_state: true
|
||
trigger:
|
||
- platform: state
|
||
entity_id: input_boolean.house_party_protocol_switch
|
||
to: 'on'
|
||
action:
|
||
- service: homeassistant.turn_on
|
||
entity_id: group.incense
|
||
- delay: 00:00:05
|
||
- service: script.status_annc
|
||
data_template:
|
||
who: '{{ states.sensor.room_presence.state }}'
|
||
call_house_party_protocol_enabled: 1
|
||
|
||
- id: house_party_protocol_off
|
||
alias: Turn Off House Party Protocol
|
||
initial_state: true
|
||
trigger:
|
||
- platform: state
|
||
entity_id: input_boolean.house_party_protocol_switch
|
||
to: 'off'
|
||
action:
|
||
- service: homeassistant.turn_off
|
||
entity_id: group.incense
|
||
- delay: 00:00:05
|
||
- service: script.status_annc
|
||
data_template:
|
||
who: '{{ states.sensor.room_presence.state }}'
|
||
call_house_party_protocol_disabled: 1
|
||
|
||
script:
|
||
|
||
# To Use:
|
||
# service: script.amp_voice
|
||
# Data
|
||
# who: media_player_ha_speaker
|
||
# #who: “{{ states(‘sensor.room_presence’) }}”
|
||
# message: something to say
|
||
#
|
||
amp_voice:
|
||
sequence:
|
||
- service: media_player.turn_on
|
||
data_template:
|
||
entity_id: >
|
||
{{ who }}
|
||
- service: script.dim_main_volume
|
||
- service: media_player.volume_set
|
||
data_template:
|
||
entity_id: >
|
||
{{ who }}
|
||
volume_level: >
|
||
{% if is_state('input_boolean.audible_notifications.state','on') %}
|
||
.6
|
||
{% else %}
|
||
.4
|
||
{% endif %}
|
||
- service: >
|
||
{{ who }}
|
||
data:
|
||
message: >
|
||
{{ message }}
|
||
data:
|
||
type: tts
|
||
- delay: 00:00:20
|
||
- service: script.raise_main_volume
|
||
|
||
|
||
|
||
# To Use:
|
||
# service: script.polly_voice
|
||
# Data
|
||
# who: media_player_ha_speaker
|
||
# #who: “{{ states(‘sensor.room_presence’) }}”
|
||
# message: something to say
|
||
#
|
||
polly_voice:
|
||
sequence:
|
||
- service: media_player.turn_on
|
||
data_template:
|
||
entity_id: >
|
||
{{ who }}
|
||
- service: media_player.volume_set
|
||
data_template:
|
||
entity_id: >
|
||
{{ who }}
|
||
volume_level: >
|
||
{% if states.input_boolean.audible_notifications.state == 'on' %}
|
||
.7
|
||
{% else %}
|
||
.4
|
||
{% endif %}
|
||
- service: tts.amazon_polly_say
|
||
data_template:
|
||
entity_id: >
|
||
{{ who }}
|
||
message: >-
|
||
<speak>
|
||
<break time="1s"/>
|
||
{{ message }}
|
||
</speak>
|
||
cache: true
|
||
|
||
|
||
alexa_interjection:
|
||
sequence:
|
||
- service: script.status_annc
|
||
data:
|
||
who: '{{ states.sensor.alexa_audio.state}}'
|
||
call_interuption: 1
|
||
|
||
google_interjection:
|
||
sequence:
|
||
- service: script.status_annc
|
||
data:
|
||
who: '{{ states.sensor.room_audio.state }}'
|
||
call_interuption: 1
|
||
|
||
|