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

151
packages/announcements.yaml Normal file → Executable file
View File

@@ -5,70 +5,48 @@
# @description : Just Normal Announcements.
###############################################################################
script:
#script:
annc_storm_statement:
sequence:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
- condition: state
entity_id: input_boolean.vacation_mode
state: 'off'
- service: notify.ios_all
data:
message: Severe Storm Statement Issued for Anchorage House
annc_tstorm_watch:
sequence:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
- condition: state
entity_id: input_boolean.vacation_mode
state: 'off'
- service: notify.ios_all
data:
message: Severe Thunderstorm Watch Issued for Anchorage House
annc_tstorm_warning:
sequence:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
- condition: state
entity_id: input_boolean.vacation_mode
state: 'off'
- service: notify.ios_all
data:
message: Severe Thunderstorm Warning Issued for Anchorage House
annc_tornado_watch:
sequence:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
- condition: state
entity_id: input_boolean.vacation_mode
state: 'off'
- service: notify.ios_all
data:
message: Tornado Watch Issued for Anchorage House
annc_security_issue:
sequence:
- condition: state
entity_id: group.family
state: 'on'
- service: tts.google_translate_say
data:
entity_id: media_player.hass_speaker
message: Unauthorized Access
annc_tornado_warning:
sequence:
- condition: state
entity_id: sensor.family_status
state: Home
- service: script.alert_notify
data_template:
message: "Tornado Warning has been Issued"
greeting: "no"
# annc_storm_statement:
# sequence:
# - condition: state
# entity_id: input_boolean.vacation_mode
# state: 'off'
# - service: script.text_notify
# data:
# message: Severe Storm Statement Issued for Anchorage House
# annc_tstorm_watch:
# sequence:
# - condition: state
# entity_id: input_boolean.vacation_mode
# state: 'off'
# - service: script.text_notify
# data:
# message: Severe Thunderstorm Watch Issued for Anchorage House
# annc_tstorm_warning:
# sequence:
# - condition: state
# entity_id: input_boolean.vacation_mode
# state: 'off'
# - service: script.text_notify
# data:
# message: Severe Thunderstorm Warning Issued for Anchorage House
# annc_tornado_watch:
# sequence:
# - condition: state
# entity_id: input_boolean.vacation_mode
# state: 'off'
# - service: script.text_notify
# data:
# message: Tornado Watch Issued for Anchorage House
# annc_tornado_warning:
# sequence:
# - condition: state
# entity_id: sensor.family_status
# state: Home
# - service: script.alert_notify
# data_template:
# message: "Tornado Warning has been Issued"
automation:
- id: prebed_routine
@@ -77,10 +55,6 @@ automation:
trigger:
platform: template
value_template: "{{ states('sensor.time') == (state_attr('input_datetime.skylar_nightly_report', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
condition:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
action:
- service: script.prebed_routine
- id: nightly_report
@@ -89,22 +63,15 @@ automation:
trigger:
platform: template
value_template: "{{ states('sensor.time') == (state_attr('input_datetime.nightly_report', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
condition:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
action:
- service: script.nightly_report
- id: good_morning_report
alias: Good Morning Report
initial_state: true
trigger:
platform: template
value_template: "{{ states('sensor.time') == (state_attr('input_datetime.morning_report', 'timestamp') | int | timestamp_custom('%H:%M', False)) }}"
condition:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
action:
- service: script.morning_report
- service: script.twitter_notify
@@ -125,39 +92,7 @@ automation:
- wed
- thu
- fri
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
action:
- service: script.skylar_morning_greeting
- id: play_weather_report
alias: Play Weather Report
initial_state: true
trigger:
- entity_id: input_boolean.play_weather_report
from: 'Off'
platform: state
to: 'On'
action:
- service: script.turn_on
entity_id: script.weather_report
- service: script.voice_reports_off
- id: guest_mode_feedback
alias: Guest Mode Audio Feedback
trigger:
- platform: state
entity_id:
- input_boolean.guest_mode
from: 'off'
to: 'on'
action:
- service: script.jarvis_voice
data_template:
message: >
{{ [
"Guest Mode has been enabled as you requested.",
"I have switched to the system to guest mode",
"I have enabled guest mode. ",
"System Guest Mode has been enabled."
] | random }}

0
packages/disney.yaml Normal file → Executable file
View File

