Compare commits
30 Commits
b182d43a24
...
main
Author | SHA1 | Date | |
---|---|---|---|
47ec4b4fde
|
|||
22b3234674
|
|||
325559fe3d
|
|||
4f8a471834
|
|||
4667f9e691
|
|||
862945c9af
|
|||
885caf6e4c | |||
602c89e565 | |||
c6c418c9ad | |||
cf2d6a8c87 | |||
6cc9989236 | |||
9d8861a93d | |||
120911f57a | |||
5361732fc0 | |||
00364bf4c7
|
|||
e1cf2b1117
|
|||
2d17695583
|
|||
acf0c9d1ca
|
|||
1f913b8cd9
|
|||
fddd7ffbbe
|
|||
4d09fdc93a
|
|||
84bd5440ef
|
|||
1d8c23d6c9
|
|||
4ae1de0eb4
|
|||
39ba6300c0
|
|||
b9901256f8
|
|||
79857599b9
|
|||
bf3a0e4774
|
|||
b0fad8f397
|
|||
ba56a2170e
|
@@ -1 +1 @@
|
|||||||
2021.12.1
|
2025.5.3
|
10
.gitignore
vendored
10
.gitignore
vendored
@@ -15,4 +15,12 @@ image
|
|||||||
*.db-wal
|
*.db-wal
|
||||||
|
|
||||||
.vscode
|
.vscode
|
||||||
.DS_Store
|
.DS_Store
|
||||||
|
*.pem
|
||||||
|
|
||||||
|
/custom_components/hacs
|
||||||
|
|
||||||
|
/custom_components/battery_notes
|
||||||
|
/custom_components/dyson_local
|
||||||
|
/custom_components/spook
|
||||||
|
/custom_components/spook_inverse
|
@@ -1,11 +1,4 @@
|
|||||||
home_latititude: 1
|
home_latititude: 1
|
||||||
home_longitude: 1
|
home_longitude: 1
|
||||||
home_elevation: 1
|
home_elevation: 1
|
||||||
hass_db_url: sqlite:///config/test.db
|
matrix_password: hunter2
|
||||||
|
|
||||||
darksky_api_key: 00aa00aa00aa00aa00aa00aa00aa00aa
|
|
||||||
|
|
||||||
nest_client_id: client_id
|
|
||||||
nest_client_secret: client_secret
|
|
||||||
nest_project_id: project_id
|
|
||||||
nest_subscriber_id: subscriber_id
|
|
||||||
|
@@ -1 +1,14 @@
|
|||||||
[]
|
- id: '1724553196564'
|
||||||
|
alias: Goodnight Action
|
||||||
|
description: ''
|
||||||
|
trigger:
|
||||||
|
- platform: event
|
||||||
|
event_data:
|
||||||
|
actionID: B4B3EB14-2508-40F7-883A-204C100B1F2A
|
||||||
|
event_type: ios.action_fired
|
||||||
|
condition: []
|
||||||
|
action:
|
||||||
|
- action: script.goodnight
|
||||||
|
metadata: {}
|
||||||
|
data: {}
|
||||||
|
mode: single
|
||||||
|
31
automations/bedroom/purifier.yaml
Normal file
31
automations/bedroom/purifier.yaml
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
- alias: Bedroom TV Time
|
||||||
|
description: "Put the purifier in night mode when the TV starts playing"
|
||||||
|
id: "331f421c-c0b6-41cf-98ce-2ab0126a335a"
|
||||||
|
mode: single
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- media_player.bedroom_tv
|
||||||
|
to: playing
|
||||||
|
condition: []
|
||||||
|
action:
|
||||||
|
- service: switch.turn_on
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
entity_id: switch.purifier_night_mode
|
||||||
|
|
||||||
|
- alias: Bedroom TV Time Over
|
||||||
|
description: ""
|
||||||
|
id: "826af719-2a40-431f-8f02-4fa935369c3e"
|
||||||
|
mode: single
|
||||||
|
trigger:
|
||||||
|
- platform: state
|
||||||
|
entity_id:
|
||||||
|
- media_player.bedroom_tv
|
||||||
|
to: standby
|
||||||
|
condition: []
|
||||||
|
action:
|
||||||
|
- service: switch.turn_off
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
entity_id: switch.purifier_night_mode
|
@@ -1,26 +1,27 @@
|
|||||||
- id: '1631582483969'
|
- alias: Turn on light rack
|
||||||
alias: Turn on light rack
|
description: ""
|
||||||
description: ''
|
id: "24dcac6e-5577-44a8-b3ea-9249a299c3f6"
|
||||||
|
mode: single
|
||||||
trigger:
|
trigger:
|
||||||
- platform: time
|
- platform: time
|
||||||
at: 08:00:00
|
at: 08:00:00
|
||||||
condition: []
|
condition: []
|
||||||
action:
|
action:
|
||||||
- type: turn_on
|
- service: switch.turn_on
|
||||||
device_id: bb22c5ed5d647c0713ace2e742f92bd1
|
data: {}
|
||||||
entity_id: switch.light_rack
|
target:
|
||||||
domain: switch
|
entity_id: switch.light_rack
|
||||||
|
|
||||||
|
- alias: Turn off light rack
|
||||||
|
description: ""
|
||||||
|
id: "3939a056-c910-4b46-8437-06335b355350"
|
||||||
mode: single
|
mode: single
|
||||||
- id: '1631583563463'
|
|
||||||
alias: Turn off light rack
|
|
||||||
description: ''
|
|
||||||
trigger:
|
trigger:
|
||||||
- platform: time
|
- platform: time
|
||||||
at: '22:00:00'
|
at: "22:00:00"
|
||||||
condition: []
|
condition: []
|
||||||
action:
|
action:
|
||||||
- type: turn_off
|
- service: switch.turn_off
|
||||||
device_id: bb22c5ed5d647c0713ace2e742f92bd1
|
data: {}
|
||||||
entity_id: switch.light_rack
|
target:
|
||||||
domain: switch
|
entity_id: switch.light_rack
|
||||||
mode: single
|
|
||||||
|
@@ -1,27 +1,27 @@
|
|||||||
|
- alias: Turn on front porch light
|
||||||
|
description: ""
|
||||||
|
id: "9f78242d-f30f-4c30-bd37-65b4b62b95fe"
|
||||||
|
mode: single
|
||||||
|
trigger:
|
||||||
|
- platform: sun
|
||||||
|
event: sunset
|
||||||
|
condition: []
|
||||||
|
action:
|
||||||
|
- service: switch.turn_on
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
entity_id: switch.front_porch
|
||||||
|
|
||||||
- id: '1634154676822'
|
- alias: Turn off front porch light
|
||||||
alias: Turn on front porch light
|
description: ""
|
||||||
description: ''
|
id: "6b9e714f-0e71-481d-8506-c1bf4a0c7c00"
|
||||||
|
mode: single
|
||||||
trigger:
|
trigger:
|
||||||
- platform: sun
|
- platform: time
|
||||||
event: sunset
|
at: "23:30:00"
|
||||||
condition: []
|
condition: []
|
||||||
action:
|
action:
|
||||||
- type: turn_on
|
- service: switch.turn_off
|
||||||
device_id: 749027ddc2ff3cc59e22c2557329ec0a
|
data: {}
|
||||||
entity_id: switch.front_porch
|
target:
|
||||||
domain: switch
|
entity_id: switch.front_porch
|
||||||
mode: single
|
|
||||||
- id: '1639358610226'
|
|
||||||
alias: Turn off front porch light
|
|
||||||
description: ''
|
|
||||||
trigger:
|
|
||||||
- platform: time
|
|
||||||
at: '23:30:00'
|
|
||||||
condition: []
|
|
||||||
action:
|
|
||||||
- type: turn_off
|
|
||||||
device_id: 749027ddc2ff3cc59e22c2557329ec0a
|
|
||||||
entity_id: switch.front_porch
|
|
||||||
domain: switch
|
|
||||||
mode: single
|
|
||||||
|
@@ -1,28 +1,29 @@
|
|||||||
- id: '1625281735631'
|
- alias: Keep office cool
|
||||||
alias: Keep office cool
|
description: ""
|
||||||
description: ''
|
id: "7b7450b6-0811-4c44-9581-0461adcf912e"
|
||||||
trigger:
|
|
||||||
- platform: numeric_state
|
|
||||||
entity_id: sensor.home_office_temperature
|
|
||||||
above: '24'
|
|
||||||
condition: []
|
|
||||||
action:
|
|
||||||
- type: turn_on
|
|
||||||
device_id: 0739a7e7036ad9758825b93a524e1f00
|
|
||||||
entity_id: switch.air_conditioner
|
|
||||||
domain: switch
|
|
||||||
mode: single
|
mode: single
|
||||||
- id: '1625503795025'
|
|
||||||
alias: Turn off office AC
|
|
||||||
description: ''
|
|
||||||
trigger:
|
trigger:
|
||||||
- platform: numeric_state
|
- platform: numeric_state
|
||||||
entity_id: sensor.home_office_temperature
|
entity_id: sensor.awair_temperature
|
||||||
below: '22'
|
above: "26"
|
||||||
condition: []
|
condition: []
|
||||||
action:
|
action:
|
||||||
- type: turn_off
|
- service: switch.turn_on
|
||||||
device_id: 0739a7e7036ad9758825b93a524e1f00
|
data: {}
|
||||||
entity_id: switch.air_conditioner
|
target:
|
||||||
domain: switch
|
entity_id: switch.air_conditioner
|
||||||
mode: single
|
|
||||||
|
- alias: Turn off office AC
|
||||||
|
description: ""
|
||||||
|
id: "380dc2cc-c43b-4c69-bc36-6923b956f8be"
|
||||||
|
mode: single
|
||||||
|
trigger:
|
||||||
|
- platform: numeric_state
|
||||||
|
entity_id: sensor.awair_temperature
|
||||||
|
below: "23"
|
||||||
|
condition: []
|
||||||
|
action:
|
||||||
|
- service: switch.turn_off
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
entity_id: switch.air_conditioner
|
||||||
|
15
automations/office/blinds.yaml
Normal file
15
automations/office/blinds.yaml
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
- id: "1710275740260"
|
||||||
|
alias: Close lab blinds
|
||||||
|
description: ""
|
||||||
|
trigger:
|
||||||
|
- platform: sun
|
||||||
|
event: sunset
|
||||||
|
offset: 0
|
||||||
|
condition: []
|
||||||
|
action:
|
||||||
|
- service: cover.close_cover
|
||||||
|
metadata: {}
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
area_id: lab
|
||||||
|
mode: single
|
@@ -1,11 +1,12 @@
|
|||||||
# Example configuration.yaml entry
|
# Get notifications when new updates are available
|
||||||
- alias: "Update Available Notification"
|
- alias: "Update Available Notification"
|
||||||
|
id: "ae8b75ea-0914-4816-a772-4d0224b262fa"
|
||||||
trigger:
|
trigger:
|
||||||
- platform: state
|
- platform: state
|
||||||
entity_id: binary_sensor.updater
|
entity_id: update.home_assistant_core_update
|
||||||
from: "off"
|
|
||||||
to: "on"
|
to: "on"
|
||||||
action:
|
action:
|
||||||
- service: notify.notify
|
- service: notify.notify
|
||||||
data:
|
data:
|
||||||
message: "Home Assistant {{ state_attr('binary_sensor.updater', 'newest_version') }} is available."
|
title: "New update available"
|
||||||
|
message: "Home Assistant Core update is available."
|
||||||
|
@@ -34,7 +34,9 @@ variables:
|
|||||||
|
|
||||||
condition:
|
condition:
|
||||||
condition: template
|
condition: template
|
||||||
value_template: "{{ trigger.from_state.state == zone_state and trigger.to_state.state != zone_state }}"
|
# The first case handles leaving the Home zone which has a special state when zoning called 'home'.
|
||||||
|
# The second case handles leaving all other zones.
|
||||||
|
value_template: "{{ zone_entity == 'zone.home' and trigger.from_state.state == 'home' and trigger.to_state.state != 'home' or trigger.from_state.state == zone_state and trigger.to_state.state != zone_state }}"
|
||||||
|
|
||||||
action:
|
action:
|
||||||
- alias: "Notify that a person has left the zone"
|
- alias: "Notify that a person has left the zone"
|
||||||
|
@@ -1,4 +1,5 @@
|
|||||||
---
|
---
|
||||||
|
# Base configuration.
|
||||||
homeassistant:
|
homeassistant:
|
||||||
name: nerdhaus
|
name: nerdhaus
|
||||||
latitude: !secret home_latititude
|
latitude: !secret home_latititude
|
||||||
@@ -6,10 +7,13 @@ homeassistant:
|
|||||||
elevation: !secret home_elevation
|
elevation: !secret home_elevation
|
||||||
unit_system: metric
|
unit_system: metric
|
||||||
time_zone: America/Toronto
|
time_zone: America/Toronto
|
||||||
|
country: CA
|
||||||
|
external_url: "https://hass.nerdhaus.ca"
|
||||||
packages: !include_dir_named packages
|
packages: !include_dir_named packages
|
||||||
|
|
||||||
group: !include groups.yaml
|
|
||||||
automation: !include automations.yaml
|
automation: !include automations.yaml
|
||||||
automation manual: !include_dir_merge_list automations/
|
automation manual: !include_dir_merge_list automations/
|
||||||
script: !include scripts.yaml
|
script: !include_dir_merge_named scripts/
|
||||||
scene: !include scenes.yaml
|
scene: !include scenes.yaml
|
||||||
|
|
||||||
|
battery_notes:
|
||||||
|
@@ -1,10 +0,0 @@
|
|||||||
---
|
|
||||||
# The darksky platform uses the Dark Sky web service as a source for
|
|
||||||
# meteorological data for your location.
|
|
||||||
#
|
|
||||||
# https://www.home-assistant.io/integrations/weather.darksky/
|
|
||||||
#
|
|
||||||
weather:
|
|
||||||
- platform: darksky
|
|
||||||
api_key: !secret darksky_api_key
|
|
||||||
mode: hourly
|
|
7
packages/group.yaml
Normal file
7
packages/group.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
cover:
|
||||||
|
- platform: group
|
||||||
|
unique_id: "lab_blinds"
|
||||||
|
name: "Lab Blinds"
|
||||||
|
entities:
|
||||||
|
- cover.lab_blinds_left_cover
|
||||||
|
- cover.lab_blinds_right_cover
|
18
packages/homekit.yaml
Normal file
18
packages/homekit.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
homekit:
|
||||||
|
filter:
|
||||||
|
include_domains:
|
||||||
|
- camera
|
||||||
|
include_entities:
|
||||||
|
- climate.nest
|
||||||
|
- cover.office_blinds
|
||||||
|
- sensor.awair_humidity
|
||||||
|
- sensor.awair_temperature
|
||||||
|
- sensor.home_office_humidity
|
||||||
|
- sensor.home_office_temperature
|
||||||
|
- sensor.nest_humidity
|
||||||
|
- sensor.nest_temperature
|
||||||
|
- switch.front_porch
|
||||||
|
- switch.air_conditioner
|
||||||
|
- switch.light_rack
|
||||||
|
- switch.space_heater
|
||||||
|
- switch.string_lights
|
@@ -6,4 +6,6 @@
|
|||||||
#
|
#
|
||||||
http:
|
http:
|
||||||
use_x_forwarded_for: true
|
use_x_forwarded_for: true
|
||||||
trusted_proxies: 100.103.57.96
|
trusted_proxies:
|
||||||
|
- 100.103.57.96
|
||||||
|
- 127.0.0.1
|
||||||
|
11
packages/matrix.yaml
Normal file
11
packages/matrix.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
matrix:
|
||||||
|
homeserver: https://matrix.walkah.chat
|
||||||
|
username: "@hass:walkah.chat"
|
||||||
|
password: !secret matrix_password
|
||||||
|
rooms:
|
||||||
|
- "#nerdhaus:walkah.chat"
|
||||||
|
|
||||||
|
notify:
|
||||||
|
- name: matrix
|
||||||
|
platform: matrix
|
||||||
|
default_room: "#nerdhaus:walkah.chat"
|
@@ -1,7 +0,0 @@
|
|||||||
nest:
|
|
||||||
client_id: !secret nest_client_id
|
|
||||||
client_secret: !secret nest_client_secret
|
|
||||||
# "Project ID" in the Device Access Console
|
|
||||||
project_id: !secret nest_project_id
|
|
||||||
# Provide the full path exactly as shown under "Subscription name" in Google Cloud Console
|
|
||||||
subscriber_id: !secret nest_subscriber_id
|
|
@@ -1,2 +0,0 @@
|
|||||||
recorder:
|
|
||||||
db_url: !secret hass_db_url
|
|
@@ -0,0 +1 @@
|
|||||||
|
[]
|
||||||
|
28
scripts/bedtime.yaml
Normal file
28
scripts/bedtime.yaml
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
bedtime:
|
||||||
|
alias: Bedtime
|
||||||
|
mode: single
|
||||||
|
icon: mdi:bed
|
||||||
|
sequence:
|
||||||
|
- service: media_player.turn_off
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- media_player.main_floor
|
||||||
|
- media_player.lg_tv
|
||||||
|
- service: light.turn_off
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
entity_id: light.main_floor_tv_area
|
||||||
|
- service: light.turn_on
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- light.hallway_main_lights
|
||||||
|
- service: scene.turn_on
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
entity_id: scene.bedroom_relax
|
||||||
|
- service: switch.turn_on
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
entity_id: switch.purifier_night_mode
|
13
scripts/goodnight.yaml
Normal file
13
scripts/goodnight.yaml
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
goodnight:
|
||||||
|
alias: Goodnight
|
||||||
|
mode: single
|
||||||
|
icon: mdi:sleep
|
||||||
|
sequence:
|
||||||
|
- service: light.turn_off
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
area_id:
|
||||||
|
- bathroom
|
||||||
|
- bedroom
|
||||||
|
- closet
|
||||||
|
- hallway
|
16
scripts/showtime.yaml
Normal file
16
scripts/showtime.yaml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
---
|
||||||
|
showtime:
|
||||||
|
alias: Showtime
|
||||||
|
sequence:
|
||||||
|
- service: media_player.turn_on
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
entity_id:
|
||||||
|
- media_player.main_floor
|
||||||
|
- service: light.turn_on
|
||||||
|
data:
|
||||||
|
brightness_pct: 20
|
||||||
|
target:
|
||||||
|
entity_id: light.main_floor_tv_area
|
||||||
|
mode: single
|
||||||
|
icon: mdi:television
|
9
scripts/wakeup.yaml
Normal file
9
scripts/wakeup.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
wakeup:
|
||||||
|
alias: Wake up
|
||||||
|
mode: single
|
||||||
|
icon: mdi:weather-sunset-up
|
||||||
|
sequence:
|
||||||
|
- service: switch.turn_off
|
||||||
|
data: {}
|
||||||
|
target:
|
||||||
|
entity_id: switch.purifier_night_mode
|
Reference in New Issue
Block a user