Inky Calendar Versions Save

Create awesome e-paper dashboards within minutes! Modularity? Check! Python3? Check? Works on Raspberry Pi Zero W? Check! Support for own modules? Check!

v2.0.3

6 months ago

[2.0.3] Early November 2023

Word from the author: Thanks for your patience everyone! This is a minor release with little changes for most users, but nonetheless a breaking change. Therefore, it was required to update Inkycal to v2.0.3. While recommended, this time it is not strictly required to update Inkycal. With the release of the latest version of Raspberry Pi OS (Oct 2023), numpy, pyowm and Pillow would no longer work as expected. A minor refactoring was required to ensure everything stays up to date and that Inkycal can run on Python 3.11, which is now the standard in Raspberry Pi OS.

A big shoutout to all the contributors of Inkycal on Github, Discord and Tindie. Thank you very much for your help, effort and time! Thank you very much to all those who provided excellent support on Discord to new users, gave feature suggestions, found bugs and bugfixes 🥇

As some of you have noticed, Inkycal is now available as a plug-and-play device on Tindie! The profit of these purchases and donations were re-invested into Inkycal, partially used on coffee(because developers tend to work more efficiently with it), to cover expenses, to buy and add support for new E-Paper displays in Inkycal while donating a portion to those in need.

Release notes

Changed

  • Switched from pyowm to custom wrapper as pyowm only works up to python3.9, which is now outdated.
  • Updated dependencies to the most-recent supported version

Fixed

  • Fixed python 3.11 issues with numpy on Raspberry Pi OS
  • Fixed compatibility issues with Pillow when switching from v9.x to v10.x, particularly font width and height operations
  • Renamed tests according to python standards, starting with test_.., allowing unittest/pytest to automatically discover and run these tests.

Upgrading instructions from Inkycal v2.0.2 to v2.0.3:

  1. Navigate to the Inkycal folder, then run:
git pull
  1. If you were using the weather module and you used your city-name instead of the location id, follow these instructions:
  1. Edit your settings.json file:
nano path/to/my/setting.json
# if you get permission errors, you can also use sudo:
sudo nano path/to/my/setting.json

Then find the "location" in the weather module's config, and replace the current value with the ID. It should look like this:

"location": "2825297",

Save the changes by pressing [CTRL] + [X] at the same time, then press [Y] to confirm. 4) Test Inkycal. Navigate to the Inkycal directory, then run:

source venv/bin/activate
python inky_run.py

If it works correctly, reboot with sudo reboot

If you run into issues, please do not hesitate to open up an issue on Github or letting me know via Inkycal on Discord.

v2.0.2

1 year ago

[2.0.2] Mid-January 2023

Word from the author: Hi everyone! It's been quite some time since the last official release of Inkycal. Due to the pandemic and too much work of my end, new developments and features were slowed down quite a bit. This is expected to get better in this year. On the bright side, we have a new year ahead of us, chip crisis are starting to recover so the availability of the Raspberry Pi is expected to get better in the next coming months.

A big shoutout to all the contributors of Inkycal on Github, Discord and Tindie. Thank you very much for your help, effort and time! Thank you very much to all those who provided excellent support on Discord to new users, gave feature suggestions, found bugs and bugfixes.

As some of you have noticed, Inkycal is now available as a plug-and-play device on Tindie! The profit of these purchases and donations were re-invested into Inkycal, partially used on coffee(because developers tend to work more efficiently with it), to cover expenses, to buy and add support for new E-Paper displays in Inkycal and donated to those in dire need in these difficult times.

As a result, Inkycal now supports multiple new parallel e-Paper displays and adds official support for previously experimental displays:

  • 7.8" parallel E-Paper display
  • 9.7" parallel E-Paper display
  • 10.3" parallel E-Paper displays While also adding official support for the 12.48" (v1) serial E-Paper display and 9.7" parallel E-Paper display.

One of the main aims of this release was to make it easier to further maintain and develop Inkycal, even without possessing a Raspberry Pi. By using virtual environments, making more use of git and some minor changes in the software, Inkycal is now supported on multiple platforms (e.g. Windows and Mac) without a display. However, rendering on the E-Paper is still exclusive to the Raspberry Pi.

Although this release contains many bugfixes and code quality improvements, almost no software is bug-free.