12
packages/events.yaml Normal file → Executable file
View File

@@ -98,6 +98,16 @@ automation:
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
- service: script.twitter_snark
- id: tweet_some_stats
alias: Tweet Some Stats
initial_state: true
trigger:
- platform: time
at: '08:00:00'
action:
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
- service: script.twitter_stats
- id: bot_info
alias: Bot Info
initial_state: true
@@ -113,7 +123,7 @@ automation:
{%- endif -%}
action:
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
- service: script.twitter_notift
- service: script.twitter_notify
data_template:
message: >-
"This is a good time to remind you that I am a bot powered by @home_assistant and configured by @thejeffreystone. Find my code at https://github.com/thejeffreystone/home-assistant-configuration"

30
packages/jarvis.yaml Normal file → Executable file
View File

@@ -24,6 +24,24 @@ automation:
"I have enabled guest mode. ",
"Guest Mode is on."
] | random }}
- id: sentry_mode_feedback
alias: Sentry Mode Audio Feedback
trigger:
- platform: state
entity_id:
- input_boolean.sentry_mode
from: 'off'
to: 'on'
action:
- service: script.jarvis_voice
data_template:
message: >
{{ [
"Sentry Mode has been enabled.",
"Anchorage House is secure.",
"I have enabled sentry mode. ",
"I am monitoring Anchorage House."
] | random }}
script:
activate_house_party_protocol:
@@ -42,14 +60,4 @@ script:
"Anchorage House has been configured for a House Party.",
"Incense has been turned on.",
"I have enabled house party protocol."
] | random }}
activate_guest_mode:
sequence:
- service: script.jarvis_voice
data_template:
message: !include ../templates/jarvis_confirmations.yaml
- delay:
seconds: 3
- service: input_boolean.turn_on
entity_id: input_boolean.guest_mode
] | random }}

0
packages/maintenance.yaml Normal file → Executable file
View File

155
packages/notify.yaml Normal file → Executable file
View File

