# Notes: GitHub capture behavior (issue creation/labels/research flow) belongs in codex_appliance, not HA YAML.
# Notes: Shared script helper `script.joanna_dispatch` lives in config/script/joanna_dispatch.yaml.
# Notes: The callback webhook writes JOANNA activity entries to logbook for traceability and optional HA alerts.
# Notes: Hourly TeslaMate road-trip milestone/final callbacks become compact family mobile summaries; Joanna sends full reports to Carlo and Stacey.
# Notes: Adaptive TeslaMate road-trip milestone/arrival/final callbacks become compact family mobile summaries; Joanna sends destination/date reports and a private final route map to Carlo and Stacey.
# Notes: Progress and destination-arrival callbacks emit tesla_road_trip_active so Vacation Mode can use the signal when the whole family is away.
# Notes: Vacation mode auto-enables after 24 hours of family absence or 24 hours without bed use while the family is away.
# Notes: Vacation mode auto-enables from an active Tesla road trip while the family is away, or after the existing 24-hour absence/bed-inactivity checks.
# Notes: Vacation mode restores its prior state after Home Assistant restarts; a 5-minute reconciliation also clears a restored mode when the family is already home.
# Notes: General vacation speech uses Chromecast only; the garage Alexa welcome is the one local-device exception.
# Notes: Visit analytics use recorder-backed visit counts plus arrival/departure helpers for accurate durations.
# Notes: Dorm zones are reported as away locations, not Bear Stone home.
@ -27,7 +28,6 @@ input_boolean:
vacation_mode:
name:Vacation Mode
icon:mdi:palm-tree
initial:off
house_sitter_present:
name:House Sitter Present
icon:mdi:account-key
@ -404,6 +404,9 @@ automation:
event:start
- platform:time_pattern
hours:"/1"
- platform:event
event_type:tesla_road_trip_active
id:tesla_road_trip
condition:
- condition:state
@ -414,7 +417,9 @@ automation:
{% set family_away = is_state('group.family', 'not_home') %}
{% set family_away_seconds = as_timestamp(now()) - as_timestamp(states.group.family.last_changed, 0) %}
{% set bed_unused_seconds = as_timestamp(now()) - as_timestamp(states.group.bed.last_changed, 0) %}