Skip to content
This repository has been archived by the owner on Apr 8, 2024. It is now read-only.

Commit

Permalink
initial commit of home assistant config
Browse files Browse the repository at this point in the history
  • Loading branch information
hunterjm committed Apr 7, 2019
0 parents commit 057d435
Show file tree
Hide file tree
Showing 167 changed files with 50,326 additions and 0 deletions.
1 change: 1 addition & 0 deletions .HA_VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.91.1
37 changes: 37 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Generic ignores
*.log
*.db
*.db-shm
*.db-wal
*.pyc
._*
__pycache__

# Directory (contents) ignores
.cloud
.storage
deps
tts
tensorflow/graph/faster_rcnn_inception_v2_coco_2018_01_28
www

# Specific file ignores
.homekit.state
.ios.conf
.xbox-token.json
.uuid
alexa_media*.pickle
ip_bans.yaml
known_devices.yaml
options.xml
OZW_Log.txt
pyozw.sqlite
secrets.yaml
zwcfg_*
zwscene.xml

# Ignore add-on files
notebooks

# Ignore files created by IDE's
.vscode
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Jason's Home Assistant Config

This readme is pretty bare bones, isn't it? Well give me some time! I did **JUST** upload this you know. People who listened to me on the [Home Assistant Podcast](https://hasspodcast.io/ha047/) didn't seem to believe me when I said my config was pretty bare-bones, so here it is.
1 change: 1 addition & 0 deletions alarm.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"state": "disarmed", "timeoutat": null, "returnto": "disarmed"}
107 changes: 107 additions & 0 deletions automations/garage_entry_light.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
##############################################################
- alias: Garage Door Opened Hallway Light
trigger:
- platform: state
entity_id: binary_sensor.garage_door
to: 'on'

condition:
- condition: state
entity_id: switch.downstairs_hallway_light
state: 'off'

action:
- service: switch.turn_on
entity_id: switch.downstairs_hallway_light

##############################################################
- alias: Garage Door Closed Hallway Light
trigger:
- platform: state
entity_id: binary_sensor.garage_door
to: 'off'
for:
seconds: 30

condition:
- condition: state
entity_id: binary_sensor.garage_door
state: 'off'
- condition: state
entity_id: switch.downstairs_hallway_light
state: 'on'

action:
- service: switch.turn_off
entity_id: switch.downstairs_hallway_light

##############################################################
- alias: Garage Door Opened Garage Light
trigger:
- platform: state
entity_id: binary_sensor.garage_door
to: 'on'
- platform: state
entity_id: cover.large_garage_door
to: 'open'
- platform: state
entity_id: cover.small_garage_door
to: 'open'

condition:
- condition: and
conditions:
- condition: state
entity_id: switch.garage_light
state: 'off'
# After Dark or Cloudy
- condition: or
conditions:
- condition: sun
after: sunset
- condition: sun
before: sunrise
- condition: numeric_state
entity_id: sensor.dark_sky_cloud_coverage
above: 80

action:
- service: switch.turn_on
entity_id: switch.garage_light

##############################################################
- alias: Garage Door Closed Garage Light
trigger:
- platform: state
entity_id: binary_sensor.garage_door
to: 'off'
for:
seconds: 30
- platform: state
entity_id: cover.large_garage_door
to: 'closed'
for:
seconds: 30
- platform: state
entity_id: cover.small_garage_door
to: 'closed'
for:
seconds: 30

condition:
- condition: state
entity_id: binary_sensor.garage_door
state: 'off'
- condition: state
entity_id: cover.large_garage_door
state: 'closed'
- condition: state
entity_id: cover.small_garage_door
state: 'closed'
- condition: state
entity_id: switch.garage_light
state: 'on'

action:
- service: switch.turn_off
entity_id: switch.garage_light
19 changes: 19 additions & 0 deletions automations/hassio.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
- id: letsencrypt-renewal
alias: "Let's Encrypt Renewal"
trigger:
- platform: time
at: '00:00:00'
action:
- service: hassio.addon_restart
data:
addon: core_letsencrypt