@@ -31,6 +31,12 @@ notify:
- service: ios_jeffreystonesiphone
- service: ios_jeffreystonesipad
- service: ios_katherinestonesiphone
- name: ios_parents
platform: group
services:
- service: ios_jeffreystonesiphone
- service: ios_jeffreystonesipad
- service: ios_katherinestonesiphone
- name: jeff_ios
platform: group
services:
@@ -92,6 +98,65 @@ script:
message: >
{{ message }}
text_notify:
sequence:
- condition: state
entity_id: input_boolean.text_notifications
state: 'on'
- service_template: >
{% if who == 'jeff' %}
notify.jeff_ios
{% elif who == 'kat' %}
notify.kat_ios
{% elif who == 'skylar' %}
notify.skylar_ios
{% elif who == 'parents' %}
notify.ios_parents
{% else %}
notify.all_ios
{% endif %}
data_template:
title: '{{ title }}'
message: '{{ message }}'
#data:
# attachment:
# url: "{{ url }}"
# content-type: "{{ content_type }}"
# hide-thumbnail: false
# push:
# sound: "{{ ios_sound }}"
# badge: 0
# category: "{{ ios_category }}"
# entity_id: "{{ camera_entity }}"
text_alert:
sequence:
- service_template: >
{% if who == 'jeff' %}
notify.jeff_ios
{% elif who == 'kat' %}
notify.kat_ios
{% elif who == 'skylar' %}
notify.skylar_ios
{% elif who == 'parents' %}
notify.ios_parents
{% else %}
notify.all_ios
{% endif %}
data_template:
title: '{{ title }}'
message: '{{ message }}'
#data:
# attachment:
# url: "{{ url }}"
# content-type: "{{ content_type }}"
# hide-thumbnail: false
# push:
# sound: "{{ ios_sound }}"
# badge: 0
# category: "{{ ios_category }}"
# entity_id: "{{ camera_entity }}"
###############################################################################
# Alert Notify
# Conditions:
@@ -152,7 +217,7 @@ script:
jarvis_voice:
sequence:
- condition: template
value_template: '{{ states.input_boolean.audible_notifications.state == "on" }}'
value_template: '{{ states.binary_sensor.quiet_time.state == "off" }}'
- condition: state
entity_id: sensor.family_status
state: 'Home'
@@ -163,13 +228,12 @@ script:
{{ not is_state('media_player.hass_speaker', 'playing') }}
- service: tts.amazon_polly_say
data_template:
entity_id: media_player.hass_speaker
# entity_id: >
# {% if states.input_boolean.audible_notifications.state == 'on' %}
# media_player.hass_speaker
# {% else %}
# media_player.googlehome0715, media_player.googlehomehub3492
# {% endif %}
entity_id: >
{% if states.input_boolean.audible_notifications.state == 'on' %}
media_player.hass_speaker
{% else %}
media_player.googlehome0715, media_player.googlehomehub3492
{% endif %}
message: >-
<speak>
{{ message }}
@@ -182,9 +246,6 @@ script:
twitter_notify:
sequence:
- condition: state
entity_id: input_boolean.tweet_system
state: 'on'
- service: notify.twitter
data_template:
message: >
@@ -195,18 +256,19 @@ script:
twitter_snark:
sequence:
- condition: state
entity_id: input_boolean.tweet_snark
state: 'on'
- service: notify.twitter
data_template:
message: !include ../templates/twitter_snark.yaml
twitter_stats:
sequence:
- service: notify.twitter
data_template:
message: !include ../templates/twitter_stats.yaml
twitter_github:
sequence:
- condition: state
entity_id: input_boolean.tweet_system
state: 'on'
- service: notify.twitter
data_template:
message: >
@@ -217,9 +279,6 @@ script:
twitter_new_ha:
sequence:
- condition: state
entity_id: input_boolean.tweet_releases
state: 'on'
- service: notify.twitter
data_template:
message: !include ../templates/twitter_new_ha.yaml
@@ -263,17 +322,12 @@ script:
###############################################################################
weather_report:
sequence:
- service: script.jarvis_voice
data_template:
message: !include ../templates/jarvis_confirmations.yaml
- delay:
seconds: 3
- service: script.jarvis_voice
data_template:
message: !include ../templates/weather_report.yaml
- delay:
minutes: 5
- service: scriot.turn_off
- service: script.turn_off
entity_id: script.weather_report
###############################################################################
@@ -284,25 +338,70 @@ script:
- service: script.jarvis_voice
data_template:
message: !include ../templates/traffic_report.yaml
- delay:
minutes: 2
- service: script.turn_off
entity_id: script.traffic_report
###############################################################################
# Jeff ETA Report
# Security Report
###############################################################################
security_report:
sequence:
- service: script.jarvis_voice
data_template:
message: !include ../templates/security_report.yaml
- delay:
minutes: 2
- service: script.turn_off
entity_id: script.security_report
###############################################################################
# Jeff Traffic Reports
###############################################################################
jeff_eta_report:
sequence:
- service: script.jarvis_voice
data_template:
message: !include ../templates/jeff_eta.yaml
- delay:
minutes: 2
- service: script.turn_off
entity_id: script.jeff_eta_report
jeff_headed_home_annc:
sequence:
- service: script.jarvis_voice
data_template:
message: !include ../templates/jeff_heading_home.yaml
- delay:
minutes: 2
- service: script.turn_off
entity_id: script.jeff_headed_home_annc
###############################################################################
# Kat ETA Report
# Kat Traffic Reports
###############################################################################
kat_eta_report:
sequence:
- service: script.jarvis_voice
data_template:
message: !include ../templates/kat_eta.yaml
- delay:
minutes: 2
- service: script.turn_off
entity_id: script.kat_eta_report
kat_headed_home_annc:
sequence:
- service: script.jarvis_voice
data_template:
message: !include ../templates/kat_heading_home.yaml
- delay:
minutes: 2
- service: script.turn_off
entity_id: script.kat_headed_home_annc
###############################################################################
# Prebed Routing
###############################################################################

231
packages/presence.yaml Normal file → Executable file
View File

