Commit Graph

87 Commits

Author SHA1 Message Date
alexei.dolgolyov e526a54130 Add Telegram chat action and simplify memory mode schedule
- Add chat_action parameter to all Telegram notifications
- Support typing, upload_photo, upload_video, upload_document actions
- Make memory mode interval fixed at 24h (daily notifications)
- Remove configurable interval input for memory mode

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 02:48:09 +03:00
alexei.dolgolyov dce47a9f75 Add asset sorting and favorites-only filter for notifications
New notification settings for "assets added" events:
- Sort Assets By: date, rating, name, or original order
- Sort Direction: ascending or descending
- Notify Favorites Only: filter to only favorite assets

Rating sort handles null values by placing unrated assets last
(descending) or first (ascending).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 14:54:36 +03:00
alexei.dolgolyov b48d78a188 Add Memory Mode as separate feature with independent schedule
Replace the previous memory order_by option with a dedicated Memory Mode
feature that has its own enable toggle, schedule (interval/start hour),
and settings. Users can now run both Scheduled Assets and Memory Mode
independently at different times.

Memory Mode fetches photos taken on today's date in previous years using
the memory_date parameter, sorted by date ascending (oldest first).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 14:23:57 +03:00
alexei.dolgolyov 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
alexei.dolgolyov 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
alexei.dolgolyov 678cdafc39 Add link to Immich Album Watcher integration in README
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 00:33:53 +03:00
alexei.dolgolyov 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
alexei.dolgolyov 29158b8b07 Update README with album date placeholders documentation
Added {album_created} and {album_updated} to:
- Message Template Variables
- Asset Item Template Variables
- Album Item Template Variables (also added {album_id})
- Scheduled Assets Message Template Variables

Also added missing {common_date} and {common_location} to
Scheduled Assets documentation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-02 00:11:21 +03:00
alexei.dolgolyov 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
alexei.dolgolyov 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
alexei.dolgolyov 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
alexei.dolgolyov 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
alexei.dolgolyov 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
alexei.dolgolyov 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
alexei.dolgolyov 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
alexei.dolgolyov 3af3966ac3 Fix geolocation for Immich blueprint 2026-02-01 03:10:10 +03:00
alexei.dolgolyov 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
alexei.dolgolyov 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
alexei.dolgolyov 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
alexei.dolgolyov 26019b1c0c Immich Album Watcher now support scheduled assets 2026-02-01 02:23:07 +03:00
alexei.dolgolyov 2f2c242e08 Upgrade the immich automation 2026-02-01 01:16:49 +03:00
alexei.dolgolyov d8086e0d77 Add support for favorite and rating values for assets 2026-01-31 18:16:10 +03:00
alexei.dolgolyov 8fd6dc5774 Add support for common and unique date templates. Add ability to fire summary event to test the feature. 2026-01-31 17:03:05 +03:00
alexei.dolgolyov 3732055720 Fix reply to message data access 2026-01-31 16:04:48 +03:00
alexei.dolgolyov 182e7cccfb Add album lifecycle events and fix Telegram notification service calls
- Add support for album renamed and deleted events with notification templates
- Fix missing response_variable for all telegram service calls
- Enhance debug notifications with formatted sections and Telegram diagnostics
- Add reply_to_message_id debug logging for troubleshooting
- Update version to 1.14.8

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-31 15:54:59 +03:00
alexei.dolgolyov 40da078ba5 Attempt to use update API of immich album watcher integration to send telegram notifications 2026-01-31 14:48:27 +03:00
alexei.dolgolyov 4d4fa887af Add GitHub community files
- CONTRIBUTING.md with blueprint submission guidelines
- Issue templates for bugs and feature requests
- Pull request template

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 04:18:13 +03:00
alexei.dolgolyov d1b4f23971 Now the blueprint tries to use album watcher integration service to send telegram media group 2026-01-31 04:07:29 +03:00
alexei.dolgolyov 18204e98c1 Add timeout for rest command 2026-01-31 03:05:48 +03:00
alexei.dolgolyov ee290b8943 Add support for multiple media groups for Telegram 2026-01-31 02:46:21 +03:00
alexei.dolgolyov d30722498e Telegram media group seems to work now 2026-01-31 02:39:12 +03:00
alexei.dolgolyov 97a6ade0a4 Add ability to disable preview URL for message 2026-01-31 02:18:16 +03:00
alexei.dolgolyov 6436f2092f Remove .gitea workflows 2026-01-31 01:38:09 +03:00
alexei.dolgolyov 9a40687a87 Change default template for datetime to include UTC substring
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-01-30 19:25:26 +03:00
alexei.dolgolyov 838eefcaba Add start hour for Immich Album Watcher blueprint
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-01-30 19:22:54 +03:00
alexei.dolgolyov f30ed433fd That album ids entities which also provide with required attributes. Change default datetime format.
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-01-30 16:12:33 +03:00
alexei.dolgolyov 26583a76d2 Add customizable date-time format
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-01-30 15:36:22 +03:00
alexei.dolgolyov d3ddf4e6fc Add MIT license file
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-01-30 14:50:29 +03:00
alexei.dolgolyov df3413d11a Removed unused blueprint in Test folder
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-01-30 14:47:16 +03:00
alexei.dolgolyov e6ed20687f Add manifest.json that contains version of the repository content. Update CLAUDE.md with new versioning rules.
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-01-30 14:46:43 +03:00
alexei.dolgolyov 9ddfc00b03 Improve Immich Album Watcher blueprint
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-01-30 14:09:45 +03:00
alexei.dolgolyov 570b0ece76 Add periodic summary functionality for Immich Album Watcher
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 2m15s
2026-01-30 13:42:05 +03:00
alexei.dolgolyov ad5f230689 Add ability to send telegram photos/videos for Immich Watcher
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-01-30 05:23:42 +03:00
alexei.dolgolyov 5f1cdb6874 Improve logging for Telegram Question blueprint 2026-01-30 05:00:40 +03:00
alexei.dolgolyov 49eddd482c Add hub tracking logic
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-01-30 02:50:28 +03:00
alexei.dolgolyov 332a47312f Added flag to track images/video or not. Added separate templates for image/video.
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-01-30 01:55:14 +03:00
alexei.dolgolyov cb6256feef Add support for asset_description asset description
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-01-30 01:33:38 +03:00
alexei.dolgolyov c9dce59ba2 Update README. Add Immich Album Watcher blueprint.
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 4s
2026-01-30 00:58:09 +03:00
alexei.dolgolyov 2305be1a06 One more fix for Washing Machine.yaml. Add better variable comments.
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 3s
2026-01-29 15:57:49 +03:00
alexei.dolgolyov b2f71eef0c Potencial fix for Washing Machine.yaml nofitications.
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 5s
2026-01-29 15:29:46 +03:00