home-assistant-configuration/config/packages/jarvis.yaml

133 lines
3.3 KiB
YAML
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

###############################################################################
# @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