@@ -37,6 +37,17 @@ sensor:
{% else %}
{{ states.device_tracker.jeffreystonesiphone.state }}
{%- endif %}
jeff_driving:
friendly_name: "Jeff' Driving"
unit_of_measurement: ''
value_template: >-
{%- if states.device_tracker.life360_jeffrey_stone.attributes.moving == True %}
on
{% elif states.device_tracker.life360_jeffrey_stone.attributes.driving == True %}
on
{% else %}
off
{% endif %}
- platform: template
sensors:
skylar_location:
@@ -79,6 +90,19 @@ sensor:
{% else %}
{{ states.device_tracker.katherinestonesiphone.state }}
{%- endif %}
- platform: template
sensors:
kat_driving:
friendly_name: "Kat Driving"
unit_of_measurement: ''
value_template: >-
{%- if states.device_tracker.life360_kat_stone.attributes.moving == True %}
'on'
{% elif states.device_tracker.life360_kat_stone.attributes.driving == True %}
'on'
{% else %}
'off'
{% endif %}
- platform: mqtt
name: "Family Status"
state_topic: "house/family/status"
@@ -107,3 +131,210 @@ sensor:
or is_state('device_tracker.katherinestonesiphone', 'home')
or is_state('device_tracker.life360_kat_stone', 'home')
or is_state('sensor.family_status', 'Home') }}
automation:
- id: kat_arrives_zoo
alias: Kat Arrives at Zoo
initial_state: true
trigger:
- platform: zone
event: enter
zone: zone.zoo_atlanta
entity_id: device_tracker.katherinestonesiphone
action:
- service: input_boolean.turn_off
entity_id: input_boolean.kat_travel_monitor
- service: script.jarvis_voice
data_template:
message: !include ../templates/kat_arrived_at_work.yaml
- id: kat_leaves_zoo
alias: Kat Leaves Zoo Notification
initial_state: true
trigger:
- platform: zone
event: leave
zone: zone.zoo_atlanta
entity_id: device_tracker.katherinestonesiphone
condition:
action:
- service: input_boolean.turn_on
entity_id: input_boolean.kat_travel_monitor
- id: '1550109528753'
alias: Jeff Is Heading Home
initial_state: true
trigger:
- platform: webhook
webhook_id: jeff_heading_home
condition: []
action:
- service: script.jeff_destination_home
- id: family_has_arrived
alias: Family Has arrived
trigger:
- entity_id: sensor.family_status
from: Away
platform: state
to: Home
- entity_id: device_tracker.jeffreystonesiphone
event: enter
platform: zone
zone: zone.home
- entity_id: device_tracker.katherinestonesiphone
event: enter
platform: zone
zone: zone.home
- entity_id: binary_sensor.jeffrey_presence
from: 'Off'
platform: state
to: 'On'
- entity_id: binary_sensor.kat_presence
from: 'Off'
platform: state
to: 'On'
- entity_id: device_tracker.hass_jeffsiphone
event: enter
platform: zone
zone: zone.home
condition:
- condition: state
entity_id: sensor.family_status
state: Away
action:
- service: script.vacation_canceled
- service: script.appliances_on
- service: script.standby
- service: script.washer_finished_notification_audible
initial_state: true
- id: family_has_left
alias: Family Has Left
initial_state: true
trigger:
- entity_id: sensor.family_status
from: Home
platform: state
to: Away
condition:
- condition: state
entity_id: input_boolean.guest_mode
state: 'off'
action:
- service: script.appliances_off
- service: script.inside_all_off
- service: script.security_check_garage
- service: script.security_check_zones
- service: script.lockdown
- service: script.lockdown_issue
- service: script.all_fans_off
- id: jeff_is_home
alias: Jeff is Home
initial_state: true
trigger:
- entity_id: device_tracker.jeffreystonesiphone
event: enter
platform: zone
zone: zone.home
# - entity_id: person.jeffrey
# event: enter
# platform: zone
# zone: zone.home
action:
- service: script.family_is_home
- service: script.jeff_is_home
- service: script.jeff_destination_na
- service: script.driveway_on
- entity_id: input_boolean.jeff_travel_monitor
service: input_boolean.turn_off
- id: jeff_arrives_summit
alias: Jeff Arrives At Summit
trigger:
- entity_id: device_tracker.jeffreystonesiphone
event: enter
platform: zone
zone: zone.summit
- entity_id: device_tracker.hass_jeffsiphone
event: enter
platform: zone
zone: zone.summit
action:
- service: script.text_notify
data:
who: "kat"
message: "Jeff has arrived at Summit"
initial_state: true
- id: jeff_arrives_summit_notification
alias: Notify Kat Jeff At Summit
trigger:
- entity_id: device_tracker.jeffreystonesiphone
event: enter
platform: zone
zone: zone.summit
- entity_id: device_tracker.hass_jeffsiphone
event: enter
platform: zone
zone: zone.summit
action:
- service: script.jeff_destination_na
initial_state: true
- id: jeff_leaves_summit
alias: Jeff Leaves Summit
initial_state: true
trigger:
- entity_id: device_tracker.jeffreystonesiphone
event: leave
platform: zone
zone: zone.summit
action:
- service: input_boolean.turn_off
entity_id: input_boolean.jeff_traffic_alert_home
- id: kat_is_home
alias: Kat is Home
initial_state: true
trigger:
- entity_id: device_tracker.katherinestonesiphone
event: enter
platform: zone
zone: zone.home
- entity_id: person.katherine
event: enter
platform: zone
zone: zone.home
action:
- service: script.family_is_home
- service: script.driveway_on
- service: input_boolean.turn_off
entity_id: input_boolean.kat_travel_monitor
- id: annc_arrival_jeff
alias: 'Announce Jeff Arrived'
trigger:
- platform: state
entity_id:
- device_tracker.jeffreystonesiphone
from: 'not_home'
to: 'home'
condition:
- condition: state
entity_id: sensor.family_status
state: Home
action:
- service: script.jarvis_voice
data_template:
message: !include ../templates/jeff_home_annc.yaml
- id: annc_arrival_kat
alias: 'Announce Kat Arrived'
trigger:
- platform: state
entity_id:
- device_tracker.katherinestonesiphone
from: 'not_home'
to: 'home'
condition:
- condition: state
entity_id: sensor.family_status
state: Home
action:
- service: script.jarvis_voice
data_template:
message: !include ../templates/kat_home_annc.yaml

