Initial Commit
This commit is contained in:
173
.gitattributes
vendored
Normal file
173
.gitattributes
vendored
Normal file
@ -0,0 +1,173 @@
|
|||||||
|
## GITATTRIBUTES FOR WEB PROJECTS
|
||||||
|
#
|
||||||
|
# These settings are for any web project.
|
||||||
|
#
|
||||||
|
# Details per file setting:
|
||||||
|
# text These files should be normalized (i.e. convert CRLF to LF).
|
||||||
|
# binary These files are binary and should be left untouched.
|
||||||
|
#
|
||||||
|
# Note that binary is a macro for -text -diff.
|
||||||
|
######################################################################
|
||||||
|
|
||||||
|
## AUTO-DETECT - Handle line endings automatically for files detected
|
||||||
|
## as text and leave all files detected as binary untouched.
|
||||||
|
## This will handle all files NOT defined below.
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
## SOURCE CODE
|
||||||
|
*.bat text
|
||||||
|
*.coffee text
|
||||||
|
*.css text
|
||||||
|
*.htm text
|
||||||
|
*.html text
|
||||||
|
*.inc text
|
||||||
|
*.ini text
|
||||||
|
*.js text
|
||||||
|
*.jsx text
|
||||||
|
*.json text
|
||||||
|
*.less text
|
||||||
|
*.php text
|
||||||
|
*.pl text
|
||||||
|
*.py text
|
||||||
|
*.rb text
|
||||||
|
*.sass text
|
||||||
|
*.scm text
|
||||||
|
*.scss text
|
||||||
|
*.sh text
|
||||||
|
*.sql text
|
||||||
|
*.styl text
|
||||||
|
*.ts text
|
||||||
|
*.xml text
|
||||||
|
*.xhtml text
|
||||||
|
|
||||||
|
## DOCUMENTATION
|
||||||
|
*.markdown text
|
||||||
|
*.md text
|
||||||
|
*.mdwn text
|
||||||
|
*.mdown text
|
||||||
|
*.mkd text
|
||||||
|
*.mkdn text
|
||||||
|
*.mdtxt text
|
||||||
|
*.mdtext text
|
||||||
|
*.txt text
|
||||||
|
AUTHORS text
|
||||||
|
CHANGELOG text
|
||||||
|
CHANGES text
|
||||||
|
CONTRIBUTING text
|
||||||
|
COPYING text
|
||||||
|
INSTALL text
|
||||||
|
license text
|
||||||
|
LICENSE text
|
||||||
|
NEWS text
|
||||||
|
readme text
|
||||||
|
*README* text
|
||||||
|
TODO text
|
||||||
|
|
||||||
|
## TEMPLATES
|
||||||
|
*.dot text
|
||||||
|
*.ejs text
|
||||||
|
*.haml text
|
||||||
|
*.handlebars text
|
||||||
|
*.hbs text
|
||||||
|
*.hbt text
|
||||||
|
*.jade text
|
||||||
|
*.latte text
|
||||||
|
*.mustache text
|
||||||
|
*.phtml text
|
||||||
|
*.tmpl text
|
||||||
|
|
||||||
|
## LINTERS
|
||||||
|
.csslintrc text
|
||||||
|
.eslintrc text
|
||||||
|
.jscsrc text
|
||||||
|
.jshintrc text
|
||||||
|
.jshintignore text
|
||||||
|
.stylelintrc text
|
||||||
|
|
||||||
|
## CONFIGS
|
||||||
|
*.bowerrc text
|
||||||
|
*.cnf text
|
||||||
|
*.conf text
|
||||||
|
*.config text
|
||||||
|
.editorconfig text
|
||||||
|
.gitattributes text
|
||||||
|
.gitconfig text
|
||||||
|
.gitignore text
|
||||||
|
.htaccess text
|
||||||
|
*.npmignore text
|
||||||
|
*.yaml text
|
||||||
|
*.yml text
|
||||||
|
Makefile text
|
||||||
|
makefile text
|
||||||
|
|
||||||
|
## HEROKU
|
||||||
|
Procfile text
|
||||||
|
.slugignore text
|
||||||
|
|
||||||
|
## GRAPHICS
|
||||||
|
*.ai binary
|
||||||
|
*.bmp binary
|
||||||
|
*.eps binary
|
||||||
|
*.gif binary
|
||||||
|
*.ico binary
|
||||||
|
*.jng binary
|
||||||
|
*.jp2 binary
|
||||||
|
*.jpg binary
|
||||||
|
*.jpeg binary
|
||||||
|
*.jpx binary
|
||||||
|
*.jxr binary
|
||||||
|
*.pdf binary
|
||||||
|
*.png binary
|
||||||
|
*.psb binary
|
||||||
|
*.psd binary
|
||||||
|
*.svg text
|
||||||
|
*.svgz binary
|
||||||
|
*.tif binary
|
||||||
|
*.tiff binary
|
||||||
|
*.wbmp binary
|
||||||
|
*.webp binary
|
||||||
|
|
||||||
|
## AUDIO
|
||||||
|
*.kar binary
|
||||||
|
*.m4a binary
|
||||||
|
*.mid binary
|
||||||
|
*.midi binary
|
||||||
|
*.mp3 binary
|
||||||
|
*.ogg binary
|
||||||
|
*.ra binary
|
||||||
|
|
||||||
|
## VIDEO
|
||||||
|
*.3gpp binary
|
||||||
|
*.3gp binary
|
||||||
|
*.as binary
|
||||||
|
*.asf binary
|
||||||
|
*.asx binary
|
||||||
|
*.fla binary
|
||||||
|
*.flv binary
|
||||||
|
*.m4v binary
|
||||||
|
*.mng binary
|
||||||
|
*.mov binary
|
||||||
|
*.mp4 binary
|
||||||
|
*.mpeg binary
|
||||||
|
*.mpg binary
|
||||||
|
*.swc binary
|
||||||
|
*.swf binary
|
||||||
|
*.webm binary
|
||||||
|
|
||||||
|
## ARCHIVES
|
||||||
|
*.7z binary
|
||||||
|
*.gz binary
|
||||||
|
*.rar binary
|
||||||
|
*.tar binary
|
||||||
|
*.zip binary
|
||||||
|
|
||||||
|
## FONTS
|
||||||
|
*.ttf binary
|
||||||
|
*.eot binary
|
||||||
|
*.otf binary
|
||||||
|
*.woff binary
|
||||||
|
*.woff2 binary
|
||||||
|
|
||||||
|
## EXECUTABLES
|
||||||
|
*.exe binary
|
||||||
|
*.pyc binary
|
62
.gitignore
vendored
Normal file
62
.gitignore
vendored
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
# ignore hidden folders
|
||||||
|
/.storage
|
||||||
|
/.cloud
|
||||||
|
/.google.token
|
||||||
|
|
||||||
|
# ignore some directories.
|
||||||
|
/icloud/
|
||||||
|
/www/
|
||||||
|
/tts/
|
||||||
|
/deps/
|
||||||
|
/hadashboards/
|
||||||
|
/intents/
|
||||||
|
/themes/
|
||||||
|
/custom_components
|
||||||
|
/deps
|
||||||
|
/hacs
|
||||||
|
/image
|
||||||
|
/node-red
|
||||||
|
|
||||||
|
|
||||||
|
# ignore any of these files no matter where they are using double *
|
||||||
|
**.DS_Store
|
||||||
|
**._*
|
||||||
|
**.HA_VERSION
|
||||||
|
**.pyc
|
||||||
|
**.conf
|
||||||
|
**.uuid
|
||||||
|
**.txt
|
||||||
|
**.log
|
||||||
|
**.db
|
||||||
|
**.sqlite
|
||||||
|
**.xml
|
||||||
|
**secrets*
|
||||||
|
**known_devices.yaml
|
||||||
|
**google_calendars.yaml
|
||||||
|
**ip_bans.yaml
|
||||||
|
**.spotify-token-cache
|
||||||
|
**zones.yaml
|
||||||
|
**test.yaml
|
||||||
|
**testing.yaml
|
||||||
|
**.homekit*
|
||||||
|
**.vscode
|
||||||
|
**.pid
|
||||||
|
**.xml
|
||||||
|
**.csr
|
||||||
|
**.crt
|
||||||
|
**.key
|
||||||
|
**core.*
|
||||||
|
**OZW_Log.txt
|
||||||
|
**home-assistant.log
|
||||||
|
**home-assistant_v2.db
|
||||||
|
**.db-journal
|
||||||
|
**.db-shm
|
||||||
|
**.db-wal
|
||||||
|
**.sqlite
|
||||||
|
**__pycache__
|
||||||
|
**phue.conf
|
||||||
|
**ios.conf
|
||||||
|
**pyozw.sqlite
|
||||||
|
**ipchange.yaml
|
||||||
|
**production_auth.json
|
||||||
|
**.log*
|
247
automations.yaml
Normal file
247
automations.yaml
Normal file
@ -0,0 +1,247 @@
|
|||||||
|
- id: '1640833273099'
|
||||||
|
alias: NWS Announce Weather Alert for Tornado
|
||||||
|
description: ''
|
||||||
|
trigger:
|
||||||
|
- platform: numeric_state
|
||||||
|
entity_id: sensor.weatheralerts_1_active_alerts
|
||||||
|
attribute: tornado_warning_count
|
||||||
|
above: '0'
|
||||||
|
condition: []
|
||||||
|
action:
|
||||||
|
- service: switch.turn_off
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- switch.adaptive_lighting_basement_studio
|
||||||
|
- switch.adaptive_lighting_kallen_bedroom
|
||||||
|
- switch.adaptive_lighting_living_room
|
||||||
|
- switch.adaptive_lighting_master_bedroom
|
||||||
|
- switch.adaptive_lighting_mud_room
|
||||||
|
- switch.adaptive_lighting_nursery
|
||||||
|
- switch.adaptive_lighting_upstairs_hallway
|
||||||
|
- service: scene.turn_on
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- scene.basement_studio_bright
|
||||||
|
- scene.front_porch_bright
|
||||||
|
- scene.furnace_room_bright
|
||||||
|
- scene.kallen_bedroom_bright
|
||||||
|
- scene.living_room_bright
|
||||||
|
- scene.master_bedroom_bright
|
||||||
|
- scene.mud_room_bright
|
||||||
|
- scene.nursery_bright
|
||||||
|
- scene.upstairs_hallway_bright
|
||||||
|
- service: notify.notify
|
||||||
|
data:
|
||||||
|
title: Tornado Warning - TAKE COVER!
|
||||||
|
message: The National Weather Service has issued a Tornado Warning for our area.
|
||||||
|
Take Cover NOW!!!!
|
||||||
|
- service: notify.alexa_media
|
||||||
|
data:
|
||||||
|
data:
|
||||||
|
method: all
|
||||||
|
type: announce
|
||||||
|
message: A tornado warning has been issued, please take cover immediately! A
|
||||||
|
tornado warning has been issued, please take cover immediately! A tornado
|
||||||
|
warning has been issued, please take cover immediately!
|
||||||
|
target: Living Room Echo Dot, Basement Echo Dot
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 1
|
||||||
|
seconds: 0
|
||||||
|
milliseconds: 0
|
||||||
|
- service: notify.alexa_media
|
||||||
|
data:
|
||||||
|
data:
|
||||||
|
method: all
|
||||||
|
type: announce
|
||||||
|
message: A tornado warning has been issued, please take cover immediately! A
|
||||||
|
tornado warning has been issued, please take cover immediately! A tornado
|
||||||
|
warning has been issued, please take cover immediately!
|
||||||
|
target: Living Room Echo Dot, Basement Echo Dot
|
||||||
|
mode: single
|
||||||
|
- id: '1640916845901'
|
||||||
|
alias: Cast to Chromecast
|
||||||
|
description: ''
|
||||||
|
use_blueprint:
|
||||||
|
path: kind3r/cast-and-re-cast-a-lovelace-view-to-a-google-hub.yaml
|
||||||
|
input:
|
||||||
|
dashboard: lovelace
|
||||||
|
player: media_player.living_room_tv
|
||||||
|
view: chromecast
|
||||||
|
- id: '1640989510134'
|
||||||
|
alias: New Years
|
||||||
|
description: Flash lights for New Years
|
||||||
|
trigger:
|
||||||
|
- platform: time
|
||||||
|
at: 00:00:00
|
||||||
|
condition: []
|
||||||
|
action:
|
||||||
|
- service: light.turn_off
|
||||||
|
target:
|
||||||
|
area_id:
|
||||||
|
- basement_studio
|
||||||
|
- furnace_room
|
||||||
|
- kallen_bedroom
|
||||||
|
- living_room
|
||||||
|
- master_bedroom
|
||||||
|
- mud_room
|
||||||
|
- nursery
|
||||||
|
- upstairs_hallway
|
||||||
|
- service: switch.turn_off
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- switch.adaptive_lighting_basement_studio
|
||||||
|
- switch.adaptive_lighting_kallen_bedroom
|
||||||
|
- switch.adaptive_lighting_living_room
|
||||||
|
- switch.adaptive_lighting_master_bedroom
|
||||||
|
- switch.adaptive_lighting_mud_room
|
||||||
|
- switch.adaptive_lighting_nursery
|
||||||
|
- switch.adaptive_lighting_upstairs_hallway
|
||||||
|
- service: notify.alexa_media
|
||||||
|
data:
|
||||||
|
target: Living Room Echo Dot
|
||||||
|
message: Happy new year! Here's to 2022!
|
||||||
|
data:
|
||||||
|
method: all
|
||||||
|
type: announce
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 2
|
||||||
|
milliseconds: 0
|
||||||
|
- service: light.turn_on
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- light.hallway_overhead
|
||||||
|
- light.kallen_bedroom_light
|
||||||
|
- light.living_room_overhead_1
|
||||||
|
- light.living_room_overhead_2
|
||||||
|
- light.master_bedroom_front
|
||||||
|
- light.master_bedroom_side
|
||||||
|
- light.mud_room_overhead
|
||||||
|
- light.nursery_light
|
||||||
|
data:
|
||||||
|
flash: long
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 15
|
||||||
|
milliseconds: 0
|
||||||
|
- service: light.turn_off
|
||||||
|
target:
|
||||||
|
area_id:
|
||||||
|
- basement_studio
|
||||||
|
- furnace_room
|
||||||
|
- kallen_bedroom
|
||||||
|
- living_room
|
||||||
|
- master_bedroom
|
||||||
|
- mud_room
|
||||||
|
- nursery
|
||||||
|
- upstairs_hallway
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 1
|
||||||
|
milliseconds: 500
|
||||||
|
- service: switch.turn_on
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- switch.adaptive_lighting_basement_studio
|
||||||
|
- switch.adaptive_lighting_kallen_bedroom
|
||||||
|
- switch.adaptive_lighting_living_room
|
||||||
|
- switch.adaptive_lighting_master_bedroom
|
||||||
|
- switch.adaptive_lighting_mud_room
|
||||||
|
- switch.adaptive_lighting_nursery
|
||||||
|
- switch.adaptive_lighting_upstairs_hallway
|
||||||
|
- delay:
|
||||||
|
hours: 0
|
||||||
|
minutes: 0
|
||||||
|
seconds: 1
|
||||||
|
milliseconds: 500
|
||||||
|
- service: light.turn_on
|
||||||
|
target:
|
||||||
|
area_id:
|
||||||
|
- living_room
|
||||||
|
- mud_room
|
||||||
|
mode: single
|
||||||
|
- id: '1641101491581'
|
||||||
|
alias: Family Has Arrived
|
||||||
|
description: Runs when family arrives at home
|
||||||
|
trigger:
|
||||||
|
- platform: zone
|
||||||
|
entity_id: person.christina_stork
|
||||||
|
zone: zone.home
|
||||||
|
event: enter
|
||||||
|
- platform: zone
|
||||||
|
entity_id: person.tony_stork
|
||||||
|
zone: zone.home
|
||||||
|
event: enter
|
||||||
|
- platform: state
|
||||||
|
entity_id: input_boolean.family_is_home
|
||||||
|
from: 'off'
|
||||||
|
to: 'on'
|
||||||
|
condition:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.family_is_home
|
||||||
|
state: 'off'
|
||||||
|
- condition: state
|
||||||
|
entity_id: binary_sensor.night
|
||||||
|
state: 'on'
|
||||||
|
action:
|
||||||
|
- service: input_boolean.turn_on
|
||||||
|
target:
|
||||||
|
entity_id: input_boolean.family_is_home
|
||||||
|
- service: alarm_control_panel.alarm_disarm
|
||||||
|
target:
|
||||||
|
entity_id: alarm_control_panel.alexa_guard_9ee3b
|
||||||
|
- service: light.turn_on
|
||||||
|
target:
|
||||||
|
area_id:
|
||||||
|
- living_room
|
||||||
|
- mud_room
|
||||||
|
data: {}
|
||||||
|
- service: light.turn_off
|
||||||
|
target:
|
||||||
|
area_id:
|
||||||
|
- furnace_room
|
||||||
|
- kallen_bedroom
|
||||||
|
- nursery
|
||||||
|
- master_bedroom
|
||||||
|
- upstairs_hallway
|
||||||
|
- basement_studio
|
||||||
|
mode: single
|
||||||
|
- id: '1641102018783'
|
||||||
|
alias: Family Has Left
|
||||||
|
description: Runs when the family has left home
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id: group.family
|
||||||
|
from: home
|
||||||
|
to: not_home
|
||||||
|
- platform: state
|
||||||
|
entity_id: input_boolean.family_is_home
|
||||||
|
from: 'on'
|
||||||
|
to: 'off'
|
||||||
|
condition:
|
||||||
|
- condition: state
|
||||||
|
entity_id: input_boolean.family_is_home
|
||||||
|
state: 'on'
|
||||||
|
action:
|
||||||
|
- service: input_boolean.turn_off
|
||||||
|
target:
|
||||||
|
entity_id: input_boolean.family_is_home
|
||||||
|
- service: light.turn_off
|
||||||
|
target:
|
||||||
|
area_id:
|
||||||
|
- basement_studio
|
||||||
|
- furnace_room
|
||||||
|
- kallen_bedroom
|
||||||
|
- living_room
|
||||||
|
- master_bedroom
|
||||||
|
- mud_room
|
||||||
|
- nursery
|
||||||
|
- upstairs_hallway
|
||||||
|
- service: alarm_control_panel.alarm_arm_away
|
||||||
|
target:
|
||||||
|
entity_id: alarm_control_panel.alexa_guard_9ee3b
|
||||||
|
mode: single
|
9
binary_sensor.yaml
Normal file
9
binary_sensor.yaml
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
- platform: workday
|
||||||
|
country: US
|
||||||
|
province: OH
|
||||||
|
workdays: [mon, tue, wed, thu, fri]
|
||||||
|
- platform: tod
|
||||||
|
name: Night
|
||||||
|
after: sunset
|
||||||
|
after_offset: "-00:30"
|
||||||
|
before: sunrise
|
54
blueprints/automation/homeassistant/motion_light.yaml
Normal file
54
blueprints/automation/homeassistant/motion_light.yaml
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
blueprint:
|
||||||
|
name: Motion-activated Light
|
||||||
|
description: Turn on a light when motion is detected.
|
||||||
|
domain: automation
|
||||||
|
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/motion_light.yaml
|
||||||
|
input:
|
||||||
|
motion_entity:
|
||||||
|
name: Motion Sensor
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain: binary_sensor
|
||||||
|
device_class: motion
|
||||||
|
light_target:
|
||||||
|
name: Light
|
||||||
|
selector:
|
||||||
|
target:
|
||||||
|
entity:
|
||||||
|
domain: light
|
||||||
|
no_motion_wait:
|
||||||
|
name: Wait time
|
||||||
|
description: Time to leave the light on after last motion is detected.
|
||||||
|
default: 120
|
||||||
|
selector:
|
||||||
|
number:
|
||||||
|
min: 0
|
||||||
|
max: 3600
|
||||||
|
unit_of_measurement: seconds
|
||||||
|
|
||||||
|
# If motion is detected within the delay,
|
||||||
|
# we restart the script.
|
||||||
|
mode: restart
|
||||||
|
max_exceeded: silent
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: !input motion_entity
|
||||||
|
from: "off"
|
||||||
|
to: "on"
|
||||||
|
|
||||||
|
action:
|
||||||
|
- alias: "Turn on the light"
|
||||||
|
service: light.turn_on
|
||||||
|
target: !input light_target
|
||||||
|
- alias: "Wait until there is no motion from device"
|
||||||
|
wait_for_trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: !input motion_entity
|
||||||
|
from: "on"
|
||||||
|
to: "off"
|
||||||
|
- alias: "Wait the number of seconds that has been set"
|
||||||
|
delay: !input no_motion_wait
|
||||||
|
- alias: "Turn off the light"
|
||||||
|
service: light.turn_off
|
||||||
|
target: !input light_target
|
44
blueprints/automation/homeassistant/notify_leaving_zone.yaml
Normal file
44
blueprints/automation/homeassistant/notify_leaving_zone.yaml
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
blueprint:
|
||||||
|
name: Zone Notification
|
||||||
|
description: Send a notification to a device when a person leaves a specific zone.
|
||||||
|
domain: automation
|
||||||
|
source_url: https://github.com/home-assistant/core/blob/dev/homeassistant/components/automation/blueprints/notify_leaving_zone.yaml
|
||||||
|
input:
|
||||||
|
person_entity:
|
||||||
|
name: Person
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain: person
|
||||||
|
zone_entity:
|
||||||
|
name: Zone
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
domain: zone
|
||||||
|
notify_device:
|
||||||
|
name: Device to notify
|
||||||
|
description: Device needs to run the official Home Assistant app to receive notifications.
|
||||||
|
selector:
|
||||||
|
device:
|
||||||
|
integration: mobile_app
|
||||||
|
|
||||||
|
trigger:
|
||||||
|
platform: state
|
||||||
|
entity_id: !input person_entity
|
||||||
|
|
||||||
|
variables:
|
||||||
|
zone_entity: !input zone_entity
|
||||||
|
# This is the state of the person when it's in this zone.
|
||||||
|
zone_state: "{{ states[zone_entity].name }}"
|
||||||
|
person_entity: !input person_entity
|
||||||
|
person_name: "{{ states[person_entity].name }}"
|
||||||
|
|
||||||
|
condition:
|
||||||
|
condition: template
|
||||||
|
value_template: "{{ trigger.from_state.state == zone_state and trigger.to_state.state != zone_state }}"
|
||||||
|
|
||||||
|
action:
|
||||||
|
- alias: "Notify that a person has left the zone"
|
||||||
|
domain: mobile_app
|
||||||
|
type: notify
|
||||||
|
device_id: !input notify_device
|
||||||
|
message: "{{ person_name }} has left {{ zone_state }}"
|
@ -0,0 +1,75 @@
|
|||||||
|
blueprint:
|
||||||
|
name: Cast to Google Hub
|
||||||
|
description: Cast a lovelace view to a Google Hub. This tries to bypass the 10 min
|
||||||
|
timeout for the picture frame by re-casting every 9 min
|
||||||
|
domain: automation
|
||||||
|
input:
|
||||||
|
player:
|
||||||
|
name: Google Hub
|
||||||
|
description: Google Hub or Chromecast device to cast to
|
||||||
|
selector:
|
||||||
|
entity:
|
||||||
|
integration: cast
|
||||||
|
view:
|
||||||
|
name: Lovelace view path
|
||||||
|
description: Path of the view to cast. A path has to be defined in your Lovelace
|
||||||
|
YAML for each view, as outlined in the views documentation.
|
||||||
|
dashboard:
|
||||||
|
name: Lovelace dashboard
|
||||||
|
description: Path to lovelace. Defaults to 'lovelace' if empty.
|
||||||
|
default: lovelace
|
||||||
|
source_url: https://community.home-assistant.io/t/cast-and-re-cast-a-lovelace-view-to-a-google-hub/259631
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id: !input 'player'
|
||||||
|
to: 'off'
|
||||||
|
for: 00:00:20
|
||||||
|
- platform: state
|
||||||
|
entity_id: !input 'player'
|
||||||
|
to: paused
|
||||||
|
for: 00:00:20
|
||||||
|
- platform: time_pattern
|
||||||
|
minutes: /9
|
||||||
|
- platform: time_pattern
|
||||||
|
minutes: '0'
|
||||||
|
action:
|
||||||
|
- choose:
|
||||||
|
- conditions:
|
||||||
|
- condition: or
|
||||||
|
conditions:
|
||||||
|
- condition: state
|
||||||
|
entity_id: !input 'player'
|
||||||
|
state: 'off'
|
||||||
|
- condition: state
|
||||||
|
entity_id: !input 'player'
|
||||||
|
state: paused
|
||||||
|
for: 00:00:20
|
||||||
|
sequence:
|
||||||
|
- service: media_player.volume_mute
|
||||||
|
data:
|
||||||
|
is_volume_muted: true
|
||||||
|
entity_id: !input 'player'
|
||||||
|
- service: media_player.turn_off
|
||||||
|
data:
|
||||||
|
entity_id: !input 'player'
|
||||||
|
- delay:
|
||||||
|
seconds: 2
|
||||||
|
- service: media_player.turn_on
|
||||||
|
data:
|
||||||
|
entity_id: !input 'player'
|
||||||
|
- service: cast.show_lovelace_view
|
||||||
|
data:
|
||||||
|
view_path: !input 'view'
|
||||||
|
dashboard_path: !input 'dashboard'
|
||||||
|
entity_id: !input 'player'
|
||||||
|
- service: cast.show_lovelace_view
|
||||||
|
data:
|
||||||
|
view_path: !input 'view'
|
||||||
|
dashboard_path: !input 'dashboard'
|
||||||
|
entity_id: !input 'player'
|
||||||
|
- delay:
|
||||||
|
seconds: 10
|
||||||
|
- service: media_player.volume_mute
|
||||||
|
data:
|
||||||
|
is_volume_muted: false
|
||||||
|
entity_id: !input 'player'
|
@ -0,0 +1,84 @@
|
|||||||
|
blueprint:
|
||||||
|
name: Confirmable Notification
|
||||||
|
description: >-
|
||||||
|
A script that sends an actionable notification with a confirmation before
|
||||||
|
running the specified action.
|
||||||
|
domain: script
|
||||||
|
source_url: https://github.com/home-assistant/core/blob/master/homeassistant/components/script/blueprints/confirmable_notification.yaml
|
||||||
|
input:
|
||||||
|
notify_device:
|
||||||
|
name: Device to notify
|
||||||
|
description: Device needs to run the official Home Assistant app to receive notifications.
|
||||||
|
selector:
|
||||||
|
device:
|
||||||
|
integration: mobile_app
|
||||||
|
title:
|
||||||
|
name: "Title"
|
||||||
|
description: "The title of the button shown in the notification."
|
||||||
|
default: ""
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
message:
|
||||||
|
name: "Message"
|
||||||
|
description: "The message body"
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
confirm_text:
|
||||||
|
name: "Confirmation Text"
|
||||||
|
description: "Text to show on the confirmation button"
|
||||||
|
default: "Confirm"
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
confirm_action:
|
||||||
|
name: "Confirmation Action"
|
||||||
|
description: "Action to run when notification is confirmed"
|
||||||
|
default: []
|
||||||
|
selector:
|
||||||
|
action:
|
||||||
|
dismiss_text:
|
||||||
|
name: "Dismiss Text"
|
||||||
|
description: "Text to show on the dismiss button"
|
||||||
|
default: "Dismiss"
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
dismiss_action:
|
||||||
|
name: "Dismiss Action"
|
||||||
|
description: "Action to run when notification is dismissed"
|
||||||
|
default: []
|
||||||
|
selector:
|
||||||
|
action:
|
||||||
|
|
||||||
|
mode: restart
|
||||||
|
|
||||||
|
sequence:
|
||||||
|
- alias: "Set up variables"
|
||||||
|
variables:
|
||||||
|
action_confirm: "{{ 'CONFIRM_' ~ context.id }}"
|
||||||
|
action_dismiss: "{{ 'DISMISS_' ~ context.id }}"
|
||||||
|
- alias: "Send notification"
|
||||||
|
domain: mobile_app
|
||||||
|
type: notify
|
||||||
|
device_id: !input notify_device
|
||||||
|
title: !input title
|
||||||
|
message: !input message
|
||||||
|
data:
|
||||||
|
actions:
|
||||||
|
- action: "{{ action_confirm }}"
|
||||||
|
title: !input confirm_text
|
||||||
|
- action: "{{ action_dismiss }}"
|
||||||
|
title: !input dismiss_text
|
||||||
|
- alias: "Awaiting response"
|
||||||
|
wait_for_trigger:
|
||||||
|
- platform: event
|
||||||
|
event_type: mobile_app_notification_action
|
||||||
|
event_data:
|
||||||
|
action: "{{ action_confirm }}"
|
||||||
|
- platform: event
|
||||||
|
event_type: mobile_app_notification_action
|
||||||
|
event_data:
|
||||||
|
action: "{{ action_dismiss }}"
|
||||||
|
- choose:
|
||||||
|
- conditions: "{{ wait.trigger.event.data.action == action_confirm }}"
|
||||||
|
sequence: !input confirm_action
|
||||||
|
- conditions: "{{ wait.trigger.event.data.action == action_dismiss }}"
|
||||||
|
sequence: !input dismiss_action
|
3
cameras.yaml
Normal file
3
cameras.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
- platform: generic
|
||||||
|
still_image_url: https://radblast.wunderground.com/cgi-bin/radar/WUNIDS_map?num=20&type=N0Q&mapx=400&mapy=240&brand=wui&delay=15&frame=0&scale=0.5413043478260869&transx=-66.83635825614692&transy=26.09366154044801&severe=1&smooth=1¢erx=333.1636417438531¢ery=266.093661540448&station=IWX&rainsnow=0&lightning=0&noclutter=1&showlabels=1&showstorms=0&rand=27322492
|
||||||
|
name: Defiance Weather Radar
|
34
configuration.yaml
Normal file
34
configuration.yaml
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
homeassistant:
|
||||||
|
packages: !include_dir_named packages
|
||||||
|
# Configure a default setup of Home Assistant (frontend, api, etc)
|
||||||
|
default_config:
|
||||||
|
|
||||||
|
# Text to speech
|
||||||
|
tts:
|
||||||
|
- platform: google_translate
|
||||||
|
|
||||||
|
group: !include groups.yaml
|
||||||
|
automation: !include automations.yaml
|
||||||
|
script: !include scripts.yaml
|
||||||
|
scene: !include scenes.yaml
|
||||||
|
camera: !include cameras.yaml
|
||||||
|
input_boolean: !include input_boolean.yaml
|
||||||
|
binary_sensor: !include binary_sensor.yaml
|
||||||
|
sensor: !include sensor.yaml
|
||||||
|
|
||||||
|
media_player:
|
||||||
|
- platform: androidtv
|
||||||
|
name: Living Room FireTV
|
||||||
|
host: 192.168.1.56
|
||||||
|
state_detection_rules:
|
||||||
|
'com.amazon.tv.launcher':
|
||||||
|
- 'standby'
|
||||||
|
'com.netflix.ninja':
|
||||||
|
- 'media_session_state'
|
||||||
|
'com.amazon.avod':
|
||||||
|
- 'standby'
|
||||||
|
|
||||||
|
frontend:
|
||||||
|
themes: !include_dir_merge_named themes
|
||||||
|
extra_module_url:
|
||||||
|
- /hacsfiles/hass-hue-icons/hass-hue-icons.js
|
8
groups.yaml
Normal file
8
groups.yaml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
Family:
|
||||||
|
- person.tony_stork
|
||||||
|
- person.christina_stork
|
||||||
|
|
||||||
|
Xbox In Game:
|
||||||
|
- binary_sensor.kjsgamer2012_in_game
|
||||||
|
- binary_sensor.irishpirate1988_in_game
|
||||||
|
- binary_sensor.tm24fan_in_game
|
0
input_boolean.yaml
Normal file
0
input_boolean.yaml
Normal file
1470
packages/weatheralerts.yaml
Normal file
1470
packages/weatheralerts.yaml
Normal file
File diff suppressed because it is too large
Load Diff
0
scenes.yaml
Normal file
0
scenes.yaml
Normal file
158
scripts.yaml
Normal file
158
scripts.yaml
Normal file
@ -0,0 +1,158 @@
|
|||||||
|
start_netflix:
|
||||||
|
alias: Start Netflix
|
||||||
|
sequence:
|
||||||
|
- service: switch.turn_on
|
||||||
|
target:
|
||||||
|
entity_id: switch.adaptive_lighting_sleep_mode_living_room
|
||||||
|
- service: media_player.select_source
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_firetv
|
||||||
|
data:
|
||||||
|
source: com.netflix.ninja
|
||||||
|
mode: single
|
||||||
|
icon: mdi:netflix
|
||||||
|
stop_netflix:
|
||||||
|
alias: Stop Netflix
|
||||||
|
sequence:
|
||||||
|
- service: media_player.select_source
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_firetv
|
||||||
|
data:
|
||||||
|
source: '!com.netflix.ninja'
|
||||||
|
- service: switch.turn_off
|
||||||
|
target:
|
||||||
|
entity_id: switch.adaptive_lighting_sleep_mode_living_room
|
||||||
|
mode: single
|
||||||
|
icon: mdi:netflix
|
||||||
|
give_me_darkness:
|
||||||
|
alias: Give Me Darkness
|
||||||
|
sequence:
|
||||||
|
- service: switch.turn_on
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- switch.adaptive_lighting_sleep_mode_upstairs_hallway
|
||||||
|
- switch.adaptive_lighting_sleep_mode_mud_room
|
||||||
|
- service: light.turn_off
|
||||||
|
target:
|
||||||
|
device_id:
|
||||||
|
- cfa5796f2572082c37db92f809e432bc
|
||||||
|
- 3ccbb8face40bff22fd924966bbb19f5
|
||||||
|
area_id:
|
||||||
|
- kallen_bedroom
|
||||||
|
- master_bedroom
|
||||||
|
mode: single
|
||||||
|
icon: mdi:weather-night
|
||||||
|
start_youtube:
|
||||||
|
alias: Start Youtube
|
||||||
|
sequence:
|
||||||
|
- service: switch.turn_on
|
||||||
|
target:
|
||||||
|
entity_id: switch.adaptive_lighting_sleep_mode_living_room
|
||||||
|
- service: media_player.select_source
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_firetv
|
||||||
|
data:
|
||||||
|
source: com.amazon.firetv.youtube
|
||||||
|
mode: single
|
||||||
|
icon: mdi:youtube
|
||||||
|
stop_youtube:
|
||||||
|
alias: Stop Youtube
|
||||||
|
sequence:
|
||||||
|
- service: media_player.select_source
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_firetv
|
||||||
|
data:
|
||||||
|
source: '!com.amazon.firetv.youtube'
|
||||||
|
- service: switch.turn_off
|
||||||
|
target:
|
||||||
|
entity_id: switch.adaptive_lighting_sleep_mode_living_room
|
||||||
|
mode: single
|
||||||
|
icon: mdi:youtube
|
||||||
|
start_twitch:
|
||||||
|
alias: Start Twitch
|
||||||
|
sequence:
|
||||||
|
- service: switch.turn_on
|
||||||
|
target:
|
||||||
|
entity_id: switch.adaptive_lighting_sleep_mode_living_room
|
||||||
|
- service: media_player.select_source
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_firetv
|
||||||
|
data:
|
||||||
|
source: tv.twitch.android.viewer
|
||||||
|
mode: single
|
||||||
|
icon: mdi:twitch
|
||||||
|
stop_twitch:
|
||||||
|
alias: Stop Twitch
|
||||||
|
sequence:
|
||||||
|
- service: media_player.select_source
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_firetv
|
||||||
|
data:
|
||||||
|
source: '!tv.twitch.android.viewer'
|
||||||
|
- service: switch.turn_off
|
||||||
|
target:
|
||||||
|
entity_id: switch.adaptive_lighting_sleep_mode_living_room
|
||||||
|
mode: single
|
||||||
|
icon: mdi:twitch
|
||||||
|
start_spotify:
|
||||||
|
alias: Start Spotify
|
||||||
|
sequence:
|
||||||
|
- service: media_player.select_source
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_firetv
|
||||||
|
data:
|
||||||
|
source: com.spotify.tv.android
|
||||||
|
mode: single
|
||||||
|
icon: mdi:spotify
|
||||||
|
stop_spotify:
|
||||||
|
alias: Stop Spotify
|
||||||
|
sequence:
|
||||||
|
- service: media_player.select_source
|
||||||
|
target:
|
||||||
|
entity_id: media_player.living_room_firetv
|
||||||
|
data:
|
||||||
|
source: '!com.spotify.tv.android'
|
||||||
|
mode: single
|
||||||
|
icon: mdi:spotify
|
||||||
|
goodnight:
|
||||||
|
alias: Goodnight
|
||||||
|
sequence:
|
||||||
|
- service: scene.turn_on
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- scene.upstairs_hallway_nightlight
|
||||||
|
- scene.mud_room_nightlight
|
||||||
|
- service: light.turn_off
|
||||||
|
target:
|
||||||
|
device_id:
|
||||||
|
- cfa5796f2572082c37db92f809e432bc
|
||||||
|
- 3ccbb8face40bff22fd924966bbb19f5
|
||||||
|
area_id:
|
||||||
|
- basement_studio
|
||||||
|
- master_bedroom
|
||||||
|
- kallen_bedroom
|
||||||
|
- furnace_room
|
||||||
|
- mud_room
|
||||||
|
- nursery
|
||||||
|
- service: switch.turn_off
|
||||||
|
target:
|
||||||
|
area_id: basement_studio
|
||||||
|
- service: switch.turn_on
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- switch.basement_echo_dot_do_not_disturb_switch
|
||||||
|
- switch.living_room_echo_dot_do_not_disturb_switch
|
||||||
|
mode: single
|
||||||
|
icon: mdi:weather-night
|
||||||
|
alexa_tts_test:
|
||||||
|
alias: Alexa TTS Test
|
||||||
|
sequence:
|
||||||
|
- service: notify.alexa_media
|
||||||
|
data:
|
||||||
|
data:
|
||||||
|
method: all
|
||||||
|
type: announce
|
||||||
|
target: Living Room Echo Dot
|
||||||
|
message: I farted
|
||||||
|
mode: single
|
||||||
|
icon: mdi:test-tube
|
10
sensor.yaml
Normal file
10
sensor.yaml
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
- platform: time_date
|
||||||
|
display_options:
|
||||||
|
- 'time'
|
||||||
|
- 'date'
|
||||||
|
- 'date_time'
|
||||||
|
- 'date_time_utc'
|
||||||
|
- 'date_time_iso'
|
||||||
|
- 'time_date'
|
||||||
|
- 'time_utc'
|
||||||
|
- 'beat'
|
Reference in New Issue
Block a user