As a special thanks to the first beta testers of this new release who help finding bugs, there will be a giveaway of a 7.5" ready-made Inkycal at the end of this month. If you wish to participate, please ensure you are in the Inkycal Discord server first. The condition for the entry is to find a bug or provide a bugfix, either directly on Discord or on Github. Those participating will be awarded the inkycal-giveaway-member role. At the end of this month, the Inkycal will be shipped to a randomly selected participant.

This release is a minor release, you can continue using your existing settings.json file. Please see the upgrading instructions below. It is highly recommended you upgrade to this release to benefit from long-term support. Support for any previous releases will be dropped with this release.

Last, but not least, happy new year and stay healthy!

Release notes

Added

  • Added support for multiple new displays: 7.8"
  • Added cross-platform support of Inkycal via virtual environments
  • Added text-to-display module

Changed

  • Changed the way tests use sensitive variables in test cases
  • Updated most dependencies to the most-recent supported version
  • Changed installation method of dependencies from global to virtual environment

Removed

  • Removed single-line installer in favour of git-based installation
  • Removed dependencies inside setup.py to allow consistency between dependencies of setup.py and requirements.txt
  • Removed webserver files and requirements
  • Removed additional setup instructions for 9.7" and 12.48" displays since these are now officially supported

Fixed

  • Fixed bugs with the todoist-api-module due to breaking changes in the library
  • Fixed an issue causing index out of range in the calendar module
  • Fixed an issue with todos if the due was defined

Upgrading instructions:

  1. Backup your current settings.json file somewhere other than the Inkycal folder. If you have made custom changes to modules, back them up too
  2. Delete the Inkycal folder with all it's components (rm -rf Inkycal)
  3. Follow the installation instructions shown on the README
  4. Move your settings.json file back to the new Inkycal folder
  5. Adapt your inky_run.py file to use your settings.json file by providing its path
  6. Restart and enjoy

If you run into issues, please do not hesitate to open up an issue on Github or letting me know via Inkycal on Discord.

v2.0.1-beta

3 years ago

Info

This pre-release is a full-OS based on Raspberry Pi OS Lite. It contains several additions and improvements to the web-ui, greatly improving the user-expierence.

The latest version of Inkycal has been installed, drivers for the 9.7" E-Paper display have also been installed. Driver files for the 12.48" E-Paper displays have been added, but testing could not be carried out.

Please note that this release is not meant to be modified via SSH. It should work out-of-the-box and the web-ui has been updated to allow a ssh-free setup for the first time.

Setup

To get started, please do the following:

  • Download and unzip the OS file from below (1GB download file, 3.22GB file after unzipping)
  • Flash the OS on a microSD card with at least 4 GB space
  • Add the wpa_supplicant.conf file to the microSD card after generating one from the web-ui with your wifi details
  • Eject the microSD card and add the microSD card in the Raspberry Pi
  • Wait for 3 minutes after powering up the Raspberry Pi, then type the following in a browser: http://inkycal.local/

Using the web UI

  • Add the opened website to your home screen of your phone. This will make it look (and act) just like any app.
  • login with the default details: username: admin password: admin
  • Please change your password in the [change password] section, keeping default passwords is a very bad idea and a security risk. It's not possible to restore the password, so be sure to remember or write down the new password
  • Identify which display your have in the [Display test] section
  • Add your details via the [customize] section. Previous settings file from older releases will not work, then click save
  • Head over to the [Control] section and press on [start Inkycal]
  • If everything went well, you'll see Inkycal updating. If not, check the log file of Inkycal via the button

Check out the video tutorial

https://user-images.githubusercontent.com/29558518/103938752-0a1c4300-512b-11eb-8eaf-f9198d4abf00.mp4

v2.0.0

3 years ago

[2.0.0] Early December 2020

This release is a major release, it will not work with a previous version of Inky-Calendar. Please use a fresh Image of Raspberry Pi OS to get started. And previous settings file will not be usable with this release, please create a new one from the web-UI. A special thank you to all the BETA testers of this release! Thank you all for your great help and support! Your names have been added on the contributors list

Concluding the major highlights of this release:

  • Greatly improved the user-expierence, including but not limited to a brand new web-UI, easier setup instructions, easier configuration..
  • Various bugfixes and improvements in several modules
  • Improved stability, logging, handling of images
  • Added several new modules (Jokes, Todoist, Slideshow, Stocks..)

It is highly recommended you upgrade to this release to benefit from long-term support. Support for any previous releases will be dropped with this release.

