We have many meeting spaces, classrooms and gyms at work that historically have all been booked with Google Calendar. Unfortunately, people are lazy, and often just show up and use a space without consulting the shared calendar. Hence my solution to enable the lazy! Put a screen up outside a workspace which informs the slothful of the current and upcoming events for the week, pulled from an iCal source like Google Calendar!
Pretty much any screen will do as long as it's internet connected but I've repurposed some old iPads and recently have discovered the Ubiquiti Connect Display.
This is a weekly calendar, showing all the events from iCal sources specified in the single PHP file. It's fully aware of recurring events, automatically refreshes every five minutes in case something changes, and highlights the event currently in progress.
To make things more interesting, you can specify different images to show up in the background based on keywords in the current event title. For example, if the event title contains the word "meeting" a meeting room scene will display as the background.
System Requirements
PHP8.3
Composer (dependancy manager for PHP)
sabre/vobject LibraryGetting started
Run a standard webserver with PHP and install Composer to the local user space (you can install as root user but then add composer to the global path.
On Debian...To move to global path....apt install composer
Run this from /var/www/html or whatever path where the project will reside:mv composer.phar /usr/local/bin/composer
The code should now run.composer require sabre/vobject
If you are using Google calendars they should be shared publicly so that you can use the public URL to parse the calendar data.
The calendar folder can be moved directly into the same file path of the calendar.php file.
Here's a picture of the calendar in action on a Ubiquiti Connect Display
Download:
Weekly iCal Display Ver. 2.0
Last Updated: December 20, 2024