mirror of
https://github.com/alexbelgium/hassio-addons.git
synced 2026-03-18 18:52:10 +01:00
- Add General display options (Interval, ShowClock, etc.) to addon config schema - Add per-Account filter options (Albums, People, ShowFavorites, etc.) to Accounts schema - Rewrite 99-run.sh to generate complete Settings.yaml with General and Accounts sections - env_vars are automatically classified as General or Account-level settings - Schema options take precedence over env_vars - Full backward compatibility: existing env_var configs continue to work - Update README with comprehensive options documentation - Bump version to 1.0.32.0-4 Co-authored-by: alexbelgium <44178713+alexbelgium@users.noreply.github.com>
187 lines
9.9 KiB
Markdown
187 lines
9.9 KiB
Markdown
# Home assistant add-on: Immich Frame
|
|
|
|
|
|
I maintain this and other Home Assistant add-ons in my free time: keeping up with upstream changes, HA changes, and testing on real hardware takes a lot of time (and some money). I use around 5-10 of my >110 addons so regularly I install test machines (and purchase some test services such as vpn) that I don't use myself to troubleshoot and improve the addons
|
|
|
|
If this add-on saves you time or makes your setup easier, I would be very grateful for your support!
|
|
|
|
[![Buy me a coffee][donation-badge]](https://www.buymeacoffee.com/alexbelgium)
|
|
[![Donate via PayPal][paypal-badge]](https://www.paypal.com/donate/?hosted_button_id=DZFULJZTP3UQA)
|
|
|
|
## Addon informations
|
|
|
|

|
|

|
|

|
|
|
|
[](https://www.codacy.com/gh/alexbelgium/hassio-addons/dashboard?utm_source=github.com&utm_medium=referral&utm_content=alexbelgium/hassio-addons&utm_campaign=Badge_Grade)
|
|
[](https://github.com/alexbelgium/hassio-addons/actions/workflows/weekly-supelinter.yaml)
|
|
[](https://github.com/alexbelgium/hassio-addons/actions/workflows/onpush_builder.yaml)
|
|
|
|
[donation-badge]: https://img.shields.io/badge/Buy%20me%20a%20coffee-%23d32f2f?logo=buy-me-a-coffee&style=flat&logoColor=white
|
|
[paypal-badge]: https://img.shields.io/badge/Donate%20via%20PayPal-0070BA?logo=paypal&style=flat&logoColor=white
|
|
|
|
_Thanks to everyone having starred my repo! To star it click on the image below, then it will be on top right. Thanks!_
|
|
|
|
[](https://github.com/alexbelgium/hassio-addons/stargazers)
|
|
|
|

|
|
|
|
## About
|
|
|
|
[Immich Frame](https://immichframe.online/) displays your Immich gallery as a digital photo frame. Transform any screen into a beautiful, rotating display of your personal photos and memories stored in Immich.
|
|
|
|
This addon allows you to create a digital photo frame that connects to your Immich server and displays your photos in a slideshow format, perfect for repurposing old tablets or monitors as dedicated photo displays.
|
|
|
|
## Configuration
|
|
|
|
Webui can be found at `<your-ip>:8171`.
|
|
|
|
### Options
|
|
|
|
#### Connection
|
|
|
|
| Option | Type | Description |
|
|
|--------|------|-------------|
|
|
| `ImmichServerUrl` | str | URL of your Immich server (e.g., `http://homeassistant:3001`). Used for single-account setup. |
|
|
| `ApiKey` | str | Immich API key for authentication. Used for single-account setup. |
|
|
| `Accounts` | list | List of Immich accounts for multi-account support. Each entry requires `ImmichServerUrl` and `ApiKey`, plus optional per-account filters (see below). |
|
|
| `TZ` | str | Timezone (e.g., `Europe/London`) |
|
|
|
|
#### General (Display) Options
|
|
|
|
These top-level options map to ImmichFrame's `General` settings and control the display behavior:
|
|
|
|
| Option | Type | Default | Description |
|
|
|--------|------|---------|-------------|
|
|
| `Interval` | int | 45 | Image display interval in seconds |
|
|
| `TransitionDuration` | float | 2 | Transition duration in seconds |
|
|
| `ShowClock` | bool | true | Display the current time |
|
|
| `ClockFormat` | str | `hh:mm` | Time format for the clock |
|
|
| `ClockDateFormat` | str | `eee, MMM d` | Date format for the clock |
|
|
| `ShowProgressBar` | bool | true | Display the progress bar |
|
|
| `ShowPhotoDate` | bool | true | Display the date of the current image |
|
|
| `PhotoDateFormat` | str | `MM/dd/yyyy` | Date format for photo dates |
|
|
| `ShowImageDesc` | bool | true | Display image description |
|
|
| `ShowPeopleDesc` | bool | true | Display people names |
|
|
| `ShowTagsDesc` | bool | true | Display tag names |
|
|
| `ShowAlbumName` | bool | true | Display album names |
|
|
| `ShowImageLocation` | bool | true | Display image location |
|
|
| `ShowWeatherDescription` | bool | true | Display weather description |
|
|
| `ImageZoom` | bool | true | Zoom into images for a touch of life |
|
|
| `ImagePan` | bool | false | Pan images in a random direction |
|
|
| `ImageFill` | bool | false | Fill available space (may crop) |
|
|
| `PlayAudio` | bool | false | Play audio for videos with audio tracks |
|
|
| `PrimaryColor` | str | `#f5deb3` | Primary UI color (hex) |
|
|
| `SecondaryColor` | str | `#000000` | Secondary UI color (hex) |
|
|
| `Style` | str | `none` | Background style: `none`, `solid`, `transition`, `blur` |
|
|
| `Layout` | str | `splitview` | Layout: `single` or `splitview` |
|
|
| `BaseFontSize` | str | `17px` | Base font size (CSS format) |
|
|
| `Language` | str | `en` | 2-digit ISO language code |
|
|
| `WeatherApiKey` | str | | OpenWeatherMap API key |
|
|
| `UnitSystem` | str | `imperial` | `imperial` or `metric` |
|
|
| `WeatherLatLong` | str | | Weather location as `lat,lon` |
|
|
| `ImageLocationFormat` | str | `City,State,Country` | Location display format |
|
|
| `DownloadImages` | bool | false | Download images to server |
|
|
| `RenewImagesDuration` | int | 30 | Re-download images after this many days |
|
|
| `RefreshAlbumPeopleInterval` | int | 12 | Hours between album/people refresh |
|
|
|
|
#### Per-Account Options
|
|
|
|
These options can be set within each `Accounts` entry to control which images are shown:
|
|
|
|
| Option | Type | Description |
|
|
|--------|------|-------------|
|
|
| `Albums` | str | Comma-separated album UUIDs |
|
|
| `ExcludedAlbums` | str | Comma-separated excluded album UUIDs |
|
|
| `People` | str | Comma-separated people UUIDs |
|
|
| `Tags` | str | Comma-separated tag paths (e.g., `Vacation,Travel/Europe`) |
|
|
| `ShowFavorites` | bool | Show favorite images |
|
|
| `ShowMemories` | bool | Show memory images |
|
|
| `ShowArchived` | bool | Show archived images |
|
|
| `ShowVideos` | bool | Include video assets |
|
|
| `ImagesFromDays` | int | Show images from the last X days |
|
|
| `ImagesFromDate` | str | Show images after this date |
|
|
| `ImagesUntilDate` | str | Show images before this date |
|
|
| `Rating` | int | Filter by star rating (-1 to 5) |
|
|
|
|
### Single Account Example
|
|
|
|
```yaml
|
|
ImmichServerUrl: "http://homeassistant:3001"
|
|
ApiKey: "your-immich-api-key-here"
|
|
TZ: "Europe/London"
|
|
ShowClock: false
|
|
Interval: 30
|
|
PhotoDateFormat: "dd/MM/yyyy"
|
|
```
|
|
|
|
### Multi-Account Example
|
|
|
|
To display photos from multiple Immich accounts (e.g., you and your partner), use the `Accounts` list:
|
|
|
|
```yaml
|
|
Accounts:
|
|
- ImmichServerUrl: "http://homeassistant:3001"
|
|
ApiKey: "api-key-for-user-1"
|
|
Albums: "album-uuid-1,album-uuid-2"
|
|
ShowFavorites: true
|
|
- ImmichServerUrl: "http://homeassistant:3001"
|
|
ApiKey: "api-key-for-user-2"
|
|
People: "person-uuid-1,person-uuid-2"
|
|
ShowClock: false
|
|
Interval: 40
|
|
TZ: "Europe/London"
|
|
```
|
|
|
|
When using the `Accounts` list, the `ApiKey` and `ImmichServerUrl` top-level options are not needed. Images will be drawn from each account proportionally based on the total number of images present in each account.
|
|
|
|
For more configuration options, see the [ImmichFrame documentation](https://immichframe.dev/docs/getting-started/configuration).
|
|
|
|
### Getting Your Immich API Key
|
|
|
|
1. Open your Immich web interface
|
|
2. Go to **Administration** > **API Keys**
|
|
3. Click **Create API Key**
|
|
4. Give it a descriptive name (e.g., "Photo Frame")
|
|
5. Copy the generated API key and paste it in the addon configuration
|
|
|
|
### Custom Scripts and Environment Variables
|
|
|
|
This addon supports custom scripts and environment variables through the `addon_config` mapping:
|
|
|
|
- **Custom scripts**: See [Running Custom Scripts in Addons](https://github.com/alexbelgium/hassio-addons/wiki/Running-custom-scripts-in-Addons)
|
|
- **env_vars option**: Use the add-on `env_vars` option to pass extra ImmichFrame settings not available in the addon UI. Environment variables are automatically classified as General or Account-level settings and written to `Settings.yaml`. See https://github.com/alexbelgium/hassio-addons/wiki/Add-Environment-variables-to-your-Addon-2 for details.
|
|
|
|
**env_vars example** (for settings not in the UI):
|
|
```yaml
|
|
env_vars:
|
|
- name: AuthenticationSecret
|
|
value: "my-secret"
|
|
- name: Webhook
|
|
value: "http://example.com/notify"
|
|
```
|
|
|
|
## Installation
|
|
|
|
The installation of this add-on is pretty straightforward and not different in
|
|
comparison to installing any other Hass.io add-on.
|
|
|
|
1. Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA)
|
|
[](https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Falexbelgium%2Fhassio-addons)
|
|
1. Install this add-on.
|
|
1. Configure your Immich server URL and API key.
|
|
1. Click the `Save` button to store your configuration.
|
|
1. Start the add-on.
|
|
1. Check the logs of the add-on to see if everything went well.
|
|
1. Open the webUI to configure your photo frame settings.
|
|
|
|
## Support
|
|
|
|
Create an issue on github, or ask on the [home assistant community forum](https://community.home-assistant.io/)
|
|
|
|
For more information about Immich Frame, visit: https://immichframe.online/
|
|
|
|
[repository]: https://github.com/alexbelgium/hassio-addons
|
|
|