Adding my own simple Jarvis
This commit is contained in:
parent
e408fef645
commit
496fd6bd79
|
@ -0,0 +1,55 @@
|
||||||
|
###############################################################################
|
||||||
|
# @author : Jeffrey Stone
|
||||||
|
# @date : 07/09/2019
|
||||||
|
# @package : Jarvis
|
||||||
|
# @description : Brining some Jarvis to Home Assistant
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
automation:
|
||||||
|
- id: guest_mode_feedback
|
||||||
|
alias: Guest Mode Audio Feedback
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- input_boolean.guest_mode
|
||||||
|
from: 'off'
|
||||||
|
to: 'on'
|
||||||
|
action:
|
||||||
|
- service: script.jarvis_voice
|
||||||
|
data_template:
|
||||||
|
message: >
|
||||||
|
{{ [
|
||||||
|
"Guest Mode has been enabled.",
|
||||||
|
"I have switched to the system to guest mode.",
|
||||||
|
"I have enabled guest mode. ",
|
||||||
|
"Guest Mode is on."
|
||||||
|
] | random }}
|
||||||
|
|
||||||
|
script:
|
||||||
|
activate_house_party_protocol:
|
||||||
|
sequence:
|
||||||
|
- service: script.jarvis_voice
|
||||||
|
data_template:
|
||||||
|
message: !include ../templates/jarvis_confirmations.yaml
|
||||||
|
- delay:
|
||||||
|
seconds: 3
|
||||||
|
- service: scene.turn_on
|
||||||
|
entity_id: scene.house_party_protocol
|
||||||
|
- service: script.jarvis_voice
|
||||||
|
data_template:
|
||||||
|
message: >
|
||||||
|
{{ [
|
||||||
|
"Anchorage House has been configured for a House Party.",
|
||||||
|
"Incense has been turned on.",
|
||||||
|
"I have enabled house party protocol."
|
||||||
|
] | random }}
|
||||||
|
|
||||||
|
activate_guest_mode:
|
||||||
|
sequence:
|
||||||
|
- service: script.jarvis_voice
|
||||||
|
data_template:
|
||||||
|
message: !include ../templates/jarvis_confirmations.yaml
|
||||||
|
- delay:
|
||||||
|
seconds: 3
|
||||||
|
- service: input_boolean.turn_on
|
||||||
|
entity_id: input_boolean.guest_mode
|
|
@ -0,0 +1,31 @@
|
||||||
|
>
|
||||||
|
{% macro getConfirmation() %}
|
||||||
|
{{ [
|
||||||
|
"OK.",
|
||||||
|
"Sure.",
|
||||||
|
"If you insist.",
|
||||||
|
"I can do that.",
|
||||||
|
"Leave it to me.",
|
||||||
|
"Consider it done.",
|
||||||
|
"As you wish.",
|
||||||
|
"By your command.",
|
||||||
|
"Affirmative.",
|
||||||
|
"No Problem.",
|
||||||
|
"I think I can handle that.",
|
||||||
|
"Working on it now."
|
||||||
|
] | random }}
|
||||||
|
{% endmacro %}
|
||||||
|
{# a macro that removes all newline characters, empty spaces, and returns formatted text #}
|
||||||
|
{%- macro cleanup(data) -%}
|
||||||
|
{%- for item in data.split("\n") if item | trim != "" -%}
|
||||||
|
{{ item | trim }} {% endfor -%}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{# a macro to call all macros :) #}
|
||||||
|
{%- macro mother_of_all_macros() -%}
|
||||||
|
{{ getConfirmation() }}
|
||||||
|
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{# Call the macro #}
|
||||||
|
{{- cleanup(mother_of_all_macros()) -}}
|
|
@ -0,0 +1,23 @@
|
||||||
|
>
|
||||||
|
{% macro getInteruption() %}
|
||||||
|
{{ [
|
||||||
|
"Pardon me,",
|
||||||
|
"Excuse me,",
|
||||||
|
"I do not mean to interupt, but.",
|
||||||
|
"I thought you might like to know."
|
||||||
|
] | random }}
|
||||||
|
{% endmacro %}
|
||||||
|
{# a macro that removes all newline characters, empty spaces, and returns formatted text #}
|
||||||
|
{%- macro cleanup(data) -%}
|
||||||
|
{%- for item in data.split("\n") if item | trim != "" -%}
|
||||||
|
{{ item | trim }} {% endfor -%}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{# a macro to call all macros :) #}
|
||||||
|
{%- macro mother_of_all_macros() -%}
|
||||||
|
{{ getInteruption() }}
|
||||||
|
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{# Call the macro #}
|
||||||
|
{{- cleanup(mother_of_all_macros()) -}}
|
|
@ -0,0 +1,23 @@
|
||||||
|
>
|
||||||
|
{% macro getIssue() %}
|
||||||
|
{{ [
|
||||||
|
"I have detected an issue!",
|
||||||
|
"We have a problem!",
|
||||||
|
"You might not like this.",
|
||||||
|
"There is something that needs your attention."
|
||||||
|
] | random }}
|
||||||
|
{% endmacro %}
|
||||||
|
{# a macro that removes all newline characters, empty spaces, and returns formatted text #}
|
||||||
|
{%- macro cleanup(data) -%}
|
||||||
|
{%- for item in data.split("\n") if item | trim != "" -%}
|
||||||
|
{{ item | trim }} {% endfor -%}
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{# a macro to call all macros :) #}
|
||||||
|
{%- macro mother_of_all_macros() -%}
|
||||||
|
{{ getIssue() }}
|
||||||
|
|
||||||
|
{%- endmacro -%}
|
||||||
|
|
||||||
|
{# Call the macro #}
|
||||||
|
{{- cleanup(mother_of_all_macros()) -}}
|
Loading…
Reference in New Issue