Set it up without AI.
Every step, by hand, on a Mac. Copy each command into Terminal, press Return, and wait for it to finish before the next one.
What you need
- A Google TV or Android TV, or a Samsung with Art Mode (2021 or newer), on your home Wi-Fi.
- A Mac on the same Wi-Fi. Linux works the same way and is in beta. Windows is not supported.
- Google Chrome on the Mac. It draws the picture.
- A few of your photos, as JPEG or iPhone photos.
- Google TV only: the TV app has no download yet, so you build it once on the Mac with free tools from Google and Eclipse (step G4).
There is no phone only setup. A Google TV only lets a computer change its screensaver.
1. On the Mac, for every TV
-
Open Terminal
Applications, Utilities, Terminal. Check Python is 3.10 or newer:
python3 --versionIf the Mac offers to install the command line developer tools, choose Install and wait. If Python is missing or older, install Homebrew, then run
brew install python@3.12. -
Get the code
git clone https://github.com/Seagey/any-tv-art.git && cd any-tv-artEvery command from here on runs inside this
any-tv-artfolder. If you close Terminal, open it again and runcd any-tv-artfirst. -
Install it in its own folder
python3 -m venv .venv && .venv/bin/pip install -r requirements.txt && .venv/bin/pip install -e .This stays inside
any-tv-art. Ifpillow-heifwill not install, delete that line fromrequirements.txtand run it again. You only lose iPhone.heicphotos. -
Add your photos
mkdir photos && open photosDrag your photos into the folder that opens. Name one
12-25 tree.jpgand it shows on Christmas Day each year. -
Make your settings file
cp config.example.json config.json && open -e config.jsonIn TextEdit, first choose Edit, Substitutions and untick Smart Quotes, or the file will stop working. Then change:
"timezone"to yours, for example"Australia/Sydney"."place"to your suburb or town, never a street, for the weather.- Under
"tvs"there are two example TVs, each from a{to its}."Lounge"is the Google TV,"Hall"the Samsung. Keep the one for your kind of TV and delete the other, with the comma between them, so no comma is left before the closing]. - In the one you kept, set
"size_inch"to your screen size. Leave"ip"for now. - Delete the example reminder (
"Bins out tonight") unless you want it.
Save and close. If any command later says
config.json: ..., it names the line to fix. Every setting is explained here. -
See your picture on the Mac first
.venv/bin/anytvart preview && open data/preview-*.pngThe picture opens on the Mac with your photo, today's date and your weather. Nothing is sent to the TV. Not happy with it? Change
"look"inconfig.jsonand run it again.
2. Google TV and Android TV
The art becomes the TV's own screensaver. These steps are the no computer way: once it is set up, the Mac can be switched off.
-
Install Google's adb tool
brew install --cask android-platform-toolsCheck it with
adb version. -
Turn on network debugging on the TV
With the TV remote: Settings, System, About, then press Android TV OS build seven times. Go back to System, Developer options and turn on USB debugging, then Network debugging.
Older Android TVs: Settings, Device Preferences, About, press Build seven times. Names move between makers. If you only see Wireless debugging with a pairing code, see troubleshooting.
-
Find the TV and add its address
.venv/bin/anytvart identifyIt looks for about 20 seconds and changes nothing. Copy the address it prints next to
androidinto"ip"inconfig.json, then run:.venv/bin/anytvart read --tv "Lounge"The TV asks Allow USB debugging?: choose Always allow. If the Mac asks to find devices on your local network, choose Allow. Giving the TV a fixed address in your router stops it changing later.
-
Build the TV app, once
There is no download of the TV app yet, so the Mac builds it from the code you just got. First the free tools it needs, Java 21 and Google's Android SDK:
brew install --cask temurin@21 android-commandlinetoolssdkmanager --sdk_root="$HOME/Library/Android/sdk" "platforms;android-34" "build-tools;34.0.0"Type
yto accept Google's licence when it asks. Then build the app:sh scripts/build-apk.shThe first build downloads its own build tool and takes a few minutes. It is done when it prints
Built:and a path ending indist/any-tv-art.apk. -
Read the plan, then put the art on
.venv/bin/anytvart plan --tv "Lounge" --mode aloneIt lists every setting it would change. Nothing changes yet. When you are happy:
.venv/bin/anytvart apply --tv "Lounge" --mode aloneType
yeswhen it asks. It installs the app, copies up to 60 of your photos onto the TV, writes down every old setting for the undo, and sets art after 10 minutes idle. -
Try it
.venv/bin/anytvart show --tv "Lounge"The art opens now. Press any button to go back to TV. From now on it appears by itself 10 minutes after the last button press.
Want the calendar and reminders too?
Those need a Mac that stays on, running the bridge. Set "bridge": {"url": ...} to the Mac's address, use --mode bridge in step G5, and run .venv/bin/anytvart bridge. The Google TV guide has the detail.
2. Samsung with Art Mode
A fresh matted picture goes into Samsung's real Art Mode. No app to build. For a new picture every day, the Mac stays on.
-
Find the TV and add its address
.venv/bin/anytvart identifyIt says whether the TV has Art Mode and its year. Copy the address into
"ip"inconfig.json(the"Hall"line, with"kind": "samsung-art"). -
Pair the Mac with the TV
.venv/bin/anytvart pair --tv "Hall"The TV asks to allow any-tv-art. You have about 30 seconds to choose Allow. If nothing appears: Settings, General, External Device Manager, Device Connection Manager, Access Notification to First Time Only, and try again.
-
Send today's picture
.venv/bin/anytvart picture --tv "Hall"It makes the picture, uploads it to My Photos in 10 to 15 seconds and shows it. Your own photos are never touched.
-
A new picture every morning
sh scripts/service.sh installThis keeps the bridge running on the Mac and starts it again after a restart. From 5 am it sends a new picture once the TV answers. If you would rather watch it run, use
.venv/bin/anytvart bridgein a Terminal window instead. -
Check two TV settings
Auto Power Off off (Settings, General, Eco Solution), or the TV switches fully off and misses the picture. In Art Mode settings, Sleep After 15 or 30 minutes so the screen goes dark in an empty room.
The Samsung guide lists the rest.
Remove it
.venv/bin/anytvart undo --tv "Lounge"
Use your TV's name from config.json and type yes. On Google TV every setting goes back and the app and its photos are removed. On a Samsung your own picture goes back on, then only the pictures this tool uploaded are deleted. Running it twice is harmless. To stop the daily picture on a Mac: sh scripts/service.sh remove.
Stuck? Troubleshooting covers the common ones, and the tester form reaches Josh. .venv/bin/anytvart report --tv "Lounge" makes a copy of your TV's details with addresses and names taken out.