Serving your own apps and more

Dear Tidbyt Community,

I have had my Tidbyt now for about 2 months and really like it. It’s providing me with info at a glance that I didn’t have readily available before - just as it promises to do.

But I have set it up in probably a very different way than most.

Of course, I use some of the available apps (currently Netatmo by danmcclain, Clock by Henry, Weather by Tidbyt, Men’s Soccer by jvivona (3 instances for UK, Germany and Spain leagues)) but I have built my own apps (with very little programming knowledge) serving me content that wasn’t available in the Tidbyt app store (mainly probably because there aren’t many user in my neck of the woods, i.e. Vienna, Austria, Europe).

But let’s start at the beginning: I bought the Tidbyt because I was hoping that I could finally show some important traffic information for the buses and trams/subways for my kids in the morning plus the weather data to help them answer two questions I always get from them at 7:30am in the morning: how cold is it and when does the next bus run?

The weather was solved easily (see above - Netatmo and Weather apps). But the bus schedule of the Vienna public transportation was not available.

So I started to dig in. First, I reviewed and analyzed several public transportation apps from the community. I started to learn more than I ever cared to know about json data plus started to program in python (mind you, my programming skills are extremely low and go back to a time that I’m even afraid to disclose because I would get laughed at…). Lastly, I looked into how to serve any apps just to my own Tidbyt because I didn’t want to go through the hassle of publishing my apps (but I always was planning on sharing the info here with the community in case there are other users here in Austria or elsewhere that would like to do the same and use my apps and my self-serve approach - and that’s what I’m doing here now). Serving your own apps on your home network requires a server (I’m using a Mac mini which is running 24/7 anyway) and fiddling with LaunchDaemons - but it works like a charm (with some minor quirks).

To make a long story short, I know have 4 “own” apps that I have running on my Tidbyt:

  1. Vienna Public Transportation information - showing a specific station’s departure times for both platforms of the station
  2. What’s on Radio Vienna (my favorite station here) - showing the song, the artist, the album cover, the start time and the end time of the song
  3. Solar Monitor - showing the power injection into my home power network and the connected battery from my eet.energy (small Austrian startup) solar station I have on my roof (this one required the installation of the company’s SDK on the server to get the data from the solar panel)
  4. Men’s Soccer - a hard-coded version of the Men’s Soccer app displaying the Austrian Soccer schedule (which isn’t available as a selection)

All of this is timed for different days during the week plus different times during the day - whenever we need it - to be served to the Tidbyt at home.

For 1., 3. and 4. I have used and reworked some community apps (for 1: Alex Miller’s Minnesota Light Rail app; for 3: marcusb’s SolarEdge monitor app; for 4: jvivona’s SoccerMens app). The Radio app I programmed from the ground up (using some code tidbits here and there - mainly around displaying the information (which is one of the issues I have with Tidbyt - rendering the output is a pain in the a…)).

I have started separate threads for three of them to explain what I did and share the code plus explain how I’m serving them to my Tidbyt at home.

One thing I wanted to add: I have also used ChatGPT to help me with some of the Python code and I have to say working with it was incredible. It’s not flawless (I had some instances where it gave me code that I saw wouldn’t work when reviewing it. Then I would tell ChatGPT what I think wouldn’t work, it apologized for the mistake and gave me a new version of the code - sometimes this took a few iterations but in most cases I got what I wanted (and much faster than if I would have had to type/program it myself) - in some cases, I started over because the output was very poor. But all in all, it’s an incredibly helpful tool, especially if you don’t have great programming skills - it can explain the code and help you further understand how things work - we are entering a truly amazing time with AI now… but that’s for a different thread. Btw, it cannot program code directly for Tidbyt (you have to go via Python which can sometimes be a bit difficult) because ChatGPT’s info only goes to 2019, a time before Tidbyt and maybe even pixlet - not sure).

Anyway, here are the links to three threads:
[placeholder - need to post first - will update immediately]

  1. coming soon
  2. https://discuss.tidbyt.com/t/self-serving-app-radio-wien-radio-vienna/4973
  3. coming soon

I have not posted a thread on the Soccermen app adjustment because all I did was hard-coding the soccer league to the Austrian league which is also available via the ESPN API (Code: “aut.1”) - nothing else is necessary. Serving it to the Tidbyt works the same way as I described in the other threads. So, if you want a specific league that isn’t available in Soccermens, check it’s short-code on ESPN, hard-code it into the app and off you go.

Note: bear with me… forum doesn’t allow more than 3 posts every 24 hours… rest coming tomorrow…

Many users self serve apps by running scripts on their own hardware to refresh and push to pixlet.

Just a thought

Wasn’t aware. I didn’t find much on the topic that’s why i thought I share my experiences.

@pineapple you run a cron job for this in linux right?

Yeah I did. Pretty sure many users do. You essentially just time when you rerun pixlet render and define config settings in the command line. And then you push it with an installation ID and what not so it stays in rotation.

Hope that my posts (linked above) can help with a step-by-step cookbook which I didn’t find in the forum - thus I wrote it. :slight_smile:

For some reason I can’t edit the original text anymore: Here are the links which I promised:

  1. Self-serving app: Vienna Public Transportation departures
  2. Self-serving app: Radio Wien (Radio Vienna)
  3. Self-serving app: eet.energy Solar Panel