209
packages/security.yaml Normal file → Executable file
View File

@@ -138,15 +138,64 @@ automation:
- service: shell_command.door_chime
initial_state: true
- id: door_opened_long
alias: Door Opened Too Long
trigger:
- platform: state
entity_id:
- binary_sensor.front_door
- binary_sensor.laundry_room_door
- binary_sensor.attic_door
- binary_sensor.back_door
from: 'off'
to: 'on'
for: '00:01:00'
condition:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
action:
- service: script.jarvis_voice
data_template:
message: "I thought you might like to know, the {{ trigger.to_state.attributes.friendly_name }} has been standing open for more than a minute."
initial_state: true
- id: garage_opened_night
alias: Garage Opened at Night
trigger:
- platform: state
entity_id: group.garage_doors
from: 'off'
to: 'on'
condition:
- condition: state
entity_id: sun.sun
state: below_horizon
action:
- service: script.driveway_on
initial_state: true
- id: garage_closed
alias: Garage Opened at Night
trigger:
- platform: state
entity_id: group.garage_doors
from: 'on'
to: 'off'
action:
- service: script.driveway_off
initial_state: true
- id: security_breach_door
alias: Security Breach Doors
trigger:
- platform: state
entity_id:
- binary_sensor.front_door_contact_2
- binary_sensor.laundry_room_door_contact_2
- binary_sensor.attic_door_contact_2
- binary_sensor.back_door_contact_2
- binary_sensor.front_door
- binary_sensor.laundry_room_door
- binary_sensor.back_door
- binary_sensor.side_door
- binary_sensor.garage_door
from: 'off'
condition:
- condition: state
@@ -155,11 +204,52 @@ automation:
action:
- service: script.jarvis_notify
data_template:
message: "The {{ trigger.to_state.attributes.friendly_name }} has been opened."
message: "My security protocols are being overidden,, The {{ trigger.to_state.attributes.friendly_name }} has been opened."
- service: script.text_alert
data_template:
title: "Security Alert!!"
message: "{{ trigger.to_state.attributes.friendly_name }} has been opened."
- service: input_boolean.turn_on
entity_id: input_boolean.security_issue
initial_state: true
- id: sentry_mode_enabled
alias: Sentry Mode Enabled Annoucement
initial_state: true
trigger:
- platform: state
entity_id: input_boolean.sentry_mode
from: 'off'
to: 'on'
action:
- service: script.jarvis_voice
data:
message: >
{{ [
"Barn door protocol has been activated.",
"Anchorage House has been secured! ",
"Sentry Mode is active. ",
"I am now monitoring the doors and will let you know if anyone attempts to access."
] | random }}
- id: sentry_mode_disabled
alias: Sentry Mode Disabled Annoucement
initial_state: true
trigger:
- platform: state
entity_id: input_boolean.sentry_mode
from: 'on'
to: 'off'
action:
- service: script.jarvis_voice
data:
message: >
{{ [
"Barn door protocol has been deactivated.",
"I am no longer monitoring the access points. ",
"Sentry Mode has been switched off. "
] | random }}
script:
lockdown_issue:
sequence:
@@ -171,6 +261,10 @@ script:
state: "Away"
- service: input_boolean.turn_on
entity_id: input_boolean.lockdown_issue
- service: script.text_notify
data_template:
title: "Lockdown Issue!"
message: "Doors are open and it appears everyone has left!"
security_check_garage:
sequence:
@@ -205,18 +299,17 @@ script:
entity_id: input_boolean.sentry_mode
- service: input_boolean.turn_off
entity_id: input_boolean.security_issue
- service: input_boolean.turn_off
entity_id: input_boolean.lockdown_issue
- service: input_boolean.turn_off
entity_id: input_boolean.security_alarm
visitors_here:
sequence:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
- service: input_boolean.turn_on
data:
entity_id: input_boolean.guest_mode
- service: shell_command.haunted_guest_welcome
#- service: shell_command.haunted_guest_welcome
visitors_gone:
sequence:
@@ -228,48 +321,74 @@ script:
sequence:
- service: shell_command.security_alarm
# notification_sentry_mode_activated_audio:
# sequence:
# - condition: state
# entity_id: input_boolean.audible_notifications
# state: 'on'
# - condition: state
# entity_id: media_player.hass_speaker
# state: 'idle'
# - service: tts.google_say
# entity_id: media_player.hass_speaker
# data_template:
# message: "Sentry mode activated"
notification_sentry_mode_activated_audio:
sequence:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
- condition: state
entity_id: media_player.hass_speaker
state: 'idle'
- service: tts.google_say
entity_id: media_player.hass_speaker
data_template:
message: "Sentry mode activated"
notification_sentry_mode_deactivated_audio:
sequence:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
- condition: state
entity_id: media_player.hass_speaker
state: 'idle'
- service: tts.google_say
entity_id: media_player.hass_speaker
data_template:
message: "Sentry mode deactivated"
# notification_sentry_mode_deactivated_audio:
# sequence:
# - condition: state
# entity_id: input_boolean.audible_notifications
# state: 'on'
# - condition: state
# entity_id: media_player.hass_speaker
# state: 'idle'
# - service: tts.google_say
# entity_id: media_player.hass_speaker
# data_template:
# message: "Sentry mode deactivated"
notification_sentry_mode_deactiviated_text:
sequence:
- service: notify.jeff_ios
data:
message: Sentry Mode Deactivated
# notification_sentry_mode_deactiviated_text:
# sequence:
# - service: notify.jeff_ios
# data:
# message: Sentry Mode Deactivated
notification_sentry_mode_activiated_text:
sequence:
- service: notify.jeff_ios
data:
message: Sentry Mode Activated
# notification_sentry_mode_activiated_text:
# sequence:
# - service: notify.jeff_ios
# data:
# message: Sentry Mode Activated
vacation_canceled:
sequence:
- data:
entity_id: input_boolean.vacation_mode
service: input_boolean.turn_off
activate_barn_door_protocol:
sequence:
- service: script.jarvis_voice
data_template:
message: !include ../templates/jarvis_confirmations.yaml
- service: input_boolean.turn_on
entity_id: input_boolean.sentry_mode
deactivate_barn_door_protocol:
sequence:
- service: script.jarvis_voice
data_template:
message: !include ../templates/jarvis_confirmations.yaml
- service: input_boolean.turn_off
entity_id: input_boolean.sentry_mode
activate_guest_mode:
sequence:
- service: script.jarvis_voice
data_template:
message: !include ../templates/jarvis_confirmations.yaml
- delay:
seconds: 2
- service: input_boolean.turn_on
entity_id: input_boolean.guest_mode

