Pi As A Status Board

This is a very sketchy idea. I actually had it a while back but @MacSparky talking about such things inspired me to raise it.

I have a spare Raspberry Pi and a spare 27" 1080p monitor.

The idea is to use the two of them to create a status board.

Ideally the board - in my case - would contain:

  1. OmniFocus Today perspective - and I have a sub which gets me the web client.
  2. Calendar. Difficult for me as only my iPad has access to my (work) calendar in any way that’s useful. (It’s in Calendar / Fantastical.)
  3. Drafts’ latest drafts (probably not possible right now).

As it’s a status board I don’t mind if it’s something I can update or not. It ought to update in near real time.

My candidate implementation would be Apache / PHP with probable iframes to hold each content type.

I’m not wedded to any of the above - other than the Pi/Monitor aspect. And I could abandon the idea.

Normally I’d prototype something and then blog about it. But

  1. What do you think of the idea?
  2. How would you implement it?
  3. What would you put in the status board?

I could throw this really wide open and say 'forget the restriction to Pi" but let’s not - for now. (For example, iPad could probably do this nicely if it were spare and if the windowing model were much better than it currently is.)

I’ve got something similar running using MagicMirror2 on one of my Pi’s

it displays:

  • Weather information
  • My next calendar appointments
  • My Omnifocus tasks in a calendar view using @RosemaryOrchard’s script and KM.
  • My energy usage / return overview
  • my football league scores and standing (not enabled in this view)
  • and so on…

In the screenshot my OF and other calendars are combined in 1 view, but you can make this look any way you want. Any other option is possible, f.e. a full week or month view.

There are a lot of other modules you can add as well.

While you’re working on something more permanent for your setup, this might give you a quick solution for the short term

The page modules have a dynamic refresh, and is shown here fullscreen in a browser on the Pi. (background is customisable)

1 Like

Would it be possible for you to link to the post with the @RosmaryOrchard script you ar using?

1 Like

It’s this post:

https://rosemaryorchard.com/blog/using-keyboard-maestro-to-create-an-always-up-to-date-task-calendar-from-my-omnifocus/

1 Like

This seems super interesting. I’ve been mulling over a similar idea but using a e-Ink display. Unfortunately those are not student budget friendly :cry: (it’s crazy! like $400 for a 8-inch display)

Using Raspberry Pi and a LCD panel, I’d probably go with javascript/HTML and make a mini-widget library.

I would want to style everything myself though. No iFrames. I know I’d hate that in a day or two.

It’d be roughly an API like:

/**
* @param name {string}
* @param updateFrequency {number}
* @param callback {() => {}} function which returns data for updating UI
* @param ui {?} something maybe handlebars, React that can receive a JS object and 
*   use it as context to build HTML
*/
function addWidget(name, updateFrequency, callback, ui) -> void;

I’d do the following for updating widgets (if I was building your dashboard):

  • Omnifocus: Hit a KM macro similar to the one @JKoopmans linked that fetches data and then use the KM web server to return it as JSON
  • Calendar: Maybe Pushcut? My calendars aren’t restricted to my iPad and in the way yours are so I would probably just hit Fastmail’s API directly in the callback
  • Drafts: Probably try the same thing with a KM macro flow.

For my theoretical e-Ink display one I’d probably have the following:

  • Weather
  • Calendar events for the day
  • Things tasks?
  • The time

Interesting idea to use Magic Mirror @JKoopmans. When I said “iframes” @dustinknopoff , that was just an example. But it does have a compartmentalisation benefit…

… The real challenge seems to me to be gathering the data. So that’s where something like @RosemaryOrchard 's scripts come in handy. That one, in particular, suggests active components on eg Mac or iPad. For my calendar I could probably scrape my calendar on a timer pop with Shortcuts on the iPad and POST it to Apache/PHP on Pi. (Then have my dashboard page pick up the resulting data.)

In any case sounds like others think this is a worthwhile project.

So (when I have a spare few hours and a lack of other ideas) :slight_smile: I’ll tinker with this.

What attracts you to e-ink over an led display? I’ve been angling to take an old Fire tablet I have and point it at a web page in kiosk mode. I found a guide that was reasonably straightforward for stripping the default installed garbage (and ads) from the tablet, and put “fully kiosk browser” on it. Now I can just point that to a directory accessible to it on my local network that contains HTML and images with my status board in it. Then you use whatever means you want to pull/push that data into places where a script that generates that page out periodically can get at it all…

If you are deeply into the e-ink idea have you considered repurposing an old kindle? I see a few interesting leads when I google “repurpose old kindle display” and I would imagine old (nonworking!) kindles can be had pretty cheap or free if you look around.

For a status board I like the low power/lack of backlight. It means I can just let it run night or day. (My desk is in my bedroom so having things light up while I’m sleeping is not ok)

I’d have to buy an old kindle to repurpose it :sweat_smile:

1 Like

Well you can make the page be solid black during sleeping hours :slight_smile:

It seems like old kindles with worn out batteries are a thing. Ask family if there’s one in a drawer… I just took a quick look on FB Marketplace and saw some as cheap as $15 (US midwest).

2 Likes