Added

  • Added fully re-written web-UI running on flask
  • Added Documentation
  • Added wifi configuration file creator for setting up wifi before first boot
  • Added Discord Server for faster support, exchanging ideas, getting help etc.
  • Added logging capabilites
  • Added tests for testing various configurations at once.
  • Added official support for 9.7" E-Paper display
  • Added setup.py file to allow installing via pip3
  • Added Display class which controls the E-Paper displays
  • Added local copy of web-ui allowing to run the web-ui locally
  • Added option to add/remove third party modules
  • Added built-in logging to file
  • Added Stocks Module, showing stocks from Yahoo!
  • Added Slideshow module, showing images from a given folder
  • Added Todoist module, showing events from Todoist API or via the Todoist APP
  • Added jokes module, fetching joke from iCanHazDad
  • Added support for weather location lookup by name in weather module
  • Added official support for recurring events in Calendar and Agend module

Changed

  • Switched from pyowm v2 to v3 (latest)
  • Switched from ics library to icalendar library
  • Changed from saving images to returning images in all modules
  • Changed default font to NotoSansUI
  • Switched to Gitflow
  • All configurable settings are now saved in the settings.json file after entering details in the web-ui
  • Changed structure of folders and sub-folders for better categorizing.
  • Modules can now generate images for any given size
  • No preferred position of modules or preferred height
  • Changed format of logging to include time, date, module name and message
  • Changed name of repo from Inky-Calendar to Inkycal

Removed

  • Removed single-line installer in favor of pypy package, allowing install via pip3 instead of git clone
  • Removed settings validator as all configuration is managed via the web-ui.

Fixed

  • Fixed issues with calendar: 31 not in list
  • Fixed issue in iCalendar parser not loading iCalendars correctly from files
  • Fixed issues with Feeds module not showing feeds correctly (with HTML tags), these are now removed by default
  • Fixed issue with overlapping events
  • Fixed issue where manually changing heights for some modules would result in disorted images
  • Fixed stability issues
  • Fixed several issues with recurring events and iCalendar parser in general

1.7.2

4 years ago

[1.7.2] Mid February 2020

Added

  • Added option to show generated image upside down
  • Each section will display a short Error message on the E-Paper if something went wrong. Previously, the section would remain empty

Changed

  • Middle section (calendar, agenda) can now use the entire display if other sections are empty
  • Changed the way images are transferred to the display. Now, two images are required, one for black pixels, the other for red/yellow pixels.

Removed

  • Removed function to split generated image into 2 (by colour)

Fixed

  • Fixed problem with weather module not showing forecasts for certain timezones (switched from local time to UTC)
  • Fixed problem where leaving a section empty would cause problems
  • Fixed a problem where all-day events would be shown to start at 12.00 hours
  • Fixed a problem where the all-day string would not be shown
  • Fixed a slight problem where lines would have varying line heights
  • Fixed rendering issues with text: Text will no longer have mixed colours (3-colour dislays) and is easier to read

v1.7.1

4 years ago

[1.7.1] Mid January 2020

Added

  • Added support for 4.2", 5.83", 7.5" (v2) E-Paper display
  • Added driver files for above mentioned E-Paper displays

Changed

  • Slight changes in naming of generated images
  • Slight changes in importing module names (now using dynamic imports)
  • Changed driver files for all E-Papers with the latest ones from waveshare (v4)
  • Slightly changed the way modules are executed

Removed

  • Removed option for selecting colour from settings file

Fixed

  • Fixed a problem where the calibration function would only update half the display on the 7.5" black-white E-Paper
  • Implemented a possible bugfix for 'begin must be before end' error.

v1.7

4 years ago

[1.7] Mid December 2019

Added

  • Added support for sections (top-,middle-,and bottom section)
  • Added support for weather forecasts.
  • Added support for moon phase
  • Added support for events in Calendar module
  • Added support for coloured negative temperature
  • Added support to automatically rotate the image if required
  • Added support for wind direction in weather module
  • Added support for decimal places in weather module
  • Added extra customisation options (see configuration file)
  • Added support for recurring events
  • Added forecasts in weather module
  • Added info about moon phase in weather module
  • Added info about sunrise and sunset time in weather module
  • Added support for colour-changing temperature (for coloured E-Paper displays, the temperature will red if it drops below 0°Celcius)
  • Added support for decimal places in weather section (wind speed, temperature)
  • Added beaufort scale to show windspeed
  • Added option to show wind direction with an arrow
  • Added new event and today icon in Calendar module
  • Added sections showing upcoming events within Calendar module
  • Added configuration file for additional configuration options
  • Added new fonts with better readability
  • Added support to manually change fontsize in each module
  • Added more design customisation (text colour, background colours etc.)