- id: homekit-start
alias: "Start HomeKit"
trigger:
- platform: event
event_type: zwave.network_ready
- platform: event
event_type: zwave.network_complete
action:
- service: homekit.start
29 changes: 29 additions & 0 deletions automations/living_room.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
- id: livingroom-triple-tap-switch-down
alias: "Triple Tap Living Room Switch Down"
trigger:
- platform: event
event_type: zwave.scene_activated
event_data:
entity_id: zwave.living_room_wall_dimmer
scene_id: 2
scene_data: 7920
action:
- service: light.turn_off
entity_id: light.living_room_fan
- service: media_player.turn_off
entity_id: media_player.living_room_xbox

- id: livingroom-triple-tap-switch-up
alias: "Triple Tap Living Room Switch Up"
trigger:
- platform: event
event_type: zwave.scene_activated
event_data:
entity_id: zwave.living_room_wall_dimmer
scene_id: 1
scene_data: 7920
action:
- service: light.turn_on
entity_id: light.living_room_fan
- service: media_player.turn_on
entity_id: media_player.living_room_xbox
68 changes: 68 additions & 0 deletions automations/security.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
- alias: Tensorflow Scan
trigger:
- platform: state
entity_id:
- binary_sensor.backyard_field_detection
- binary_sensor.driveway_field_detection
- binary_sensor.foyer_field_detection
- binary_sensor.garage_field_detection
- binary_sensor.backyard_line_crossing
- binary_sensor.driveway_line_crossing
- binary_sensor.garage_line_crossing
action:
- service: image_processing.scan
data_template:
entity_id: "image_processing.tensorflow_{{ trigger.entity_id.split('.')[1].split('_')[0] }}"

- alias: Notify Motion
trigger:
- platform: numeric_state
entity_id:
- image_processing.tensorflow_backyard
- image_processing.tensorflow_driveway
- image_processing.tensorflow_foyer
- image_processing.tensorflow_garage
above: 0
action:
- service: camera.record
data_template:
entity_id: "camera.{{ trigger.entity_id.split('.')[1].split('_')[1] }}"
filename: "/share/videos/{{ trigger.entity_id.split('.')[1].split('_')[1] }}_{{ now().strftime('%Y%m%d_%H%M%S') }}.mp4"
duration: 20
lookback: 10
- condition: or
conditions:
- condition: template
value_template: "{{ not is_state('group.family_presence', 'home') }}"
- condition: template
value_template: >
{% for s in ['garage', 'foyer'] if s in 'image_processing.tensorflow_garage' %}
True
{% else %}
False
{% endfor %}
- service: notify.ios_jk_phones
data_template:
message: "{{ trigger.entity_id.split('.')[1].split('_')[1]|capitalize }} motion detected!"
data:
attachment:
url: 'https://REDACTED/local/motion/{{ trigger.entity_id.split(".")[1].split("_")[1] }}_latest.jpg'
content-type: jpeg
hide-thumbnail: true
- condition: and
conditions:
- condition: state
entity_id: input_boolean.voice_alerts
state: 'on'
- service: media_player.alexa_tts
data_template:
entity_id:
- media_player.kitchen_echo
- media_player.master_bedroom_dot
- media_player.bonus_room_dot
message: >
{% if is_state('group.family_presence', 'home') %}
You have a visitor in your {{ trigger.entity_id.split('.')[1].split('_')[1] }}.
{% else %}
Warning. Unknown presence detected. The authorities will be notified.
{% endif %}
33 changes: 33 additions & 0 deletions configuration.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
homeassistant:
# Name of the location where Home Assistant is running
name: Home
# Location required to calculate the time the sun rises and sets
latitude: !secret latitude
longitude: !secret longitude
# Impacts weather/sunrise data (altitude above sea level in meters)
elevation: !secret elevation
# metric for Metric, imperial for Imperial
unit_system: imperial
# Pick yours from here: http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
time_zone: America/New_York
packages: !include_dir_named packages
whitelist_external_dirs:
- /config/www/motion
- /share/camera
- /share/videos

# Enables the frontend
frontend:
javascript_version: latest
themes: !include_dir_named themes

# Lovelace
lovelace:
mode: yaml

# Text to speech
tts:
- platform: google

automation: !include_dir_merge_list automations
script: !include_dir_merge_named scripts
Loading

0 comments on commit 057d435

Please sign in to comment.