ImmichFrame (and more) on 19" Frameo Photo Frame (it's even 4:3 😱) #406
Replies: 5 comments 4 replies
-
|
Neat! Yeah our Frameo guide is specific to the older Android 6 ones. Same method should apply but the webview location may be different, and the updated webview will be a newer Lineage OS one. I know you have and use HA, but in case you didn’t know ImmichFrame can be set as the launcher/home app so it will start up on boot. Also there is a remote control API built into the ImmichFrame Android app for some common commands. If you wanted to add some brief documentation for the webview update method on newer builds we would welcome it! Just create a branch, edit the md file(s), and create a pull request. |
Beta Was this translation helpful? Give feedback.
-
|
Thank you for this write-up! Did you post this to Reddit? If not, why not :P |
Beta Was this translation helpful? Give feedback.
-
|
Happy that my guide was able to help! |
Beta Was this translation helpful? Give feedback.
-
|
Unfortunately this is not working with frameo and android 11 :D It does not allow you to install any apks... Even updating webview was not working for me, because the /product partition is caped to the usage size. |
Beta Was this translation helpful? Give feedback.
-
|
Oh man, that’s really locked down. I would think there must be a workaround for installing the APK at least. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Motivation and goals
Like a lot of folks out there, I always wanted to buy/build a digital photo frame that's big enough to really be an eye catcher.
My requirements always have been:
Lately, you can buy some hardware (Frameo, PicStar, ...) that check the first two boxes, but those still force you to use their own apps and backend to store your photos. Since I'm kinda paranoid about companies having access to private data - especially photos! - this was always a big red flag for me.
After discovering Immich and shortly after that this lovely project, I thought I might give it another try. I discovered there even is a guide how to "hack" older Frameo devices and thought "heck, I'll just order one of their bigger devices and see how it goes".
I decided to get the Denver PFF-1970, it's a 19" device with a 4:3 ratio and even has touch. It runs Android 10 and comes prepackaged with Frameo on it. Only major downside I found so far: It's rather glossy and does not handle light reflections very well.
Teaser
And here is a little teaser, how far I got. I'm pretty happy so far.
Don't mind the crappy look of the display, that's just my phone that's not able to deal with displays (╯°□°)╯︵ ┻━┻)
Road to victory
adb
First surprise: enabling adb was shockingly easy. There is even an official guide from Frameo. So just follow that and your good to go, it's literally just a few clicks (or taps I guess). It even has adb over wifi enabled by default after that. If that's a concern for you, there might be a way to disable that, but I found it to be very useful for integrating with Home Assistant.
Customizations
After that I basically took everything from the Frameo-Guide that I liked and installed a custom launcher (Smart TV Launcher) on top of it and I like it for now. I recently discovered that it normally has ads, but I don't see them because of my pihole.
Home Assistant Integration
Since this device has only one button (on/off/reboot) and touch, I'd need some form of custom remote. Since I was already using Home Assistant, that one was a no-brainer. I'm using the adb integration for everything right now, but planning to switch to REST-commands for everything ImmichFrame related.
Updating webview
At this point I basically had a plain android tablet with some vendor-oddities in my hands, but I can install what I want. So I thought to myself: "How cool would it be, if I could use this photo frame - that even has touch - to serve a second purpose as a Home Assistant dashboard?"
So I installed Home Assistant just to find out, that the installed webview is from another decade and slow as hell:

So anything more than a very basic dashboard with just a few controls would run laggy as hell and even on that very simple dashboard it was no fun interacting with brightness or temperature sliders.
Trying to replace/update/switch the installed webview failed on the first attempts. There even is a guide for older Frameo devices and I followed a few guides I found on the internet, but some part always failed. Sometimes the webview.apk wasn't in the place the guide told me it should be, sometimes I couldn't install the new webview because of a package id mismatch and one time I got through the whole process but somehow the webview version would stay at that age old version nonetheless.
Just today I stumbled across this gist from @cjlawson02, that finally got me up and running with an up to date webview implementation. With that, I can now run ImmichFrame with using WebView and also the Home Assistant app runs surprisingly smooth for a device with just 1GB RAM 🙈
What still doesn't work
There are still some things I'd like to achieve, but couldn't. If anyone has ideas or hints for those, I'd very appreciate it.
Start ImmichFrame on boot
I'd like the frame to start ImmichFrame after boot, but did not find a way to do that. I tried Automate, but it did not work. I feel like they somehow disabled autostart of services in the background, because Automate doesn't do anything, even if I configure it to run automations on boot.
As a workaround, I created an automation in Home Assistant, that starts ImmichFrame via adb if the frame reconnects to Wifi. Not ideal, but works for now.
Navigation Bar
The same problem with apps not starting in background stops me from using any navigation bar app. I'd like to simplify interaction with the frame using touch and there are some navigation bar apps that support a disappearing navigation bar that can be shown on swipe. Would be very handy to get out of the current app back to launcher without having to pull out my phone.
KDEConnect
Again, apps not starting in background stops me from using KDEConnect. Sometimes the buttons I integrated in Home Assistant are a little limiting, so I'd like to use the remote cursor/keyboard feature from KDEConnect.
Final thoughts
Overall I'm very happy with my current frame and how everything just works. I'm free to switch to any other app or backend, if for some reason I want to switch away from Immich in the future, I totally could. Not to mention, that displaying photos from Immich on a quite big digital frame is quite huge for me, especially because everything is local in my network - no third party services required.
Maybe this encourages someone to try it themselves. This kinda is a proof of concept, that it MIGHT be possible to enable adb even on newer Frameo devices. Even though Frameo does explicitly mention how to enable it in their support docs and they seem to be fine with this, ofc there are no guarantees and there will be some risk to buying bigger frames and tinkering with them.
I want to thank the people behind ImmichFrame for this great piece of software. Because of you, this dream finally became reality. The amount of work and dedication you put into not only developing this, but also figuring out all of the frameo stuff and even implementing special features just for those devices is incredible.
Also big thanks to the team behind Immich making all of this possible in the first place and special thanks to @cjlawson02 for the final pieces to get an up-to-date webview on this thing.
Happy hacking
Beta Was this translation helpful? Give feedback.
All reactions