FireTV Photo Frame

I’ve long been in search of the holy grail of family photos: My TVs showing my family pictures at all times. I sync all my photos to Google Photos for backup and this makes my Google Chromecasts happy. They can default to my photo collection and they do a great job of choosing interesting pics and displaying them in clever ways.

Unfortunately though, all my TVs actually use Amazon Fire TVs. So a few years ago I started syncing my photos to Amazon as well and I set my screensaver to show my family photos. This is a good solution, but the FireTVs shut themselves off after 20 minutes of inactivity and you can’t set the screensaver timeout for less than 5 minutes. So that gives you 15 minutes of photos as your best bet, with 5 minutes of useless advertisements on the homescreen.

Fortunately there’s a solution to this problem. AFTV News details how to set the screensaver and time off timeout using adb but I wanted to take that just one step further. I wrote a really simple shell script that you can run on the firetv to set the screensaver start time and the firetv shut down time.

Here’s the script:

# Use this to set the screensaver on a firetv
# you can't set it as executable (unless you're rooted)
# so you need to run it as:
# $ source ./sleep_settings.sh
echo "Enter screensaver timeout in minutes (Default 5)"
read SCREENSAVER_ON_IN_MINUTES
echo "Enter screen off timeout in minutes (Default 20)"
read SLEEP_IN_MINUTES

SCREENSAVER_IN_MILLISECONDS=`expr "$SCREENSAVER_ON_IN_MINUTES" \* 60000`
SLEEP_IN_MILLISECONDS=`expr "$SLEEP_IN_MINUTES" \* 60000`

set -x
settings put system screen_off_timeout $SCREENSAVER_IN_MILLISECONDS
settings put secure sleep_timeout $SLEEP_IN_MILLISECONDS
set +x

Save the script to a file, I’ll assume you name it sleep_settings.sh. Once you’ve done that run the following:

adb kill-server
adb connect <IP Of Your FireTV>
adb push sleep_settings.sh /sdcard
adb shell
source /sdcard/sleep_settings.sh
exit

That’s it! I set the screen saver to 1 minute and the sleep timeout to 120 minutes. This kicks on my photos quickly and lets them run for a while.