My wife got me a Tidbyt for Christmas. It is basically a 32x64 (I think) pixel display that has apps for all sorts of things. Clocks, weather info, stock prices, etc.
Users are able to write their own apps. I’m considering trying to do this for Roon. I’d like to display artist, track, and album. Seems simple, but I’m sure the devil is in the details. Presumably, I can get the Tidbyt to talk to Roon, as they both have API.
Yep, that’s it. I’m assuming I can get my Roon computer and this to talk, but I need to dive into the code for both. In my mind, it is simple … but I’m sure I’m way too optimistic.
I’ve started diving into this. I have half of it working, which means I’m probably 10% of the way there.
The info I’d really like from the Roon API is:
is Roon currently playing to a particular endpoint?
track/artist/album for current playing
track/artist/album for next in queue
Basically, I only want the Tidbyt to display if Roon is actually playing music. If so, show the current track details. Then show the next track details.
I’ve gotten things just about working on the tidbyt and I’m happy to share but it isn’t the easiest install. The problem is you have to use private apis (local roon core) so tidbyt doesn’t really support it (at least easily).
Here are the basic steps
1.) install WSL (on windows only)
2.) install a library that exposes the roon api as a web service
3.) install a library that gives you a call back every time something changes in roon
4.) use the tidbyt sdk to push a webp every time there is an update from step 3
5.) find a way to make this all automatically start up on whatever computer you are using to host all of this
So far I’ve gotten everything to work like I show in the picture with minimal pushes to the tidbyt. I kind of have “up next” working but that is using “not fully released code” from roon and I haen’t quite figured it out yet.
I’ll upload all my code to github this week (at least by this weekend) as soon as I clean the secrets out of it.
If anyone tries the install and you keep good notes on what you had to do to get things working I’ll incorporate that into the install instructions
Just got an ad for this and was wondering if it would work. Doesn’t Roon have a website display feature. Wouldnt it just be as simple as having a browser type app on Tidbyt direct to thr website display?
So I looked into this and ended up even making an app.
Then I found out that the tidbyt apps run in their cloud infrastructure and not on the tidbyt device itself. So in order to get a roon app working for tidbyt in production (on your actual device and easily distributed in their ecosystem) you’d have to require users of the app open a port to a roon api wrapper (hosted on your local network) to the internet, which is a deal breaker in basically every way and definitely not something I’m comfortable with, so I just dropped the pull request and promptly returned my Tidbyt. Honestly, I’d suggest everyone else do the same.
When the company goes under all the devices will stop working anyway. Damn shame they architected it that way instead of running the apps on-device.
Does the security concern only come into play if you want to distribute more broadly and make it easy to set up? It seems feasible to do it all within a local network.