Commit Graph

14 Commits

Author SHA1 Message Date
9bb7824a38 Add Memory mode for On This Day scheduled assets
Add new "Memory (On This Day)" option to scheduled assets Order By
selector. When selected, fetches photos taken on today's date in
previous years using the on_this_day parameter from get_assets service.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:27:23 +03:00
7b1ede89a3 Fix whitespace in periodic summary by inlining albums list
Inline periodic_albums_list computation into periodic_summary_formatted
using {%- -%} whitespace control to prevent unwanted whitespace in the
formatted output. Add documentation about this Jinja2 pattern to CLAUDE.md.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 12:06:17 +03:00
4fad85ebe9 Fix album updated attribute name to last_updated_at
The album entity uses 'last_updated_at' not 'updated_at' for the
last update timestamp attribute.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 00:30:31 +03:00
94ca8273b1 Add album created and updated date placeholders
Added {album_created} and {album_updated} placeholders to album-related
templates, using the existing date_format for formatting:

- periodic_album_template: reads from entity attributes
- scheduled_assets_message: reads from entity attributes (per_album/random mode)
- message_assets_added: looks up entity by event_album_id
- message_assets_removed: looks up entity by event_album_id
- message_asset_image/video: added placeholders

For combined mode, album dates are empty (no single album).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 23:51:20 +03:00
39f780b46c Fix event data variables for time_pattern triggers
Added guards to event data variables (event_hub_name, event_album_name,
etc.) to check if trigger.event is defined before accessing it.

Previously, these variables would error when the trigger was time_pattern
(hourly_timer) since trigger.event doesn't exist for non-event triggers,
causing the entire automation to fail silently.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 22:53:49 +03:00
369ffe3fb7 Rename time_pattern trigger to hourly_timer
Renamed the shared time_pattern trigger from "periodic_summary" to
"hourly_timer" since it serves both periodic summary and scheduled
assets features. This makes the trigger's purpose clearer.

Updated all references in should_send_periodic_summary,
should_send_scheduled_assets, and the condition block.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 22:29:45 +03:00
d8df567d02 Fix whitespace stripping in video warning template
Applied the same inline computation fix to {video_warning} placeholder
that was previously done for {common_date} and {common_location}.

Computes video_warning_text inline using {%- set -%} syntax instead of
storing as a separate HA variable, which strips leading whitespace.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 21:28:12 +03:00
330026a44a Skip videos without playback URL
Videos without a playback_url are now filtered out in all contexts:
- Realtime event notifications
- Scheduled assets (per_album/random mode)
- Scheduled assets (combined mode)

This prevents sending video entries that cannot be played back.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 21:13:44 +03:00
f86839dab4 Fix per-album limit calculation in combined mode
Fixed Jinja2 operator precedence issue where `limit | int // count | int`
was being parsed ambiguously. Added explicit parentheses to ensure correct
floor division: `((limit | int) // (count | int))`.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 03:52:04 +03:00
b1cedcd317 Fix whitespace stripping in common date/location templates
- Compute common_date and common_location inline using {%- set -%} syntax
  instead of as separate HA variables, which strips leading whitespace
- Fix CASE 3 (Changed) handler missing common_date/common_location support
- Remove unused global common_date and common_location variable definitions
- Apply fix to all message templates: scheduled assets (per_album, combined),
  realtime notifications (assets_added, changed), and Telegram messages

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 03:48:31 +03:00
3af3966ac3 Fix geolocation for Immich blueprint 2026-02-01 03:10:10 +03:00
ec680e8e7f Add location placeholders to asset template descriptions
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 02:53:09 +03:00
e63bb3da95 Add reverse geocoding location support and fix NoneType error
- Add location template inputs (common_location_template, location_if_unique_template, location_format)
- Display common location in header when all assets share the same location
- Show per-asset location when locations differ using {location_if_unique}
- Location only shown when all three fields (city, state, country) are present
- Fix TypeError on NoneType length check when asset.created_at is null
- Add defensive checks for date parsing to prevent template errors

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 02:51:15 +03:00
7b00899903 Restructure repository: organize blueprints into folders
Each blueprint now has its own folder containing:
- blueprint.yaml: The automation code with a short header
- README.md: Detailed documentation extracted from headers

Updated CLAUDE.md with repository structure guidelines.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-01 02:38:52 +03:00