Hi,
I am on HA 2025.9.0. I enabled the native immich integration. (Immich - Home Assistant ). I can see my pictures in the media browser.
I would like to show a random picture as part of a dashboard (the way the old third-party immich integration allowed one to do). So not using wall panel in the background, but just a refreshing picture as part of a dashboard.
I can’t seem to figure out how to do this. For one, the standard picture card refuses to show any pictures from the immich media source. For example:
media-source://immich/1084a0ff-82ae-4bda-8f78-6b383443bcab|albums|4ac3124b-60fc-4d49-8f3a-e6db10535a97/IMG_6737.HEIC (or without the last image name)
What is the simplest way to do something like this?
Thank you
Dan
2 Likes
QuAY3
September 24, 2025, 8:34am
2
@DanTulovsky
I’m at the same point right now.
I’ve installed Immich Integration and would now like to integrate a random image/slideshow into the dashboard, preferably with filters for album, tag, etc.
Tapaction on Immich WebUI would be the icing on the cake.
Do we need an additional component such as GitHub - outadoc/immich-home-assistant: Home Assistant component to display random pictures from your Immich library. ?
It would be great if someone could help us with this.
karwosts
(karwosts)
November 10, 2025, 5:00pm
4
I’ve been mulling this idea for a little while and started some work on this, which may help you. Still in early stages but it might be interesting to follow.
dev ← karwosts:photo-frame
opened 02:55PM - 09 Nov 25 UTC
## Proposed change
This is a new integration which allows the user to select a … folder[^1] from the media browser during config flow. The integration then creates a single `image` entity, which displays a random image from that folder.
This image entity can be used to then display this random image in any frontend picture card or frontend view background.
A single 'shuffle' service is implemented to choose a next random image from the folder, allowing users to implement a virtual version of a digital photo frame on dashboards.
I researched a bit if there are other ways to achieve the same objective without an integration, but it seemed like the only solutions were fairly complicated involving custom components or writing bash scripts in the filesystem. So I hope a simple easy-setup way to achieve this would be helpful.
I put this up early while I finish up quality scale, docs, and testing for early feedback, so if anyone thinks that this is not necessary and I'm missing a simpler solution, or violates some policy of allowed integrations, please let me know!
[^1]: requires a frontend change https://github.com/home-assistant/frontend/pull/27873
## Type of change
- [ ] Dependency upgrade
- [ ] Bugfix (non-breaking change which fixes an issue)
- [x] New integration (thank you!)
- [ ] New feature (which adds functionality to an existing integration)
- [ ] Deprecation (breaking change to happen in the future)
- [ ] Breaking change (fix/feature causing existing functionality to break)
- [ ] Code quality improvements to existing code or addition of tests
## Additional information
- This PR fixes or closes issue: fixes #
- This PR is related to issue:
- Link to documentation pull request:
- Link to developer documentation pull request:
- Link to frontend pull request: https://github.com/home-assistant/frontend/pull/27873
- Link to brands pull request: https://github.com/home-assistant/brands/pull/8405
## Checklist
- [x] I understand the code I am submitting and can explain how it works.
- [x] The code change is tested and works locally.
- [x] Local tests pass. **Your PR cannot be merged unless tests pass**
- [x] There is no commented out code in this PR.
- [x] I have followed the [development checklist][dev-checklist]
- [x] I have followed the [perfect PR recommendations][perfect-pr]
- [x] The code has been formatted using Ruff (`ruff format homeassistant tests`)
- [x] Tests have been added to verify that the new code works.
- [x] Any generated code has been carefully reviewed for correctness and compliance with project standards.
If user exposed functionality or configuration variables are added/changed:
- [ ] Documentation added/updated for [www.home-assistant.io][docs-repository]
If the code communicates with devices, web services, or third-party tools:
- [ ] The [manifest file][manifest-docs] has all fields filled out correctly.
Updated and included derived files by running: `python3 -m script.hassfest`.
- [ ] New or updated dependencies have been added to `requirements_all.txt`.
Updated by running `python3 -m script.gen_requirements_all`.
- [ ] For the updated dependencies - a link to the changelog, or at minimum a diff between library versions is added to the PR description.
To help with the load of incoming pull requests:
- [ ] I have reviewed two other [open pull requests][prs] in this repository.
[prs]: https://github.com/home-assistant/core/pulls?q=is%3Aopen+is%3Apr+-author%3A%40me+-draft%3Atrue+-label%3Awaiting-for-upstream+sort%3Acreated-desc+review%3Anone+-status%3Afailure
[dev-checklist]: https://developers.home-assistant.io/docs/development_checklist/
[manifest-docs]: https://developers.home-assistant.io/docs/creating_integration_manifest/
[quality-scale]: https://developers.home-assistant.io/docs/integration_quality_scale_index/
[docs-repository]: https://github.com/home-assistant/home-assistant.io
[perfect-pr]: https://developers.home-assistant.io/docs/review-process/#creating-the-perfect-pr