Releases: aceinnolab/Inkycal
v2.0.4
[2.0.4] Late June 2024
Word from the author:
Thanks for your patience everyone!
This release is fully compatible with the previous release, v2.0.3 and therefore, no changes to the settings.json file are required. It is a minor release but fixes a number of bugs which were present in the previous release.
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 a reminder, if you sponsored Inkycal via InkycalOS-Lite or by purchasing Inkycal from our Tindie store, you will soon get an e-mail with the latest version of InkycalOS-Lite (please also check the spam folder). This time, there will be plenty of time to download the image, which was possible with part of the sponsorships and sales of Inkycal! Thank you very much!
✅ You can now get a ready-to-flash version of Inkycal, aka. InkycalOS-Lite for the Raspberry Pi (all versions) by sponsoring Inkycal as a one-time tier here: Sponsor Inkycal which does not require installing Inkycal or setting up the Raspberry Pi. The OS file is based on Raspberry Pi OS - bookworm - and generated automatically so privacy is also not an issue. This can save you hours of work and helps cover ongoing costs for maintenance and development of Inkycal
ℹ️ Did you know, you can also purchase a pre-assembled version of Inkycal from our official Tindie store over here:
- 7.5" pre-assembled version of Inkycal - includes access to InkycalOS-Lite
- 12.48" pre-assembled version of Inkycal - includes access to InkycalOS-Lite
Release notes
Changed
- Updated dependencies to the most-recent supported version
- Unified logging all over the library. Print statements are now rare. This makes it easier to identify why Inkycal isn't working without having to look up the logs
- Inkycal now makes use of a JSON-Cache to make it more resilient against resets etc. For example, the slideshow module will remember the last index even after a shutdown
- Inkycal now uses a list of supported displays instead of having to look up each driver in the driver directory
- Renamed tests according to python standards, starting with
test_..
, allowing unittest/pytest to automatically discover and run these tests.
Fixed
- Fixed an annoying vertical alignment issue causing some characters to look chopped off
- Fixed the alignment of the red-circle on the calendar module
- Fixed weekday-names not translating in the weather module
- Fixed python 3.11 issues with numpy on Raspberry Pi OS
Added
- Added long-awaited support of PiSugar v1/2/3. Still a bit experimental (no calibration handling), but works for most part. If PiSugar support is enabled, Inkycal will set the new alarm before shutting down the system, increasing battery life. Please note that around 70 updates were possible with the 1200mAh PiSugar 3 board, so one update a day to three should be max to get at least one month battery life.
- Added Webshot module which can be used to display a webpage. Works on InkycalOS-Lite too and does not need a GUI.
- Added XKCD module
- Added Tindie module
- Added support for much longer update-intervals than the previous max of once every 60 minutes
- Added Material-UI icons font
- Added dedicated Pipeline for unittests directly on Raspberry Pi OS to ensure Inkycal can run reliably on Raspberry Pi OS
- Added Feature-request and PR template
- Added support for 5.83" display (v2)
- Added support for 12.48" display on 64-bit systems
- Added Inkycal fullweather-module
- Added
settings.py file (not to be confused with
settings.json`) to set VCOM and other internal variables - Added support for 13.3" SPI display (to be tested)
Upgrading instructions from Inkycal v2.0.3 to v2.0.4:
# update system and install system dependencies
sudo apt-get update
sudo apt-get install git zlib1g libjpeg-dev libatlas-base-dev rustc libopenjp2-7 python-dev-is-python3 scons libssl-dev python3-venv python3-pip git libfreetype6-dev wkhtmltopdf libopenblas-base libopenblas-dev
# installing Inkycal dependencies
cd ~/Inkycal
source venv/bin/activate
git pull
# if you get an error message when running git-pull, chances are you modified some files, which would be overwritten.
# Make a copy of these files outside the Inkycal folder, then run
# git reset --hard
# to erase all modifications. Then continue
pip install --upgrade pip
pip install wheel
pip install -e ./
# Check if everything still works:
python inky_run.py
Enable PiSugar support
Warning! PiSugar support should only be enabled if Inkycal is already working as expected, the PiSugar installer from PiSugar has been run and the PiSugar board is fully charged and attached to the Raspberry Pi.
Please follow the instructions on the wiki page here: https://github.com/aceinnolab/Inkycal/wiki/PiSugar-support
After this mod, you should see more infos about the PiSugar board (version, current time, remaining battery etc.). Once Inkycal has completed showing the first image, it will set an alarm on the PiSugar and shut-down the Raspberry Pi. At the next scheduled update_interval, the Raspberry Pi will boot, show an image and then shutdown again. The shutdown cannot be initiated if sudo requires a password, as it is the case with InkycalOS-Lite. As a workaround at your own risk, you can run the following command so that sudo commands do not require a password.
echo 'ALL ALL=(ALL:ALL) NOPASSWD: ALL' | sudo tee /etc/sudoers.d/010_disable_sudo_password
If it works correctly, reboot with sudo reboot
.
P.S.: If you run into issues, please do not hesitate to open up an issue on Github or letting me know via Inkycal on Discord. There will also be a thread in the discussions tab here for support
[v2.0.3] Early November 2023
[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:
- Navigate to the Inkycal folder, then run:
git pull
- If you were using the weather module and you used your city-name instead of the location id, follow these instructions:
- Head to https://openweathermap.com and find your city. Copy the last part of the URL, e.g. if the URL is https://openweathermap.org/city/2825297, the location-id is
2825297
. Copy this ID.
- 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.
[2.0.2] Mid-January 2023
[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:
- Backup your current
settings.json
file somewhere other than the Inkycal folder. If you have made custom changes to modules, back them up too - Delete the Inkycal folder with all it's components (
rm -rf Inkycal
) - Follow the installation instructions shown on the README
- Move your
settings.json
file back to the new Inkycal folder - Adapt your
inky_run.py
file to use yoursettings.json
file by providing its path - 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.
[2.0.1 BETA] Early January 2020
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
inkycal-os-getting-started.mp4
[2.0.0] Early December 2020
[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] Mid February 2020
[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
[1.7.1] Mid January 2020
[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.
[1.7] Mid December 2019
[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
BETA version of release v1.7
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.
[1.6] Mid May 2019
[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.