Had an old iPad in a drawer that can’t install anything from the App Store anymore, so it became a photo frame. It loads a fullscreen page from a Home Assistant add-on I wrote and cycles through family photos straight off the SMB share on my NAS. No cloud, no account.
In the morning the hallway motion sensor switches it into weather mode for a couple of hours, so every 8th photo becomes a weather screen with the next 12 hours. The latest version also has a small weather badge in the corner that can stay up all day, or only show up when rain, snow, frost or heat is coming. HA just pushes to it with two rest_commands - the frame itself has no token for HA.
The part I’m happiest with is the bin reminder. The frame tells you the day before which bin goes out, and you don’t type the dates in: you upload the PDF leaflet from your municipality and it reads the dates out of it, locally, no OCR. It works off the coloured cells in the calendar grid (row = ISO week, column = weekday) and checks each one against the printed day number.
It does ingress now too, so it opens from the HA sidebar, and with Mosquitto running it creates MQTT entities for the next collection, photo count and weather mode on its own.
Most of the work honestly went into old Safari. iOS 9 silently ignores half of modern CSS, so everything has px fallbacks and the weather screen is laid out with tables.
Install: Settings > Add-ons > Add-on Store > three dots > Repositories > add https://github.com/emo546/ha-snapframe
If you have an ancient iPad and something looks broken on it, tell me the iOS version.
That’s actually awesome! Thank you for sharing this with us. We also have an old iPad Air in the drawer but I hesitated to use it as a HA Display because it does not need to be always on and draw power without anyone looking at it. I was thinking about getting an E-Ink Display, but from what I have read, you managed to remotely trigger the iPad on / off when a presence detector fires? I do not have one yet, but I need to try this.
In another post here you write, that you parse PDFs from your Waste collector to get the schedules… you are probably aware of it, but in HACS, there is an Add-On “Waste Collection Schedule” that has support for the APIs of hundreds of waste collectors around the world. Maybe your area is included: https://github.com/mampfes/hacs_waste_collection_schedule
Edit: If it would be possible to let it render a HA Dashboard, it would actually be able to display everything that HA already can, without the need to implement the functionality within your Add-On. This is just after I started reading the GitHub page and Documentation, so maybe you already do that. I am not asking for interactivity like when opening the HA Website in the Browser (which might or might not work on very old iPads), but just “converting” a specific Dashboard to a picture and show it on the Screen. Let it update every X minutes and we can see everything we can render within HA.
Ooh, I have an iPad Air 2 with iOS 12! Sounds like it’s overpowered for this task. 😂 I’m going to check out this add-on when I get home.
If the device can open a modern web page,
Mine cannot, any hope for me? It’s an iPad 2 from 2011.
iPad 2 should actually be fine. It tops out at iOS 9.3.5, and Safari 9 is exactly the baseline I build against - that’s why the layouts use plain px sizes and table-based fallbacks instead of flex gap and clamp(), which that Safari silently throws away.
When an old iPad “can’t open modern web pages” it’s usually the TLS certificates rather than the page itself. SnapFrame is served from your own HA box over plain http on your LAN, so that part doesn’t apply.
If you try it and something renders wrong, tell me the iOS version and what looks off - that’s the hardware the whole project is aimed at.
Ooof. I have TWO iPad 1s. Still running. Sure would love to put them to use.
Correcting myself here: I actually have it running on an iPad 1, so it’s worth a try after all.
My baseline when building the layouts is Safari 9, so I can’t promise every screen looks exactly right that far back. If something does render oddly on yours, tell me what it looks like and I’ll have a go at fixing it.
Thanks so much and very exciting!
I’m not looking for much in the way of controls, just displaying some Now Playing info and a static but refreshing image from my security cameras.
I’ll try it today!
Very cool - I need to try something like this. I wonder what happened to that old iPad.
I’ve been considering replacing my iPad since the screen is cracked and the battery is unhappy. It’s probably not noticeable from a distance.
A cracked screen and a tired battery matter a lot less once it’s a frame - mine hangs on a wall on a charger and never runs on battery. If the battery is swollen rather than just weak, don’t leave it charging unattended though.
Nothing gets installed on the tablet either, it’s just Safari in fullscreen pointed at the add-on, so an iPad that can’t take app updates anymore is fine.
It looks good.
I want to do something similar with an Android tablet so that I can replace the Amazon ad delivery system in my kitchen. All I use it for now is timers and a shopping list.
I never get the time to do it though.
Straight answer: SnapFrame won’t replace the timers and the shopping list. It does photos, a weather screen, and a bin-collection reminder - that’s the lot.
For a kitchen tablet the usual setup is a Home Assistant dashboard in a kiosk browser, where you can put a timer helper and a to-do list on screen, and SnapFrame as the thing it falls back to when nobody’s using it.
The display side is just a fullscreen web page, so an Android tablet is no problem at all - old iPad Safari was the hard part, Android browsers are easy in comparison.


