Too many updates to cover

This commit is contained in:
Jeffrey Stone
2019-07-13 21:38:53 -04:00
parent 057e25c3ba
commit 70c7bbb670
74 changed files with 1119 additions and 1172 deletions

View File

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

View 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
View 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
View 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
View 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
View File

37
templates/jeff_eta.yaml Normal file → Executable file
View 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 #}

View 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
View 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()) -}}

View 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
View 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
View 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
View 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
View File

0
templates/nightly_report.yaml Normal file → Executable file
View File

0
templates/prebed_routing.yaml Normal file → Executable file
View File

22
templates/security_report.yaml Executable file
View 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
View 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
View 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
View 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() %}

View File

@@ -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 doors malfunctioning. I guess somebodys 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
View File

3
templates/twitter_snark.yaml Normal file → Executable file
View 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 youre 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 Im 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
View 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
View File

18
templates/welcome_home.yaml Executable file
View 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()) -}}