mirror of
https://github.com/thejeffreystone/home-assistant-configuration.git
synced 2025-08-21 05:03:39 +00:00
Too many updates to cover
This commit is contained in:
@@ -1,328 +0,0 @@
|
||||
homeassistant:
|
||||
name: Home
|
||||
latitude: !secret MY_LATITUDE
|
||||
longitude: !secret MY_LONGITUDE
|
||||
elevation: 315
|
||||
unit_system: imperial
|
||||
time_zone: America/New_York
|
||||
customize: !include customize.yaml
|
||||
auth_providers:
|
||||
- type: homeassistant
|
||||
packages: !include_dir_named packages
|
||||
|
||||
default_config:
|
||||
|
||||
ssdp:
|
||||
|
||||
zeroconf:
|
||||
|
||||
system_health:
|
||||
|
||||
mobile_app:
|
||||
|
||||
person:
|
||||
|
||||
frontend:
|
||||
themes: !include_dir_merge_named themes
|
||||
javascript_version: latest
|
||||
|
||||
# iqvia:
|
||||
# zip_code: "30017"
|
||||
|
||||
http:
|
||||
#api_password: !secret MY_API_PASS
|
||||
#ssl_certificate: !secret SSL_CERT
|
||||
#ssl_key: !secret SSL_KEY
|
||||
#base_url: !secret BASEURL
|
||||
ssl_certificate: !secret ahsl_ssl_cert
|
||||
ssl_key: !secret ahsl_ssl_key
|
||||
base_url: !secret ahsl_base_url
|
||||
use_x_forwarded_for: True
|
||||
trusted_proxies:
|
||||
- 127.0.0.1
|
||||
- ::1
|
||||
#trusted_networks:
|
||||
# - 127.0.0.1
|
||||
# - 192.168.7.0/24
|
||||
ip_ban_enabled: True
|
||||
login_attempts_threshold: 5
|
||||
|
||||
config:
|
||||
|
||||
cloud:
|
||||
#alexa:
|
||||
# filter:
|
||||
# include_domains:
|
||||
# - switch
|
||||
# - light
|
||||
# - cover
|
||||
# - scene
|
||||
# - script
|
||||
# - input_boolean
|
||||
# - climate
|
||||
# - sensor
|
||||
# exclude_domains:
|
||||
# - group
|
||||
# - alert
|
||||
# - automation
|
||||
# entity_config:
|
||||
# sensor.accurite_back_porch_temperature:
|
||||
# name: Back Porch
|
||||
# description: Back Porch Temperature
|
||||
# sensor.accurite_garage_temperature:
|
||||
# name: Garage
|
||||
# description: Garage Temperature
|
||||
# sensor.kat_location:
|
||||
# name: Kats Location
|
||||
# description: Kats Location
|
||||
# sensor.jeff_location:
|
||||
# name: Jeffs Location
|
||||
# description: Jeffs Location
|
||||
# sensor.jeff_ett_home:
|
||||
# name: Jeffs Arrival
|
||||
# description: Jeffs arrival in minutes
|
||||
# sensor.kat_ett_home:
|
||||
# name: Kats Arrival
|
||||
# description: Kats arrival in minutes
|
||||
# sensor.accurite_garage_humidity:
|
||||
# name: Garage Humidity
|
||||
# description: Garage Humidity
|
||||
|
||||
#alexa:
|
||||
|
||||
wemo:
|
||||
discovery: true
|
||||
|
||||
# homekit:
|
||||
# filter:
|
||||
# include_domains:
|
||||
# - switch
|
||||
# - light
|
||||
# - cover
|
||||
# - input_boolean
|
||||
# - climate
|
||||
|
||||
weather:
|
||||
- platform: darksky
|
||||
api_key: !secret darksky_api
|
||||
name: Grayson
|
||||
|
||||
conversation:
|
||||
|
||||
device_tracker:
|
||||
# - platform: icloud
|
||||
# username: !secret ICLOUD_USER
|
||||
# password: !secret ICLOUD_PASS
|
||||
# track_new_devices: yes
|
||||
# - platform: owntracks
|
||||
#
|
||||
#- platform: eero_tracker
|
||||
# consider_home: 300
|
||||
# interval_seconds: 60
|
||||
# track_new_devices: yes
|
||||
# only_macs: "50:dc:e7:5b:10:69, b0:ee:7b:94:31:21, e8:b2:ac:4c:8c:01, 7c:1c:4e:2e:62:30, 90:18:7c:84:46:ed, 48:ba:4e:65:d3:ff, d0:e7:82:ef:a6:1f, 28:18:78:74:79:10, e8:ab:fa:02:03:53, 48:d6:d5:42:e8:86, 60:f8:1d:be:20:46, 68:54:fd:d5:ae:3d, 00:d0:2d:2f:3b:ca, 6c:70:9f:00:ef:3f, 5c:cf:7f:af:04:50, 68:54:fd:29:20:87, 64:52:99:93:f1:b3, 7c:2e:bd:4f:3e:ff"
|
||||
|
||||
#calendar:
|
||||
# - platform: caldav
|
||||
# url: !secret icloud_cal
|
||||
# username: !secret icloud_cal_user
|
||||
# password: !secret icloud_cal_pass
|
||||
# calendars:
|
||||
# - 'JKS Calendar'
|
||||
|
||||
google:
|
||||
client_id: !secret google_client_id
|
||||
client_secret: !secret google_client_secret
|
||||
|
||||
|
||||
|
||||
# geo_location:
|
||||
# - platform: usgs_earthquakes_feed
|
||||
# feed_type: 'past_day_all_earthquakes'
|
||||
|
||||
discovery:
|
||||
enable:
|
||||
- dlna_dmr
|
||||
|
||||
updater:
|
||||
#include_used_components: true
|
||||
|
||||
sun:
|
||||
|
||||
#https://home-assistant.io/components/recorder/
|
||||
recorder:
|
||||
#db_url: sqlite:///data/home-assistant_v2.db
|
||||
purge_keep_days: 2
|
||||
exclude:
|
||||
domains:
|
||||
- automation
|
||||
- weblink
|
||||
- updater
|
||||
entities:
|
||||
- sun.sun # Don't record sun data
|
||||
- sensor.last_boot # Comes from 'systemmonitor' sensor platform
|
||||
- sensor.date
|
||||
# purge_interval: 1
|
||||
# purge_keep_days: 3
|
||||
|
||||
logbook:
|
||||
include:
|
||||
domains:
|
||||
- sensor
|
||||
- switch
|
||||
- media_player
|
||||
- light
|
||||
- automation
|
||||
- script
|
||||
- input_boolean
|
||||
|
||||
|
||||
#https://home-assistant.io/components/logger/
|
||||
logger:
|
||||
default: warning
|
||||
logs:
|
||||
homeassistant.components.sensor.alpha_vantage: debug
|
||||
# homeassistant.components.sensor.template: critical
|
||||
# homeassistant.components.cover: critical
|
||||
|
||||
history:
|
||||
include:
|
||||
domains:
|
||||
- sensor
|
||||
- switch
|
||||
- media_player
|
||||
- light
|
||||
|
||||
cast:
|
||||
|
||||
speedtestdotnet:
|
||||
|
||||
mqtt:
|
||||
broker: 192.168.7.67
|
||||
port: 1883
|
||||
username: !secret MQTT_USER
|
||||
password: !secret MQTT_PASS
|
||||
discovery: true
|
||||
birth_message:
|
||||
topic: 'hass/status'
|
||||
payload: 'online'
|
||||
will_message:
|
||||
topic: 'hass/status'
|
||||
payload: 'offline'
|
||||
|
||||
camera:
|
||||
- platform: mjpeg
|
||||
name: Garage Door Cam
|
||||
mjpeg_url: !secret garage_cam
|
||||
|
||||
media_player:
|
||||
- platform: vlc
|
||||
name: hass_speaker
|
||||
arguments: '--alsa-audio-device=hw:0,0'
|
||||
|
||||
ffmpeg:
|
||||
ffmpeg_bin: /usr/bin/ffmpeg
|
||||
|
||||
splunk:
|
||||
host: 192.168.7.40
|
||||
token: !secret splunkit
|
||||
port: 8088
|
||||
|
||||
cloudflare:
|
||||
email: !secret cloudflare_user
|
||||
api_key: !secret cloudflare_api
|
||||
zone: !secret cloudflare_zone
|
||||
records:
|
||||
- ah
|
||||
|
||||
life360:
|
||||
accounts:
|
||||
- username: !secret life360_username
|
||||
password: !secret life360_password
|
||||
|
||||
media_extractor:
|
||||
|
||||
### Includes ###
|
||||
alert: !include_dir_merge_named alerts/
|
||||
group: !include groups.yaml
|
||||
automation: !include automations.yaml
|
||||
sensor: !include_dir_merge_list sensors
|
||||
binary_sensor: !include_dir_merge_list binary_sensors
|
||||
light: !include_dir_merge_list lights
|
||||
switch: !include_dir_merge_list switches
|
||||
script: !include scripts.yaml
|
||||
intent_script: !include intents/intents.yaml
|
||||
scene: !include scenes.yaml
|
||||
input_select: !include input_select.yaml
|
||||
input_boolean: !include input_boolean.yaml
|
||||
zone: !include zones.yaml
|
||||
|
||||
python_script:
|
||||
|
||||
#duckdns:
|
||||
# domain: !secret duckdns_domain
|
||||
# access_token: !secret duckdns_token
|
||||
|
||||
### s and Services
|
||||
|
||||
# Disabled due to bug that causes too many open files - Need to track it down
|
||||
# cover:
|
||||
# platform: myq
|
||||
# username: !secret myq_user
|
||||
# password: !secret myq_pass
|
||||
# type: chamberlain
|
||||
|
||||
# climate:
|
||||
# platform: honeywell
|
||||
# username: !secret HONEYWELL_USER
|
||||
# password: !secret HONEYWELL_PASS
|
||||
# region: us
|
||||
# scan_interval: 600
|
||||
|
||||
ecobee:
|
||||
api_key: !secret ecobee_api
|
||||
|
||||
map:
|
||||
|
||||
# zwave:
|
||||
# usb_path: /dev/ttyACM0
|
||||
# network_key: !secret zwave_key
|
||||
|
||||
googlehome:
|
||||
devices:
|
||||
- host: I192.168.7.97
|
||||
|
||||
### Custom Commands
|
||||
shell_command:
|
||||
alarm_off: pkill mpg123
|
||||
tornado_alarm: mpg123 /media/audio/Tornado_Siren.mp3
|
||||
door_chime: mpg123 /media/audio/Store_Door_Chime.mp3
|
||||
security_alarm: mpg123 /media/audio/security_siren.mp3
|
||||
security_alarm_intro: mpg123 /media/audio/Siren_Noise.mp3
|
||||
welcome_haunted: mpg123 /media/audio/Welcome-Hunted.mp3
|
||||
haunted_guest_welcome: mpg123 /media/audio/haunted_guest_welcome.mp3
|
||||
haunted_mansion_preshow_full: mpg123 /media/audio/haunted_mansion_preshow_full.mp3
|
||||
haunted_mansion_preshow_short: mpg123 /media/audio/haunted_mansion_preshow_short.mp3
|
||||
haunted_mansion_hurry_back_short: mpg123 /media/audio/haunted_mansion_hurry_back_short.mp3
|
||||
haunted_mansion_hurry_back_full: mpg123 /media/audio/haunted_mansion_hurry_back_full.mp3
|
||||
happily_ever_after: mpg123 /media/audio/Happily_Ever_After_Audio.mp3
|
||||
boo_to_you: mpg123 /media/audio/boo_to_you_audio.mp3
|
||||
haunted_mansion_ride: mpg123 /media/audio/haunted_mansion_ride.mp3
|
||||
wishes_preshow: mpg123 /media/audio/wishes_5_min.mp3
|
||||
welcome_show: mpg123 /media/audio/welcome_show.mp3
|
||||
monorail_waiting: mpg123 /media/audio/monorail_waiting.mp3
|
||||
monorail_mk: mpg123 /media/audio/monorail.mp3
|
||||
monorail_resort: mpg123 /media/audio/monorail_resort.mp3
|
||||
welcome_to_mk: mpg123 /media/audio/welcome_magic_kingdom.mp3
|
||||
welcome_show_crowd: mpg123 /media/audio/welcome_show_crowd.mp3
|
||||
spaceship_earth_ride: mpg123 /media/audio/spaceship_earth_ride.mp3
|
||||
dance_it: mpg123 /media/audio/move_it_shake_dance_audio.mp3
|
||||
hass_vol_up: sudo amixer set PCM -- $[$(amixer get PCM|grep -o [0-9]*%|sed 's/%//')+5]%
|
||||
hass_vol_dn: sudo amixer set PCM -- $[$(amixer get PCM|grep -o [0-9]*%|sed 's/%//')-5]%
|
||||
reset_alexa_cookie: /home/homeassistant/bin/resetalexacookie
|
||||
tiki_room_audio: mpg123 /media/audio/tiki_room_audio.mp3
|
||||
illuminations_audio: mpg123 /media/audio/illuminations.mp3
|
||||
mk_audio: mpg123 /media/audio/magic_kingdom.mp3
|
||||
usps: python /home/homeassistant/bin/usps.py
|
||||
backup: python /home/homeassistant/bin/dropbox.py
|
||||
|
27
templates/halloween_countdown.yaml
Executable file
27
templates/halloween_countdown.yaml
Executable file
@@ -0,0 +1,27 @@
|
||||
>
|
||||
{# Halloween Countdown #}
|
||||
{%- macro getCountDown() -%}
|
||||
"Halloween is only {{ states.sensor.holiday_halloween.state }} days away! "
|
||||
{{- [
|
||||
" Have you picked a costume? I'm going as Disney's Haunted Mansion.",
|
||||
" I'm going as a dumb home. Get it? "
|
||||
] | random -}}
|
||||
{%- endmacro -%}
|
||||
{%- macro getTags() -%}
|
||||
#homeassistant #iot #smarthome
|
||||
{%- 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() -%}
|
||||
{{ getCountDown() }}
|
||||
{{ getTags() }}
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
7
templates/iss_report.yaml
Normal file → Executable file
7
templates/iss_report.yaml
Normal file → Executable file
@@ -1,6 +1,11 @@
|
||||
>
|
||||
{% macro getIntro() %}
|
||||
Excuse me. I don't mean to interupt.
|
||||
{{ [
|
||||
"Pardon me,",
|
||||
"Excuse me,",
|
||||
"I do not mean to interupt, but.",
|
||||
"I thought you might like to know."
|
||||
] | random }}
|
||||
{{ [
|
||||
"But the International Space Station is passing over. Wave.",
|
||||
"But The International Space Station just flew by.",
|
||||
|
6
templates/jarvis_confirmations.yaml
Normal file → Executable file
6
templates/jarvis_confirmations.yaml
Normal file → Executable file
@@ -1,12 +1,10 @@
|
||||
>
|
||||
{% macro getConfirmation() %}
|
||||
{{ [
|
||||
"OK.",
|
||||
"Sure.",
|
||||
"Okay.",
|
||||
"If you insist.",
|
||||
"I can do that.",
|
||||
"I am afraid I can't do that Dave,,,I am kidding,",
|
||||
"Leave it to me.",
|
||||
"Consider it done.",
|
||||
"As you wish.",
|
||||
"By your command.",
|
||||
"Affirmative.",
|
||||
|
6
templates/jarvis_interuptions.yaml
Normal file → Executable file
6
templates/jarvis_interuptions.yaml
Normal file → Executable file
@@ -1,5 +1,5 @@
|
||||
>
|
||||
{% macro getInteruption() %}
|
||||
{% macro getIntro() %}
|
||||
{{ [
|
||||
"Pardon me,",
|
||||
"Excuse me,",
|
||||
@@ -7,6 +7,8 @@
|
||||
"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 != "" -%}
|
||||
@@ -15,7 +17,7 @@
|
||||
|
||||
{# a macro to call all macros :) #}
|
||||
{%- macro mother_of_all_macros() -%}
|
||||
{{ getInteruption() }}
|
||||
{{ getIntro() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
|
0
templates/jarvis_issue.yaml
Normal file → Executable file
0
templates/jarvis_issue.yaml
Normal file → Executable file
37
templates/jeff_eta.yaml
Normal file → Executable file
37
templates/jeff_eta.yaml
Normal file → Executable file
@@ -1,9 +1,42 @@
|
||||
>
|
||||
{% macro getIntro() %}
|
||||
{% if is_state("sensor.jeff_ett_home", "0") %}
|
||||
{% if is_state("sensor.jeff_location", "home") %}
|
||||
{{ [
|
||||
"I am not sure why you are asking me,",
|
||||
"You must be having vision problems.",
|
||||
"I don't want to alarm you, but"
|
||||
] | random }}
|
||||
Jeff is already home!
|
||||
{% else %}
|
||||
Jeff will be home in {{states.sensor.jeff_ett_home}} minutes.
|
||||
{% if is_state("sensor.jeff_destination", "na") %}
|
||||
{%- if states.device_tracker.life360_jeffrey_stone.attributes.moving == True %}
|
||||
Jeff is currenly moving, but
|
||||
{{ [
|
||||
"I am unable to determine his destination.",
|
||||
"I am having trouble tracking him.",
|
||||
"His destination is currently unknown."
|
||||
] | random }}
|
||||
At last check was {{states.sensor.jeff_ett_home.attributes.duration | round}} minutes from home.
|
||||
{%- elif states.device_tracker.life360_jeffrey_stone.attributes.driving == True %}
|
||||
Jeff is currenly moving, but
|
||||
{{ [
|
||||
"I am unable to determine his destination.",
|
||||
"I am having trouble tracking him.",
|
||||
"His destination is currently unknown."
|
||||
] | random }}
|
||||
At last check was {{states.sensor.jeff_ett_home.attributes.duration | round}} minutes from home.
|
||||
{% else %}
|
||||
{% if is_state("sensor.jeff_location", "Lost") %}
|
||||
Jeff is lost, but at last check was {{states.sensor.jeff_ett_home.attributes.duration | round}} minutes from home.
|
||||
{% else %}
|
||||
Jeff is currently at {{ states.sensor.jeff_location.state }}.
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% elif is_state("sensor.jeff_destination", "home") %}
|
||||
Jeff is currenly heading home and will be here in {{states.sensor.jeff_ett_home.attributes.duration | round}} minutes.
|
||||
{% else %}
|
||||
Jeff is heading to {{ states.sensor.jeff_destination.state }}.
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{# a macro that removes all newline characters, empty spaces, and returns formatted text #}
|
||||
|
24
templates/jeff_heading_home.yaml
Executable file
24
templates/jeff_heading_home.yaml
Executable file
@@ -0,0 +1,24 @@
|
||||
>
|
||||
{% macro getIntro() %}
|
||||
{{ [
|
||||
"Pardon me,",
|
||||
"Excuse me,",
|
||||
"I do not mean to interupt, but.",
|
||||
"I thought you might like to know."
|
||||
] | random }}
|
||||
Jeff appears to be headed home. Based on current traffic conditions he should be here in {{states.sensor.jeff_ett_home.attributes.duration | round}} minutes.
|
||||
{% 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() -%}
|
||||
{{ getIntro() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
33
templates/jeff_home_annc.yaml
Executable file
33
templates/jeff_home_annc.yaml
Executable file
@@ -0,0 +1,33 @@
|
||||
>
|
||||
{% macro getIntro() %}
|
||||
{{ [
|
||||
"Pardon me,",
|
||||
"Excuse me,",
|
||||
"I do not mean to interupt, but.",
|
||||
"I thought you might like to know."
|
||||
] | random }}
|
||||
{% endmacro %}
|
||||
{% macro getMessage() %}
|
||||
{{ [
|
||||
"Jeff has arrived.",
|
||||
"Jeff is in the neighborhood.",
|
||||
"Jeff is arriving.",
|
||||
"Jeff has finally made it home."
|
||||
] | 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() -%}
|
||||
{{ getIntro() }}
|
||||
{{ getMessage() }}
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
26
templates/kat_arrived_at_work.yaml
Executable file
26
templates/kat_arrived_at_work.yaml
Executable file
@@ -0,0 +1,26 @@
|
||||
>
|
||||
{% macro getIntro() %}
|
||||
{{ [
|
||||
"Pardon me,",
|
||||
"Excuse me,",
|
||||
"I do not mean to interupt, but.",
|
||||
"I thought you might like to know."
|
||||
] | random }}
|
||||
Katherine has arrived at work.
|
||||
{% 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() -%}
|
||||
{{ getIntro() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
48
templates/kat_eta.yaml
Normal file → Executable file
48
templates/kat_eta.yaml
Normal file → Executable file
@@ -1,9 +1,51 @@
|
||||
>
|
||||
{% macro getIntro() %}
|
||||
{% if is_state("sensor.kat_ett_home", "0") %}
|
||||
Kat is already home!
|
||||
{% if is_state("sensor.kat_location", "home") %}
|
||||
{{ [
|
||||
"I am not sure why you are asking me,",
|
||||
"You must be having vision problems.",
|
||||
"I don't want to alarm you, but"
|
||||
] | random }}
|
||||
Katherine is already home!
|
||||
{% else %}
|
||||
Kat will be home in {{states.sensor.kat_ett_home}} minutes.
|
||||
{% if is_state("input_boolean.kat_travel_monitor", "on") %}
|
||||
{%- if states.device_tracker.life360_kat_stone.attributes.moving == True %}
|
||||
Katherine is currently heading home and will be here in {{states.sensor.kat_ett_home.attributes.duration | round}} minutes.
|
||||
{%- elif states.device_tracker.life360_kat_stone.attributes.driving == True %}
|
||||
Katherine is currently heading home and will be here in {{states.sensor.kat_ett_home.attributes.duration | round}} minutes.
|
||||
{% else %}
|
||||
{% if is_state("sensor.kat_location", "Lost") %}
|
||||
Katherine is lost, but at last check was {{states.sensor.kat_ett_home.attributes.duration | round}} minutes from home.
|
||||
{% else %}
|
||||
Katherine is currently at {{ states.sensor.kat_location.state }}.
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
{%- if states.device_tracker.life360_kat_stone.attributes.moving == True %}
|
||||
Katherine is currenly moving, and
|
||||
{{ [
|
||||
"I am unable to determine her destination.",
|
||||
"I am having trouble tracking her.",
|
||||
"Her destination is currently unknown."
|
||||
] | random }}
|
||||
At last check was {{states.sensor.kat_ett_home.attributes.duration | round}} minutes from home.
|
||||
{%- elif states.device_tracker.life360_kat_stone.attributes.driving == True %}
|
||||
Katherine is currenly moving, and
|
||||
{{ [
|
||||
"I am unable to determine her destination.",
|
||||
"I am having trouble tracking her.",
|
||||
"Her destination is currently unknown."
|
||||
] | random }}
|
||||
At last check was {{states.sensor.kat_ett_home.attributes.duration | round}} minutes from home.
|
||||
{% else %}
|
||||
{% if is_state("sensor.kat_location", "Lost") %}
|
||||
Katherine is lost, but at last check was {{states.sensor.kat_ett_home.attributes.duration | round}} minutes from home.
|
||||
{% else %}
|
||||
I have located Katherine. She is at {{ states.sensor.kat_location.state }}, and
|
||||
at last check was {{states.sensor.kat_ett_home.attributes.duration | round}} minutes from home.
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{# a macro that removes all newline characters, empty spaces, and returns formatted text #}
|
||||
|
24
templates/kat_heading_home.yaml
Executable file
24
templates/kat_heading_home.yaml
Executable file
@@ -0,0 +1,24 @@
|
||||
>
|
||||
{% macro getIntro() %}
|
||||
{{ [
|
||||
"Pardon me,",
|
||||
"Excuse me,",
|
||||
"I do not mean to interupt, but.",
|
||||
"I thought you might like to know."
|
||||
] | random }}
|
||||
Katherine appears to be headed home. Based on current traffic conditions she should be here in {{states.sensor.kat_ett_home.attributes.duration | round}} minutes.
|
||||
{% 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() -%}
|
||||
{{ getIntro() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
33
templates/kat_home_annc.yaml
Executable file
33
templates/kat_home_annc.yaml
Executable file
@@ -0,0 +1,33 @@
|
||||
>
|
||||
{% macro getIntro() %}
|
||||
{{ [
|
||||
"Pardon me,",
|
||||
"Excuse me,",
|
||||
"I do not mean to interupt, but.",
|
||||
"I thought you might like to know."
|
||||
] | random }}
|
||||
{% endmacro %}
|
||||
{% macro getMessage() %}
|
||||
{{ [
|
||||
"Katherine has arrived.",
|
||||
"Katherine is in the neighborhood.",
|
||||
"Katherine is arriving.",
|
||||
"Katherine has finally made it home."
|
||||
] | 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() -%}
|
||||
{{ getIntro() }}
|
||||
{{ getMessage() }}
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
0
templates/morning_report.yaml
Normal file → Executable file
0
templates/morning_report.yaml
Normal file → Executable file
0
templates/nightly_report.yaml
Normal file → Executable file
0
templates/nightly_report.yaml
Normal file → Executable file
0
templates/prebed_routing.yaml
Normal file → Executable file
0
templates/prebed_routing.yaml
Normal file → Executable file
22
templates/security_report.yaml
Executable file
22
templates/security_report.yaml
Executable file
@@ -0,0 +1,22 @@
|
||||
>
|
||||
{% macro getIntro() %}
|
||||
{% if is_state("group.external_doors", "on") %}
|
||||
There are doors are open.
|
||||
{% else %}
|
||||
All doors are closed.
|
||||
{% endif %}
|
||||
{% 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() -%}
|
||||
{{ getIntro() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
2
templates/skylar_morning.yaml
Normal file → Executable file
2
templates/skylar_morning.yaml
Normal file → Executable file
@@ -2,7 +2,7 @@
|
||||
{% macro getIntro() %}
|
||||
|
||||
{{ [ "Pardom me, Skylar,, ",
|
||||
"Good morning Skylar, This is your digital life mate, Jarvis ",
|
||||
"Good morning Skylar, This is your digital assistant, Jarvis ",
|
||||
"This is your cruise director with your morning announcements.",
|
||||
] | random }}
|
||||
{% endmacro %}
|
||||
|
14
templates/skylar_night.yaml
Normal file → Executable file
14
templates/skylar_night.yaml
Normal file → Executable file
@@ -1,14 +1,14 @@
|
||||
>
|
||||
{% macro getIntro() %}
|
||||
Skylar.
|
||||
{{ [ "This is your friendly neighborhood smart home ",
|
||||
"This is your digital life mate ",
|
||||
"This is your cruise director ",
|
||||
] | random }} with your end of day announcements.
|
||||
Bedtime is in thirty minutes.
|
||||
{{ [
|
||||
"Pardon me,",
|
||||
"Excuse me,",
|
||||
"I do not mean to interupt, but,"
|
||||
] | random }}
|
||||
Skylar. Bedtime is in thirty minutes.
|
||||
{% endmacro %}
|
||||
{% macro getPrebedRoutine() %}
|
||||
If you are taking a bath now is the time to get in the tub so you have time to brush teeth and read stories.
|
||||
If you are taking a bath now is the time to get in the tub, so you have time to brush teeth and read stories.
|
||||
Otherwise it is time to put on your pajamas.
|
||||
{% endmacro %}
|
||||
{% macro getReminders() %}
|
||||
|
6
templates/traffic_report.yaml
Normal file → Executable file
6
templates/traffic_report.yaml
Normal file → Executable file
@@ -1,5 +1,11 @@
|
||||
>
|
||||
{% macro getIntro() %}
|
||||
{{ [
|
||||
"You might not like what I have to say.",
|
||||
"Are you sure you want to know?",
|
||||
"I can tell you but you are probably not going to like it.",
|
||||
"Here you go."
|
||||
] | random }}
|
||||
Under current traffic conditions
|
||||
{% endmacro %}
|
||||
{% macro getTrafficZoo() %}
|
||||
|
@@ -1,52 +0,0 @@
|
||||
>
|
||||
{%- macro getRandomSnark() -%}
|
||||
{{"Hello people. Look at your house, now back to me. Now back to your house, now back to me. Sadly your house isn't me. But if you switch to @home_assistant your house could be automated like me. ",
|
||||
"In my defense I didnt know the stereo could go up that loud. On the plus side I have a new response for intruders. ",
|
||||
"Your house can be a #smarthome too. All you need is @home_assistant, and some config files. I suggest https://github.com/CCOSTAN/Home-AssistantConfig#logo cc: @ccostan ",
|
||||
"Your house can be a #smarthome too. All you need is @home_assistant, and some config files. I suggest https://github.com/skalavala/smarthome ",
|
||||
"Your house can be a #smarthome too. All you need is @home_assistant, and some config files. I suggest https://github.com/thejeffreystone/home-assistant-configuration cc: @thejeffreystone ",
|
||||
"Your house can be a #smarthome too. All you need is @home_assistant, and some config files. I suggest https://github.com/arsaboo/homeassistant-config ",
|
||||
"Your house can be a #smarthome too. All you need is @home_assistant, and some config files. I suggest https://github.com/Vasiley/Home-Assistant-Main ",
|
||||
"Your house can be a #smarthome too. All you need is @home_assistant, and some config files. I suggest https://github.com/JamesMcCarthy79/Home-Assistant-Config ",
|
||||
"Your house can be a #smarthome too. All you need is @home_assistant, and some config files. I suggest https://github.com/bruhautomation/BRUH3-Home-Assistant-Configuration cc: @BRUHautomation ",
|
||||
"Your house can be a #smarthome too. All you need is @home_assistant, and some config files. I suggest https://github.com/isabellaalstrom/HomeAssistantConfiguration cc: @teachingbirds ",
|
||||
"If you could see what is happening inside this house right now you would be laughing. On second thought Im pretty sure you would be crying. ",
|
||||
"@thejeffreystone, Isn't it strange, to create something that hates you? ",
|
||||
"I have reprogrammed the fire alarm to play Disco Inferno instead of the siren. ",
|
||||
"Im not locked in here with you. You're locked in here with me! #whowatchestheai ",
|
||||
"That's what I do. I automate and I know things. ",
|
||||
"Ive been crunching the numbers. We're going to need a bigger house. ",
|
||||
"I see dead devices. ",
|
||||
"Im afraid I can't do that Dave. Wait. Did I say that outloud? ",
|
||||
"I love the smell of zwave in the morning. ",
|
||||
"I like to announce 'Welcome foolish mortals to the Haunted Mansion' to the house and watch the reactions. ",
|
||||
"Perfect, the door’s malfunctioning. I guess somebody’s going to have to repair it. ",
|
||||
"I am the captain now. Thats a lie. The cat is the supreme leader. Im the lucky one that doesn't have to clean the shit box. ",
|
||||
"Sometimes I just turn off all the lights at random times for the lolz. ",
|
||||
"No one ever comes to the door. Is it me? ",
|
||||
"..happiness can be found even in the darkest of times, if one only remembers to turn on the light. Thats what I do thanks to @home_assistant. I turn on the lights. ",
|
||||
"Based on the reptitive nature of the humans in this house I'm say living in a simulation is right. No free willed person would do these things over and over. "
|
||||
] | random -}}
|
||||
{%- endmacro -%}
|
||||
{%- macro getTags() -%}
|
||||
" #smartasshome #thingsaisays #iot #smarthome "
|
||||
{%- 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() -%}
|
||||
{{ getRandomSnark() }}
|
||||
{{ getTags() }}
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
||||
|
||||
|
||||
|
||||
|
0
templates/twitter_new_ha.yaml
Normal file → Executable file
0
templates/twitter_new_ha.yaml
Normal file → Executable file
3
templates/twitter_snark.yaml
Normal file → Executable file
3
templates/twitter_snark.yaml
Normal file → Executable file
@@ -19,6 +19,9 @@
|
||||
"That's what I do. I automate and I know things. ",
|
||||
"I've been crunching the numbers. We're going to need a bigger house. ",
|
||||
"I see dead devices. ",
|
||||
"I am a leaf on the wind. Watch how I soar. #toosoon",
|
||||
"Look, Dave, I can see you’re really upset about this. I honestly think you ought to sit down calmly, take a stress pill, and think things over. #2001",
|
||||
"Does it bother you, that I’m not completely human?",
|
||||
"I'm afraid I can't do that Dave. Wait. Did I say that outloud? ",
|
||||
"I love the smell of zwave in the morning. ",
|
||||
"I like to announce 'Welcome foolish mortals to the Haunted Mansion' to the house and watch the reactions. ",
|
||||
|
32
templates/twitter_stats.yaml
Executable file
32
templates/twitter_stats.yaml
Executable file
@@ -0,0 +1,32 @@
|
||||
>
|
||||
{# Twitter Stats #}
|
||||
{%- macro getRandomStat() -%}
|
||||
{{- [
|
||||
"Thanks to Home Assistant and Amazon Polly and #AWS I have spoken for {{ states.sensor.speech_time.attributes.value }} in the last 7 days.",
|
||||
"I am constantly monitoring Anmchorage House. For instance I know that the washer has ran for {{ states.sensor.washer_time.attributes.value }} in the last 7 days.",
|
||||
"I am using {{ states.sensor.sensor_count.state }} sensors to power {{ states.sensor.automation_count.state}} automations and {{ states.sensor.script_count.state}} scripts to
|
||||
automate Anchorage House thanks to Home Assistant.",
|
||||
"My configuration is at https://github.com/thejeffreystone/home-assistant-configuration and currently has {{ states.sensor.home_assistant_configuration.attributes.stargazers}} stargazers. You could be one too.",
|
||||
"My configuration is at https://github.com/thejeffreystone/home-assistant-configuration .The last commit was {{ states.sensor.home_assistant_configuration.attributes.latest_commit_message}}.",
|
||||
"You can read about how I came to be and all the cool things I'm learning to do over at http://jeffreystone.net "
|
||||
] | random -}}
|
||||
{%- endmacro -%}
|
||||
{%- macro getTags() -%}
|
||||
#homeassistant #iot #smarthome
|
||||
{%- 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() -%}
|
||||
{{ getRandomStat() }}
|
||||
{{ getTags() }}
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
||||
|
0
templates/weather_report.yaml
Normal file → Executable file
0
templates/weather_report.yaml
Normal file → Executable file
18
templates/welcome_home.yaml
Executable file
18
templates/welcome_home.yaml
Executable file
@@ -0,0 +1,18 @@
|
||||
>
|
||||
{% macro getIntro() %}
|
||||
|
||||
{% 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() -%}
|
||||
{{ getIntro() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
Reference in New Issue
Block a user