4
packages/space.yaml Normal file → Executable file
View File

@@ -81,10 +81,6 @@ automation:
- binary_sensor.iss
to: 'on'
from: 'off'
condition:
- condition: state
entity_id: input_boolean.audible_notifications
state: 'on'
action:
- service: script.jarvis_voice
data_template:

0
packages/sysmon.yaml Normal file → Executable file
View File

40
packages/usps.yaml Normal file → Executable file
View File

@@ -40,10 +40,6 @@ automation:
at: '00:00:10'
action:
- service: shell_command.usps
- service: script.add_logbook_entry
data_template:
name: USPS
message: Reset Mail Count
- id: get_usps
initial_state: true
@@ -53,10 +49,6 @@ automation:
at: '10:00:00'
action:
- service: shell_command.usps
- service: script.add_logbook_entry
data_template:
name: USPS
message: Checking for mail
# Notify USPS mails via TTS, and iOS notification with attachment
###############################################################################
@@ -72,7 +64,12 @@ automation:
- condition: template
value_template: '{{ ((now().hour | int) > 7) and ((now().hour | int) < 16) }}'
action:
- service: script.voice_notify
- service: script.jarvis_voice
data_template:
message: !include ../templates/jarvis_interuptions.yaml
- delay:
seconds: 2
- service: script.jarvis_notify
data_template:
message: >
{%- if states.sensor.usps_mail.state | int == 1 -%}
@@ -80,16 +77,18 @@ automation:
{%- else -%}
USPS is delivering {{ states.sensor.usps_mail.state }} pieces of mail today.
{%- endif -%}
- service: notify.jeff_ios
- service: script.text_notify
data_template:
who: "jeff"
title: "USPS Delivering Today"
message: "USPS will be delivering {{ states.sensor.usps_mail.state }} piece(s) of mail today."
data:
push:
category: camera
entity_id: "camera.usps_mail_pictures"
attachment:
url: "{{ states.camera.usps_mail_pictures.attributes.entity_picture }}"
content-type: jpg
# data:
# push:
# category: camera
# entity_id: "camera.usps_mail_pictures"
# attachment:
# url: "{{ states.camera.usps_mail_pictures.attributes.entity_picture }}"
# content-type: jpg
# Notify USPS packages via TTS. Usually there are no pictures for packages
###############################################################################
@@ -105,7 +104,12 @@ automation:
- condition: template
value_template: '{{ ((now().hour | int) > 7) and ((now().hour | int) < 16) }}'
action:
- service: script.voice_notify
- service: script.jarvis_voice
data_template:
message: !include ../templates/jarvis_interuptions.yaml
- delay:
seconds: 2
- service: script.jarvis_notify
data_template:
message: >
{%- if states.sensor.usps_packages.state | int == 1 -%}