Changed

  • Changed folder structure (Full software refactoring)
  • Split main file into smaller modules, each with a specific task
  • Changed layout of E-Paper (top_section, middle_section, bottom_section)
  • Changed settings file, installer and web-UI
  • Black and white E-Papers now use dithering option to map pixels to either black and white

Removed

  • Removed non-readable fonts
  • Removed all icons in form of image files. The new icons are generated with PIL on the spot
  • Removed option to reduce colours for black and white E-Papers

Fixed

  • Fixed problem with RSS feeds not displaying more than one feed
  • Fixed image rendering
  • Fixed problems when setting the weekstart to Sunday

v1.7(BETA)

4 years ago

As there have been many back-end changes in the Inky-Calendar software, futher testing is required to debug and fix errors. Due to this, this release is clearly marked as experimental.

Right now, only beta testers are invited to test the new release. Pleas wait until the green light is given and this can be pushed on the main branch. Thank you for your understanding.

v1.6

5 years ago

[1.6] Mid May 2019

Added

  • Added new design option: Agenda-View, which displays events in the next few days with timings
  • Added support for multi-day events
  • Added support for multiple languages
  • Added support for localisation options (dates will be shown in the set language now)
  • Added new fonts (NotoSans Semi & Noto Sans CJK) which support many languages (without displaying tofus)
  • Added dynamic space management to minimise empty space on the generated image
  • Added support for RSS-feeds. It is now possible to display them in the bottom section
  • Added image pre-processing operation to allow displaying the generated image correctly on the E-Paper
  • Added limit (in days) when fetching events from the iCalendar
  • Added option to select the display-update interval*
  • Added user-friendly Web-UI (webpage) for entering personal details easily (Credit to TobyChui)
  • Added support for continuing the loop even if some details are missing in the settings file (api-key, rss-feed)
  • Added support for relative path and removed explicit path
  • Added support for timezones. events timings will be shown correctly using the system's set timezone
  • Added support for 12/24 hours format for events

Changed

  • Changed E-Paper layout by splitting the image into three section: top-, middle, bottom.
  • Changed the way the installer checks if a required package is installed (by test-importing it in python3)
  • Changed the function which displays text on the Calendar
  • Merged e-paper driver files (initially epd7in5b and epd7in5) into a single one (e_paper_drivers)
  • Switched from image-based translations to text-based translation
  • Changed algorithm for filtering events

Removed

  • Removed (older) fonts which were not suitable for multiple languages
  • (Temporary) removed support of recurring events due to some known bugs
  • (Temporary) dropped support of the installer on Raspbian Jessie Lite due to some known bugs
  • Removed image-based translations for month names

Fixed

  • Fixed problems with iCalendar triggers by removing them altogether when parsing the iCalendar
  • Fixed problems with outdated events

(*) Updating too frequently can cause ghosting, a problem specific to E-Paper displays where parts of the previous image can be seen on the current image. Ghosting can be fixed by 'calibrating' the E-Paper (displaying a single colour on the entire display) and is done by default. As a rule of thumb, one 'calibration' should be done for every 6 display-updates to maintain a crisp image.

v1.5

5 years ago

[1.5] Early February 2019

Added

  • Added option to update or uninstall the software via the Installer. To uninstall, just re-run the Installer.
  • Added feature to display upcoming events from the current month and next month on the bottom section.
  • Added support for 12 hour/ 24 hours (sunrise- and sunset-timings can now be adjusted via the settings file)
  • Added support for imperial units (wind speed can now be shown as mph as well)
  • Added option to choose metric/imperial units
  • Added option to save the generated image in the 'Calendar' folder to help debugging.

Changed

  • Changed a lot of icon sizes, positions and locations.
  • Changed the file format for nearly all icons. Icons should now be in JPEG format.
  • Chnaged the way icons are displayed. The software now uses the correct coordinates of icons
  • Icons are no longer rotated
  • Changes a few values in 'epd7in5b' to improve the readability of icons on the display
  • Changed the 'current day' and 'event' icon with slightly better ones
  • Changed the folder structure in the 'Calendar' folder for better navigation and overview

Removed

  • Removed the Installer without debug
  • Removed the calibration.py file by merging the calibrations for the 3-Colour and 2-Colour display.
  • Removed a few font files as only 1 is required.
  • Removed the monocolour-converter.py file as the conversion is no longer required