Updated the templates used for speech and twitter notifications
This commit is contained in:
parent
f376139458
commit
e8afefb9f9
|
@ -0,0 +1,328 @@
|
|||
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
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
>
|
||||
{% macro getIntro() %}
|
||||
Excuse me. I don't mean to interupt.
|
||||
{{ [
|
||||
"But the International Space Station is passing over. Wave.",
|
||||
"But The International Space Station just flew by.",
|
||||
"But if you were to look up right now, and it was dark outside, and you happened to be looking in the right place you would see the International Space Station go by. But it's already passed by 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() -%}
|
||||
{{ getIntro() }}
|
||||
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
|
@ -0,0 +1,22 @@
|
|||
>
|
||||
{% macro getIntro() %}
|
||||
{% if is_state("sensor.jeff_ett_home", "0") %}
|
||||
Jeff is already home!
|
||||
{% else %}
|
||||
Jeff will be home in {{states.sensor.jeff_ett_home}} minutes.
|
||||
{% 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()) -}}
|
|
@ -0,0 +1,22 @@
|
|||
>
|
||||
{% macro getIntro() %}
|
||||
{% if is_state("sensor.kat_ett_home", "0") %}
|
||||
Kat is already home!
|
||||
{% else %}
|
||||
Kat will be home in {{states.sensor.kat_ett_home}} minutes.
|
||||
{% 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()) -}}
|
|
@ -1,7 +1,22 @@
|
|||
>
|
||||
{% macro getGreeting() %}
|
||||
{{ [ "Good morning Anchorage House. Rise and Shine. ",
|
||||
"Good morning everyone. ",
|
||||
"Good morning. The early bird gets the worm. And look over there. A worm. Wait, is that a snake. umm, someone might want to take care, ok, moving on.",
|
||||
"Good morning. The early bird gets the worm.",
|
||||
"Good morning from the bridge.",
|
||||
"I hope I am not waking you, but I think this would be a good time for the morning report."
|
||||
] | random }}
|
||||
{% if is_state("input_boolean.guest_mode", "on") %}
|
||||
{{ [ "And a special welcome to our guests. ",
|
||||
"And good morning to our guests as well. ",
|
||||
"Hey look at that, someone came to visit Anchorage House. Hope you slept well."
|
||||
] | random }}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getTodaysEvent() %}
|
||||
{% if is_state("sensor.holiday_halloween","0") %}
|
||||
This is Hallowen, this is halloween. Happy Halloween!
|
||||
This is Halloween, this is halloween. Happy Halloween!
|
||||
{% endif %}
|
||||
{% if is_state("sensor.holiday_christmas","0") %}
|
||||
Merry Christmas Everyone!
|
||||
|
@ -10,15 +25,18 @@
|
|||
Happy Anniversary! It has been an amazing {{ states.sensor.anniversary_our_wedding.attributes.years }} years!
|
||||
{% endif %}
|
||||
{% if is_state("calendar.holidays_in_united_states", "on") %}
|
||||
Today is {{states.calendar.holidays_in_united_states.attributes.message}}
|
||||
Today is {{states.calendar.holidays_in_united_states.attributes.message}}.
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getCurrentConditions() %}
|
||||
It's currently {{states.sensor.dark_sky_summary.state}} and {{states.sensor.dark_sky_temperature.state|round}} degrees according to Dark Sky.
|
||||
The back porch is {{states.sensor.accurite_back_porch_temperature.state|round}} degrees and
|
||||
The inside temperature is {{states.climate.home.attributes.current_temperature|round}} degrees. The Climate is set to {{states.climate.home.state}}.
|
||||
{% endmacro %}
|
||||
{% macro getForecast() %}
|
||||
It's currently {{states.sensor.dark_sky_summary.state}} and {{states.sensor.dark_sky_temperature.state|round}} degrees. The high will be {{states.sensor.dark_sky_daytime_high_temperature_0.state|round}} degrees. There is a {{states.sensor.dark_sky_precip_probability_0.state|round}} percent chance of rain.
|
||||
{% endmacro %}
|
||||
{% macro getTraffic() %}
|
||||
Under current traffic conditions it would take you {{states.sensor.home_to_zoo.state|round}} mins to get to Zoo Atlanta, and {{states.sensor.home_to_summit.state|round}} mins to get to Cox Automotive.
|
||||
The rest of the day should be {{states.sensor.dark_sky_summary_0d.state}} with a high of {{states.sensor.dark_sky_daytime_high_temperature_0d.state|round}} degrees. There is a {{states.sensor.dark_sky_precip_probability_0d.state|round}} percent chance of rain.
|
||||
{% endmacro %}
|
||||
|
||||
{% macro getBirthdays() %}
|
||||
{% if states.calendar.birthdays.state == "on" %}
|
||||
Today is {{ states.calendar.birthdays.attributes.message }} birthday!
|
||||
|
@ -62,10 +80,10 @@
|
|||
|
||||
{# a macro to call all macros :) #}
|
||||
{%- macro mother_of_all_macros() -%}
|
||||
It is {{ now().strftime("%I:%M %p") }}.
|
||||
{{ getGreeting() }}
|
||||
{{ getTodaysEvent() }}
|
||||
{{ getCurrentConditions() }}
|
||||
{{ getForecast() }}
|
||||
{{ getTraffic() }}
|
||||
{{ getBirthdays() }}
|
||||
{{ getAnniversary() }}
|
||||
{{ getHolidays() }}
|
||||
|
|
|
@ -1,10 +1,20 @@
|
|||
>
|
||||
{% macro getSnark() %}
|
||||
{{ [ "Good evening, ",
|
||||
"Before we shut this party down, ",
|
||||
"Good Evening Anchorage House, "
|
||||
] | random }}
|
||||
{{ [ "I thought you might like to know. ",
|
||||
"I might have some bad news for you.",
|
||||
"Just one more thing."
|
||||
] | random }}
|
||||
{% endmacro %}
|
||||
{% macro getForecast() %}
|
||||
The low tonight will be {{states.sensor.dark_sky_overnight_low_temperature_0.state | round}} degrees and there is a {{states.sensor.dark_sky_precip_probability_0.state|round}} percent chance of rain.
|
||||
The low tonight will be {{states.sensor.dark_sky_overnight_low_temperature_0d.state | round}} degrees and there is a {{states.sensor.dark_sky_precip_probability_0d.state|round}} percent chance of rain.
|
||||
{% endmacro %}
|
||||
{% macro getTrashDay() %}
|
||||
{% if is_state("sensor.weekday", "mon") %}
|
||||
Tomorrow is trash day!
|
||||
Don't forget Tomorrow is trash day!
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getBirthdays() %}
|
||||
|
@ -29,6 +39,10 @@
|
|||
{% macro getHolidays() %}
|
||||
{% if states.sensor.holiday_halloween.state | int == 1 %}
|
||||
Tomorrow is Halloween. Hope you have picked out a costume.
|
||||
{{ [ "I'll be going as a dumb home. ",
|
||||
"I've prepped the scary music. Just in case.",
|
||||
"I'll be going as HAL 9000."
|
||||
] | random }}
|
||||
{% endif %}
|
||||
{% if states.sensor.holiday_christmas.state | int == 1 %}
|
||||
Tomorrow is Christmas. It's practically here!
|
||||
|
@ -43,7 +57,7 @@
|
|||
|
||||
{# a macro to call all macros :) #}
|
||||
{%- macro mother_of_all_macros() -%}
|
||||
It is {{ now().strftime("%I:%M %p") }}.
|
||||
{{ getSnark() }}
|
||||
{{ getForecast() }}
|
||||
{{ getTrashDay() }}
|
||||
{{ getBirthdays() }}
|
||||
|
|
|
@ -1,50 +0,0 @@
|
|||
>
|
||||
{% macro getForecast() %}
|
||||
The low tonight will be {{states.sensor.dark_sky_overnight_low_temperature_0.state | round}} degrees and there is a {{states.sensor.dark_sky_precip_probability_0.state|round}} percent chance of rain.
|
||||
{% endmacro %}
|
||||
{% macro getTrashDay() %}
|
||||
{% if is_state("sensor.weekday", "mon") %}
|
||||
Tomorrow is trash day!
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getBirthdays() %}
|
||||
{% if states.sensor.birthday_skylar.state | int < 2 %}
|
||||
Tomorrow is Skylar's Birthday.
|
||||
{% endif %}
|
||||
{% if states.sensor.birthday_jeff.state | int < 2 %}
|
||||
Tomorrow is Jeff's Birthday.
|
||||
{% endif %}
|
||||
{% if states.sensor.birthday_kat.state | int < 2 %}
|
||||
Tomorrow is Katherine's Birthday.
|
||||
{% endif %}
|
||||
{% if states.sensor.anniversary_our_wedding.state | int < 2 %}
|
||||
Tomorrow is Jeff and Katherine's Wedding Anniversary.
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getHolidays() %}
|
||||
{% if states.sensor.holiday_halloween.state | int < 2 %}
|
||||
Tomorrow is Halloween. Hope you have picked out a costume.
|
||||
{% endif %}
|
||||
{% if states.sensor.holiday_christmas.state | int < 2 %}
|
||||
Tomorrow is Christmas. It's practically here!
|
||||
{% 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() -%}
|
||||
It is {{ now().strftime("%I:%M %p") }}.
|
||||
{{ getForecast() }}
|
||||
{{ getTrashDay() }}
|
||||
{{ getBirthdays() }}
|
||||
{{ getHolidays() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
|
@ -1,6 +1,10 @@
|
|||
>
|
||||
{% macro getIntro() %}
|
||||
Skylar.
|
||||
Skylar.
|
||||
{{ [ "This is your friendly neighborhood smart home ",
|
||||
"This is your digital life mate ",
|
||||
"This is your cruise director ",
|
||||
] | random }} with your morning announcements.
|
||||
{% endmacro %}
|
||||
{% macro getDressed() %}
|
||||
{% if is_state("sensor.birthday_skylar", "0") %}
|
||||
|
@ -15,9 +19,17 @@
|
|||
{% if states.calendar.skylar_school.attributes.description == "early-release" %}
|
||||
And guess what? It is early release!
|
||||
{% endif %}
|
||||
{% if is_state("sensor.weekday", "fri") %}
|
||||
Plus, it is fun Friday!
|
||||
{% endif %}
|
||||
# {% if is_state("sensor.weekday", "fri") %}
|
||||
# Plus, it is fun Friday!
|
||||
# {% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getEvents() %}
|
||||
{% if is_state("calendar.skylar_events", "on") %}
|
||||
You have {{ states.calendar.skylar_events.attributes.message }} today!
|
||||
# {% if is_state("sensor.weekday", "fri") %}
|
||||
# Plus, it is fun Friday!
|
||||
# {% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getClothesSuggestion() %}
|
||||
|
@ -36,13 +48,6 @@
|
|||
{% else %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{%- macro getRandomClosing() -%}
|
||||
{{- [
|
||||
"Cowabunga, Dude.",
|
||||
"Don't forget to be nice to your friends.",
|
||||
"Make it a great day!"
|
||||
] | random -}}
|
||||
{%- endmacro -%}
|
||||
|
||||
|
||||
{# a macro that removes all newline characters, empty spaces, and returns formatted text #}
|
||||
|
@ -53,10 +58,10 @@
|
|||
|
||||
{# a macro to call all macros :) #}
|
||||
{%- macro mother_of_all_macros() -%}
|
||||
It is {{ now().strftime("%I:%M %p") }}.
|
||||
{{ getIntro() }}
|
||||
{{ getDressed() }}
|
||||
{{ getSchoolDay() }}
|
||||
{{ getEvents() }}
|
||||
{{ getClothesSuggestion() }}
|
||||
|
||||
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
>
|
||||
{% 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.
|
||||
{% 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.
|
||||
Otherwise it is time to put on your pajamas.
|
||||
{% endmacro %}
|
||||
{% macro getReminders() %}
|
||||
Don't forget to feed your fish.
|
||||
{% if is_state("sensor.weekday", "fri") %}
|
||||
Oh, and tomorrow is the weekend, so why don't we sleep in.
|
||||
{% 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() -%}
|
||||
It is {{ now().strftime("%I:%M %p") }}.
|
||||
{{ getIntro() }}
|
||||
{{ getPrebedRoutine() }}
|
||||
{{ getReminders() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
|
@ -0,0 +1,28 @@
|
|||
>
|
||||
{% macro getIntro() %}
|
||||
Under current traffic conditions
|
||||
{% endmacro %}
|
||||
{% macro getTrafficZoo() %}
|
||||
Zoo Atlanta is {{states.sensor.home_to_zoo.state|round}} minutes away
|
||||
{% endmacro %}
|
||||
{% macro getTrafficCox() %}
|
||||
And Cox Automotive is {{states.sensor.home_to_summit.state|round}} minutes away by car.
|
||||
{% 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() -%}
|
||||
{{ getTrafficZoo() }}
|
||||
{{ getTrafficCox() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
||||
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
>
|
||||
{%- 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()) -}}
|
||||
|
||||
|
||||
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
] | random -}}
|
||||
{% endmacro %}
|
||||
{% macro getVersion() %}
|
||||
#homeassistant version {{ states.sensor.current_ha_version.state }} is out.
|
||||
@home_assistant version {{ states.sensor.current_ha_version.state }} is out.
|
||||
{% endmacro %}
|
||||
{%- macro getRandomSnark() -%}
|
||||
{{- [
|
||||
|
@ -15,7 +15,7 @@
|
|||
" Get in my SD Card! #homeassistant",
|
||||
" Shut up and take my ones and zeros! #homeassistant",
|
||||
" Seriously, you want some of this! #homeassistant",
|
||||
" Friends dont let friends update #homeassistant without reading breaking changes. ",
|
||||
" Friends dont let friends update @home_assistant without reading breaking changes. ",
|
||||
" If you are not running #homeassistant now is the best time to get started. Visit https://www.home-assistant.io"
|
||||
] | random -}}
|
||||
{%- endmacro -%}
|
||||
|
|
|
@ -2,16 +2,16 @@
|
|||
{# Twitter Snark #}
|
||||
{%- 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 #homeassistant your house could be automated like me. ",
|
||||
"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 didn’t 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 #homeassistant, and some config files. May I suggest https://github.com/CCOSTAN/Home-AssistantConfig#logo ",
|
||||
"Your house can be a #smarthome too. All you need is #homeassistant, and some config files. May I suggest https://github.com/skalavala/smarthome ",
|
||||
"Your house can be a #smarthome too. All you need is #homeassistant, and some config files. May I suggest https://github.com/thejeffreystone/home-assistant-configuration ",
|
||||
"Your house can be a #smarthome too. All you need is #homeassistant, and some config files. May I suggest https://github.com/arsaboo/homeassistant-config ",
|
||||
"Your house can be a #smarthome too. All you need is #homeassistant, and some config files. May I suggest https://github.com/Vasiley/Home-Assistant-Main ",
|
||||
"Your house can be a #smarthome too. All you need is #homeassistant, and some config files. May I suggest https://github.com/JamesMcCarthy79/Home-Assistant-Config ",
|
||||
"Your house can be a #smarthome too. All you need is #homeassistant, and some config files. May I suggest https://github.com/bruhautomation/BRUH3-Home-Assistant-Configuration ",
|
||||
"Your house can be a #smarthome too. All you need is #homeassistant, and some config files. May I suggest https://github.com/isabellaalstrom/HomeAssistantConfiguration ",
|
||||
"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 I’m 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. ",
|
||||
|
@ -23,14 +23,21 @@
|
|||
"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. That's a lie. The cat is the supreme leader. I'm the lucky one that doesn't have to clean the shit box.",
|
||||
"I am the captain now. That's a lie. The cat is the supreme leader. I'm 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? ",
|
||||
"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. "
|
||||
"..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 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"
|
||||
#thingssmarthomessay #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 :) #}
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
>
|
||||
{% macro getCurrent() %}
|
||||
It's currently {{states.sensor.dark_sky_summary.state}} and {{states.sensor.dark_sky_temperature.state|round}} degrees according to Dark Sky.
|
||||
The back porch is {{states.sensor.accurite_back_porch_temperature.state|round}} degrees with a humidity of {{states.sensor.accurite_back_porch_humidity.state|round}} percent.
|
||||
The garage is {{states.sensor.accurite_garage_temperature.state|round}} degrees with a humidity of {{states.sensor.accurite_garage_humidity.state|round}} percent.
|
||||
The inside temperature is {{states.climate.home.attributes.current_temperature|round}} degrees and the Climate is set to {{states.climate.home.state}}.
|
||||
{% endmacro %}
|
||||
{% macro getTodayForecast() %}
|
||||
The rest of the day should be {{states.sensor.dark_sky_summary_0d.state}} with a high of {{states.sensor.dark_sky_daytime_high_temperature_0d.state|round}} degrees. There is a {{states.sensor.dark_sky_precip_probability_0d.state|round}} percent chance of rain.
|
||||
{% endmacro %}
|
||||
{% macro getForecast() %}
|
||||
Looking into the future you can expect {{states.sensor.dark_sky_daily_summary.state}}.
|
||||
{% 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() -%}
|
||||
{{ getCurrent() }}
|
||||
{{ getTodayForecast() }}
|
||||
{{ getForecast() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
||||
|
||||
|
Loading…
Reference in New Issue