21
packages/weather_alerts_nws.yaml Normal file → Executable file
View File

@@ -86,8 +86,9 @@ automation:
- condition: template
value_template: '{{ trigger.to_state.state|float > trigger.from_state.state|float }}'
action:
- service: notify.jeff_ios
- service: script.text_notify
data_template:
title: "Weather Alert for Anchorage House"
message: >
{% if states.sensor.nws_alerts.attributes.title.split(' - ')[5] is defined %}
"NWS: {{ states.sensor.nws_alerts.attributes.title.split(' - ')[5] }}"
@@ -185,9 +186,10 @@ automation:
- delay: '00:00:15'
- service: input_boolean.turn_on
entity_id: input_boolean.tornado_alarm
- service: script.text_notify_all
- service: script.text_alert
data_template:
message: "Attention!,,,Attention!,,,The National Weather Service Has issued a Tornado Warning for our area."
title: "Tornado Warning!"
message: "The National Weather Service Has issued a Tornado Warning for our area."
- alias: Activate Tornado alarm
initial_state: 'on'
@@ -214,6 +216,19 @@ automation:
action:
- service: media_player.media_stop
entity_id: media_player.hass_speaker
- id: play_weather_report
alias: Play Weather Report
initial_state: true
trigger:
- entity_id: input_boolean.play_weather_report
from: 'Off'
platform: state
to: 'On'
action:
- service: script.turn_on
entity_id: script.weather_report
- service: script.voice_reports_off
script:
nws_popup_on_wx_alert:

0
packages/weekday.yaml Normal file → Executable file
View File

View File

