mirror of
https://github.com/GeorgeSG/sarah.git
synced 2026-04-29 06:48:16 +00:00
170 lines
4.8 KiB
YAML
170 lines
4.8 KiB
YAML
#
|
|
# ─── INTEGRATIONS ───────────────────────────────────────────────────────────────
|
|
#
|
|
|
|
# https://www.home-assistant.io/components/person
|
|
person:
|
|
- name: Georgi
|
|
id: !secret georgi_user_id
|
|
user_id: !secret georgi_user_id
|
|
device_trackers:
|
|
- device_tracker.carbon
|
|
|
|
# https://www.home-assistant.io/integrations/device_tracker
|
|
device_tracker:
|
|
- platform: tile
|
|
username: !secret tile_username
|
|
password: !secret tile_password
|
|
|
|
# https://www.home-assistant.io/components/zone
|
|
zone:
|
|
- name: Home
|
|
latitude: !secret home_latitude
|
|
longitude: !secret home_longitude
|
|
radius: 20
|
|
icon: mdi:home
|
|
- name: Work
|
|
latitude: !secret work_latitude
|
|
longitude: !secret work_longitude
|
|
radius: 60
|
|
icon: mdi:worker
|
|
|
|
#
|
|
# ─── ENTITIES ───────────────────────────────────────────────────────────────────
|
|
#
|
|
|
|
input_boolean:
|
|
georgi_home:
|
|
name: Georgi home
|
|
icon: mdi:account
|
|
|
|
binary_sensor:
|
|
- platform: template
|
|
sensors:
|
|
georgi_home:
|
|
friendly_name: Georgi
|
|
device_class: presence
|
|
value_template: "{{ is_state('input_boolean.georgi_home', 'on') }}"
|
|
icon_template: >
|
|
{% if is_state('input_boolean.georgi_home', 'on') %} mdi:account
|
|
{% else %} mdi:account-off-outline
|
|
{% endif %}
|
|
|
|
trisensor_motion:
|
|
friendly_name: TriSensor motion
|
|
device_class: motion
|
|
value_template: "{{ is_state('sensor.trisensor_burglar', '8') }}"
|
|
|
|
multisensor_motion:
|
|
friendly_name: MultiSensor motion
|
|
device_class: motion
|
|
value_template: "{{ is_state('sensor.multisensor_6_burglar', '8') }}"
|
|
|
|
sensor:
|
|
- platform: history_stats
|
|
name: Quarantined percent
|
|
entity_id: device_tracker.carbon
|
|
state: "home"
|
|
type: ratio
|
|
duration:
|
|
days: 7
|
|
end: "{{ now() }}"
|
|
|
|
- platform: history_stats
|
|
name: Quarantine times left
|
|
entity_id: device_tracker.carbon
|
|
state: "home"
|
|
type: count
|
|
duration:
|
|
days: 7
|
|
end: "{{ now() }}"
|
|
|
|
|
|
automation:
|
|
# When my state changes to "home", wait for 15 minutes for the door to be opened, and then mark me as home
|
|
- alias: Presence · Arrival detection
|
|
trigger:
|
|
platform: state
|
|
entity_id: person.georgi
|
|
to: "home"
|
|
condition:
|
|
condition: state
|
|
entity_id: input_boolean.georgi_home
|
|
state: "off"
|
|
action:
|
|
- service: notify.telegram
|
|
data:
|
|
title: "🏠 *Presence Module · Arrival Detection*"
|
|
message: "Device marked as home. Waiting for door to open!"
|
|
- wait_template: "{{ is_state('binary_sensor.front_door', 'on') }}"
|
|
continue_on_timeout: false
|
|
timeout: 00:15:00
|
|
- service: input_boolean.turn_on
|
|
entity_id: input_boolean.georgi_home
|
|
- service: notify.telegram
|
|
data:
|
|
title: "🏠 *Presence Module · Arrival Detection*"
|
|
message: "✅ Hey, I've marked you as home now!"
|
|
|
|
- alias: Presence · Leaving home
|
|
trigger:
|
|
platform: state
|
|
entity_id: person.georgi
|
|
from: "home"
|
|
to: "not_home"
|
|
action:
|
|
- service: script.routine_leaving_home
|
|
- service: notify.telegram
|
|
data:
|
|
title: "🏠 *Presence Module · Leaving Home*"
|
|
message: "I see you're leaving. Goodbye!"
|
|
|
|
- alias: Presence · Coming home
|
|
trigger:
|
|
platform: state
|
|
entity_id: binary_sensor.georgi_home
|
|
to: "on"
|
|
action:
|
|
- service: script.routine_coming_home
|
|
|
|
- alias: Presence · Leaving work
|
|
trigger:
|
|
platform: state
|
|
entity_id: person.georgi
|
|
from: "Work"
|
|
to: "not_home"
|
|
action:
|
|
- service: notify.telegram
|
|
data:
|
|
title: "🏠 *Presence Module · Leaving Work*"
|
|
message: "Hey, I see you're leaving work. Are you coming home?"
|
|
data:
|
|
inline_keyboard:
|
|
- "Yes:/leaving_work_to_home, No:/do_nothing"
|
|
|
|
#
|
|
# ─── CUSTOMIZATION ──────────────────────────────────────────────────────────────
|
|
#
|
|
|
|
homeassistant:
|
|
customize:
|
|
device_tracker.carbon:
|
|
icon: mdi:cellphone-iphone
|
|
|
|
device_tracker.tile_p_6e3c33752f24f417254c039040a984bd:
|
|
friendly_name: Georgi's iPhone Tile
|
|
icon: mdi:cellphone-iphone
|
|
|
|
device_tracker.tile_1bcb2b3021b9f96b:
|
|
friendly_name: Keys Tile
|
|
icon: mdi:key-variant
|
|
|
|
automation.presence_coming_home:
|
|
icon: mdi:home-account
|
|
|
|
automation.presence_leaving_home:
|
|
icon: mdi:home
|
|
|
|
automation.presence_arrival_detecion:
|
|
icon: mdi:account-plus-outline
|