Does your toddler* ask ‘what are we doing?’ all day?
Is your partner constantly at meetings, soccer, baseball, pub or work and you want to know where they are without being a stalker?
Are your kids vague about events, then engage panic stations when you forget?**
Maybe your family could use a sign that has all this info and more!
*Yes, you’ll need to teach the toddler to read…
**Dear teenager, if it isn’t in the calendar, I’m not taking you
Basic Setup
The basics of how this works is –
A WordPress install on Synology NAS- this hosts the actual info, pulls updates and controls look and feel
LetsEncrypt Certificate assigned to the WordPress site to prevent SSL issues
Raspberry Pi 5 running latest operating system
Pi runs Chromium in Kiosk Mode
Kiosk mode is set to automatically open the WordPress site on boot
Page display auto refreshes every 20 minutes to get current info
Display Data
I wanted to have the following on the display- listed top to bottom-
1.Current date and time
2.Weather forecast for the local area
3.Calendar showing all family events
4.Scrolling news feed
Many of these features will be delivered by ‘Widgets’ but I need flexibility in where to put them- normally widgets can only been placed in certain areas on a page. I needed a plugin called ‘AMR Shortcode any Widget’ which allowed me to modify widget settings without worrying about where the code was going- (not sure if this is needed any more…)
Current Date & Time
Well, this was hugely difficult. There’s heaps of timer plugins for WordPress, but most of them are countdown or count up timers. I did find one that I loved called ‘Flipclock’ but it’s no longer available, but I used an older copy I have- it’s got a really nice animation
Weather
Wow there’s a lot of weather widgets. And most of them are complete garbage. After trying and assessing dozens I settled on ‘Willy Weather’ which is Australian, configurable, has local weather and is totally awesome. Thanks Willy Weather!
News Feed
Again there are hundreds of RSS widgets available, and I went through loads of them to find what I wanted. I actually ended up with a customised feed from Feedwind, and it show a scrolling bunch of news stories from abc.net.au although I did have to turn off the thumbnail images as this was making my poor $14 computer cry when trying to animate the stories moving up the page.
Once I got WordPress installed on my NAS, I’d love to say that everything was smooth from there, but as you can see there was a lot of things needed to be done and it took weeks.
My next issue was with the Divi them itself- To remove the sidebar you need to use a layout called ‘full width’, and to remove the header and footer you need to use ‘blank page’ which is exactly what I want, simply a blank page to display a bunch of data. But it has a bug- it also displays the title of the page which takes up space I wanted to use for information. Turns out this is a bug in the theme, so I had to modify the CSS to get my blank page.
Calendar
This was probably the most difficult thing to get working. We needed to display the contents of 5 different calendars, make it easy to read, updated frequently etc.
First of all I started looking through the widgets and trying a few and became increasingly frustrated. Because you can’t directly show an Apple iCloud based calendar on a web page. Don’t call it iCal anymore either, it’s now called Calendar…..
I had a brief (who am I kidding, this took DAYS) sojourn looking at Gmail, G-Suite or whatever it is called these days, because what you CAN do is share an iCloud based calendar with Goggle, then use the embed feature to place this on your web page. That worked great, until I needed to share someone else’s calendar as well…… Bugger.
In the end, I used a plug in called AMR-ICAL-EVENTS which is a free WordPress plugin and very configurable. I’m very impressed. Less impressive is that I had tried it early in my search but ditched it because the documentation is so poor……
Now the webpage is done, we need to set up the Pi…..
It wouldn’t display video to start with, and it turns out this is an issue with the Raspberry Pi Micro HDMI to HDMI cable I had purchased back in the dark ages. You don’t really expect branded stuff to give issues, but meh. Turns out that the fix is to pop out the SD Card, stick it into my Mac and edit a file called
cmdline.txt
You need to add this text to the start of the file, avoiding adding extra spaces, line breaks etc.
video=HDMI-A-1:1920×1024@60D
This should allow it to display video, and we can continue…
Display Portrait Mode
Then we could use the GUI to go to
Preferences/ Screen Configuration
And set the screen to rotate on boot
Setting the On/ Off/ Reboot Schedule
Sadly the GUI for Cron is no longer available so I just had to edit the config file-
SSH into the Pi
Execute
sudo crontab -e
choose nano because we’re not masochists, and add these lines to the bottom of the file
0 6 * * * vcgencmd display_power 1
0 22 * * * vcgencmd display_power 0
30 6 * * * reboot
This does the following– turn on the display at 6am, turn off the display at 10pm, and reboot the device at 6:30am
April 2024 – we’re up to RPi v5 and the 4th Pi used for the exact same job!
This version was super tough to start- due to the bad cable, but everything else was easier! We no longer need to
Prevent Display Sleep
Hide The Cursor
Write Scripts
Setup Full Screen Mode
and a number of other weird requirements from ye olden days