@@ -1,171 +0,0 @@
###############################################################################
# @author : Jeffrey Stone
# @date : 02/19/2019
# @package : Zigbee2mqtt
# @description : Zigbee2mqtt Config
###############################################################################
# Group
group:
zigbee_group:
view: false
control: hidden
name: Zigbee2mqtt
entities:
- input_boolean.zigbee_permit_join
- timer.zigbee_permit_join
- sensor.zigbee2mqtt_bridge_state
- switch.zigbee2mqtt_main_join
- automation.enable_zigbee_joining
- automation.disable_zigbee_joining
- automation.disable_zigbee_joining_by_timer
- input_select.zigbee2mqtt_log_level
- automation.zigbee2mqtt_log_level
# Input select for Zigbee2mqtt debug level
input_select:
zigbee2mqtt_log_level:
name: Zigbee2mqtt Log Level
options:
- debug
- info
- warn
- error
initial: info
icon: mdi:format-list-bulleted
# Input boolean for enabling/disabling joining
input_boolean:
zigbee_permit_join:
name: Allow devices to join
initial: off
icon: mdi:cellphone-wireless
# Timer for joining time remaining (120 sec = 2 min)
timer:
zigbee_permit_join:
name: Time remaining
duration: 120
# Sensor for monitoring the bridge state
sensor:
- platform: mqtt
name: Zigbee2mqtt Bridge state
state_topic: "zigbee2mqtt/bridge/state"
icon: mdi:router-wireless
- platform: "mqtt"
name: "towerlight"
state_topic: "zigbee2mqtt/tower lamp"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "-"
value_template: "{{ value_json.linkquality }}"
- platform: "mqtt"
state_topic: "zigbee2mqtt/rainbow light"
availability_topic: "zigbee2mqtt/bridge/state"
unit_of_measurement: "-"
value_template: "{{ value_json.linkquality }}"
# Switch for enabling joining
switch:
- platform: mqtt
name: "Zigbee2mqtt Main join"
state_topic: "zigbee2mqtt/bridge/config/permit_join"
command_topic: "zigbee2mqtt/bridge/config/permit_join"
payload_on: "true"
payload_off: "false"
- platform: "mqtt"
name: "rainbowlight"
state_topic: "zigbee2mqtt/rainbow light"
availability_topic: "zigbee2mqtt/bridge/state"
payload_off: "OFF"
payload_on: "ON"
value_template: "{{ value_json.state }}"
command_topic: "zigbee2mqtt/rainbow light/set"
# Automations
automation:
- alias: Zigbee2mqtt Log Level
initial_state: 'on'
trigger:
- platform: state
entity_id: input_select.zigbee2mqtt_log_level
to: debug
- platform: state
entity_id: input_select.zigbee2mqtt_log_level
to: warn
- platform: state
entity_id: input_select.zigbee2mqtt_log_level
to: error
- platform: state
entity_id: input_select.zigbee2mqtt_log_level
to: info
action:
- service: mqtt.publish
data:
payload_template: '{{ states(''input_select.zigbee2mqtt_log_level'') }}'
topic: zigbee2mqtt/bridge/config/log_level
- id: enable_zigbee_join
alias: Enable Zigbee joining
hide_entity: true
trigger:
platform: state
entity_id: input_boolean.zigbee_permit_join
to: 'on'
action:
- service: mqtt.publish
data:
topic: zigbee2mqtt/bridge/config/permit_join
payload: 'true'
- service: timer.start
data:
entity_id: timer.zigbee_permit_join
- id: disable_zigbee_join
alias: Disable Zigbee joining
hide_entity: true
trigger:
- entity_id: input_boolean.zigbee_permit_join
platform: state
to: 'off'
action:
- data:
payload: 'false'
topic: zigbee2mqtt/bridge/config/permit_join
service: mqtt.publish
- data:
entity_id: timer.zigbee_permit_join
service: timer.cancel
- id: disable_zigbee_join_timer
alias: Disable Zigbee joining by timer
hide_entity: true
trigger:
- platform: event
event_type: timer.finished
event_data:
entity_id: timer.zigbee_permit_join
action:
- service: mqtt.publish
data:
topic: zigbee2mqtt/bridge/config/permit_join
payload: 'false'
- service: input_boolean.turn_off
data:
entity_id: input_boolean.zigbee_permit_join
light:
- platform: "mqtt"
name: "towerlamp"
state_topic: "zigbee2mqtt/tower lamp"
availability_topic: "zigbee2mqtt/bridge/state"
brightness: true
color_temp: true
xy: true
schema: "json"
command_topic: "zigbee2mqtt/tower lamp/set"