commit
38b913a11c
@ -1,25 +0,0 @@
|
||||
# Contribution Policy the E-Paper Calendar software
|
||||
|
||||
Thanks for contributing to the E-Paper Calendar Software!
|
||||
|
||||
If you wish to contribute, please test your suggestion for at least one week on your own E-Paper first. Often, a small change makes a lot
|
||||
of difference so it's important to check how well your suggestion can perform.
|
||||
|
||||
# Code contributions
|
||||
|
||||
Code contrubutions are most welcome. If you want to contrubite, please fork the main repo, apply changes to your own branch or a new one, test it for at least one week (see above) and then submit a Pull Request. Lastly, don't forget to add your name to the file `CONTRIBUTORS.md`. Thank You!
|
||||
|
||||
# Submitting Issues
|
||||
|
||||
Please only submit reproducible issues and write the instructions on how to reproduce them.
|
||||
|
||||
When you are submitting a new issue, please supply the following information:
|
||||
|
||||
### Release version
|
||||
|
||||
### Expected behavior
|
||||
|
||||
### Actual behavior
|
||||
|
||||
### Steps to reproduce the behavior
|
||||
|
@ -1,16 +0,0 @@
|
||||
# Special thanks to all contributors for their awesome help in this project
|
||||
|
||||
## Main software (E-Paper.py)
|
||||
|
||||
| username | Name | Contribution details |
|
||||
| --- | --- | --- |
|
||||
| **StevenSeifried** | [Steven Seifried](https://github.com/StevenSeifried) | for German translations and other PRs) |
|
||||
| **tobychui** | [Toby Chui](https://github.com/tobychui) | for the settings.py online generator and chinese/taiwanese translations) |
|
||||
| **surak** | [Alexandre Strube](https://github.com/surak) | for various suggestions, PRs |
|
||||
| **Hubert** | Hubert |for extending the events fetcher, adding support for recurring events, date formattings and other code suggestions|
|
||||
| **mgfcf** | [Max G.](https://github.com/mgfcf) | for refactoring the entire E-Paper software |
|
||||
|
||||
# Debugging
|
||||
| username | Name | Contribution details |
|
||||
| --- | --- | --- |
|
||||
Coming soon
|
Binary file not shown.
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 64 KiB |
Binary file not shown.
Before Width: | Height: | Size: 70 KiB |
Binary file not shown.
Before Width: | Height: | Size: 1.3 MiB |
223
Installer.sh
223
Installer.sh
@ -3,88 +3,56 @@
|
||||
# Version: 1.7 (Early Dec 2019)
|
||||
|
||||
echo -e "\e[1mPlease select an option from below:"
|
||||
echo -e "\e[97mEnter \e[91m1 \e[97m to update the E-Paper software" #Option 1 : UPDATE
|
||||
echo -e "\e[97mEnter \e[91m2 \e[97m to install the E-Paper software" #Option 2 : INSTALL
|
||||
echo -e "\e[97mEnter \e[91m3 \e[97m to uninstall the E-Paper software" #Option 3 : UNINSTALL
|
||||
echo -e "\e[97mEnter \e[91m[1]\e[97m to update Inky-Calendar software" #Option 1 : UPDATE
|
||||
echo -e "\e[97mEnter \e[91m[2]\e[97m to install Inky-Calendar software" #Option 2 : INSTALL
|
||||
echo -e "\e[97mEnter \e[91m[3]\e[97m to uninstall Inky-Calendar software" #Option 3 : UNINSTALL
|
||||
echo -e "\e[97mConfirm your selection with [ENTER]"
|
||||
read -r -p 'Waiting for input... ' option
|
||||
|
||||
# Invalid number selected, abort
|
||||
if [ "$option" != 1 ] && [ "$option" != 2 ] && [ "$option" != 3 ]; then
|
||||
echo -e "invalid number, aborting now"
|
||||
exit
|
||||
if [ "$option" != 1 ] && [ "$option" != 2 ] && [ "$option" != 3 ]; then echo -e "invalid number, aborting now" exit
|
||||
fi
|
||||
|
||||
# No option selected, abort
|
||||
if [ -z "$option" ]; then
|
||||
echo -e "You didn't enter anything, aborting now."
|
||||
exit
|
||||
if [ -z "$option" ]; then echo -e "You didn't enter anything, aborting now." exit
|
||||
fi
|
||||
|
||||
# What to do when uninstalling software
|
||||
if [ "$option" = 3 ]; then
|
||||
echo -e "\e[1;36m"Removing the E-Paper software now..."\e[0m"
|
||||
pip3 uninstall Pillow -y pyowm -y ics -y feedparser -y && sudo apt-get remove supervisor -y && sudo apt-get clean && sudo apt-get autoremove -y
|
||||
if [ -e /etc/supervisor/conf.d/Inky-Calendar.conf ]; then
|
||||
sudo rm /etc/supervisor/conf.d/Inky-Calendar.conf
|
||||
|
||||
# Remove requirements of software
|
||||
echo -e "\e[1;36m"Removing requirements for Inky-Calendar software"\e[0m"
|
||||
cd /home/"$USER"/Inky-Calendar && pip3 uninstall -r requirements.txt && sudo apt-get clean && sudo apt-get autoremove -y
|
||||
|
||||
# Remove configuration file for supervisor if it exists
|
||||
if [ -e /etc/supervisor/conf.d/inkycal.conf ]; then sudo rm /etc/supervisor/conf.d/inkycal.conf
|
||||
fi
|
||||
|
||||
# Print message that libraries have been uninstalled now
|
||||
echo -e "\e[1;36m"The libraries have been removed successfully"\e[0m"
|
||||
sleep 1
|
||||
sleep 2
|
||||
|
||||
# Remove the Inky-Calendar directory if it exists
|
||||
echo -e "Removing the Inky-Calendar folder if it exists"
|
||||
if [ -d "/home/pi/Inky-Calendar" ]; then
|
||||
sudo rm -r /home/pi/Inky-Calendar/
|
||||
if [ -d "/home/$USER/Inky-Calendar" ]; then
|
||||
sudo rm -r /home/"$USER"/Inky-Calendar/
|
||||
echo -e "\e[1;36m"Found Inky-Calendar folder and deleted it"\e[0m"
|
||||
fi
|
||||
echo -e "\e[1;36m"All done!"\e[0m"
|
||||
fi
|
||||
|
||||
if [ "$option" = 1 ]; then #UPDATE software
|
||||
if [ "$option" = 1 ]; then # UPDATE software
|
||||
echo -e "\e[1;36m"Checking if the Inky-Calendar folder exists..."\e[0m"
|
||||
if [ -d "/home/pi/Inky-Calendar" ]; then
|
||||
echo -e "Found Inky-Calendar directory in /home/pi"
|
||||
if [ -d "/home/$USER/Inky-Calendar" ]; then
|
||||
echo -e "Found Inky-Calendar directory in /home/$USER"
|
||||
sleep 2
|
||||
echo -e "To prevent overwriting the Inky-Calendar folder, the installer will not continue."
|
||||
echo -e "Please rename the Inky-Calendar folder and then re-run the installer"
|
||||
exit
|
||||
else
|
||||
echo -e "\e[1;36m"No folder named 'Inky-Calendar' found. Continuing"\e[0m"
|
||||
echo -e "\e[97mPlease type [y] to force-update or [n] to abort c and confirm your selection with [ENTER]"
|
||||
read -r -p 'Waiting for input... ' update_anyway
|
||||
|
||||
if [ "$update_anyway" != Y ] && [ "$update_anyway" != y ] && [ "$update_anyway" != N ] && [ "$update_anyway" != n ]; then
|
||||
echo -e "invalid input, aborting now"
|
||||
exit
|
||||
fi
|
||||
if [ -z "$update_anyway" ]; then
|
||||
echo -e "You didn't enter anything, aborting now."
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ "$update_anyway" = Y ] || [ "$update_anyway" = y ]; then
|
||||
echo "Updating now..."
|
||||
else
|
||||
echo -e "Not attempting to update, exiting now."
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$option" = 2 ]; then # Install software
|
||||
echo -e "\e[1;36m"Setting up the system by installing some required libraries for python3"\e[0m"
|
||||
|
||||
# Installing a few packages which are missing on Raspbian Stretch Lite
|
||||
echo -e "\e[1;36m"Installing a few packages that are missing on Raspbian Stretch Lite..."\e[0m"
|
||||
sudo apt-get install python3-pip -y
|
||||
sudo apt-get install python-rpi.gpio-dbgsym -y python3-rpi.gpio -y python-rpi.gpio -y python3-rpi.gpio-dbgsym -y python3-spidev -y git -y libopenjp2-7-dev -y libtiff5 -y python3-numpy -y
|
||||
echo ""
|
||||
|
||||
# Running apt-get clean and apt-get autoremove
|
||||
echo -e "\e[1;36m"Cleaning a bit of mess to free up some space..."\e[0m"
|
||||
sudo apt-get clean && sudo apt-get autoremove -y
|
||||
echo ""
|
||||
fi
|
||||
|
||||
if [ "$option" = 1 ] || [ "$option" = 2 ]; then
|
||||
if [ "$option" = 1 ] || [ "$option" = 2 ]; then # This happens when installing or updating
|
||||
# Ask to update system
|
||||
echo -e "\e[1;36m"Would you like to update and upgrade the operating system first?"\e[0m"
|
||||
sleep 1
|
||||
@ -95,13 +63,10 @@ if [ "$option" = 1 ] || [ "$option" = 2 ]; then
|
||||
echo -e "\e[97mPlease type [y] for yes or [n] for no and confirm your selection with [ENTER]"
|
||||
read -r -p 'Waiting for input... ' update
|
||||
|
||||
if [ "$update" != Y ] && [ "$update" != y ] && [ "$update" != N ] && [ "$update" != n ]; then
|
||||
echo -e "invalid input, aborting now"
|
||||
exit
|
||||
if [ "$update" != Y ] && [ "$update" != y ] && [ "$update" != N ] && [ "$update" != n ]; then echo -e "invalid input, aborting now" exit
|
||||
fi
|
||||
if [ -z "$update" ]; then
|
||||
echo -e "You didn't enter anything, aborting now."
|
||||
exit
|
||||
|
||||
if [ -z "$update" ]; then echo -e "You didn't enter anything, aborting now." exit
|
||||
fi
|
||||
|
||||
if [ "$update" = Y ] || [ "$update" = y ]; then
|
||||
@ -109,81 +74,111 @@ if [ "$option" = 1 ] || [ "$option" = 2 ]; then
|
||||
echo -e "\e[1;36m"Running apt-get update and apt-get dist-upgrade for you..."\e[0m"
|
||||
sleep 1
|
||||
echo -e "\e[1;36m"This will take a while, sometimes up to 1 hour"\e[0m"
|
||||
sudo apt-get update && sudo apt-get dist-upgrade -y
|
||||
sudo apt-get update && sudo apt-get dist-upgrade -y && sudo apt-get clean
|
||||
echo -e "\e[1;36m"System successfully updated and upgraded!"\e[0m"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# Cloning Inky-Calendar repo
|
||||
echo -e "\e[1;36m"Cloning Inky-Calendar repo from Github"\e[0m"
|
||||
cd /home/"$USER" && git clone -b dev https://github.com/aceisace/Inky-Calendar
|
||||
|
||||
# Installing dependencies
|
||||
|
||||
#PYOWM (v2.10.0) for user pi
|
||||
echo -e "\e[1;36m"Installing dependencies for the Inky-Calendar software"\e[0m"
|
||||
|
||||
pip3 install pyowm==2.10.0 Pillow==5.3.0 ics==0.4 feedparser==5.2.1 pytz==2019.3
|
||||
echo -e "\e[1;36m"Installing requirements for Inky-Calendar software"\e[0m"
|
||||
cd /home/"$USER"/Inky-Calendar && pip3 install -r requirements.txt
|
||||
|
||||
echo -e "\e[1;36m"Finished installing all dependencies"\e[0m"
|
||||
|
||||
# Clone the repository, then delete some non-required files
|
||||
echo -e "\e[1;36m"Installing the Inky-Calendar Software for your display"\e[0m"
|
||||
cd
|
||||
git clone https://github.com/aceisace/Inky-Calendar Inky-Calendar-temp
|
||||
mkdir Inky-Calendar
|
||||
cd Inky-Calendar-temp
|
||||
cp -r Calendar /home/pi/Inky-Calendar/
|
||||
cp README.md /home/pi/Inky-Calendar/
|
||||
cp LICENSE /home/pi/Inky-Calendar/
|
||||
cp -r .git /home/pi/Inky-Calendar/
|
||||
|
||||
# Make a copy of the sample settings.py file
|
||||
cd /home/pi/Inky-Calendar/Calendar
|
||||
cp settings.py.sample settings.py
|
||||
|
||||
# Remove the downloaded (temporary) directory
|
||||
cd
|
||||
sudo rm -r Inky-Calendar-temp
|
||||
# Create symlinks of settings and configuration file
|
||||
ln -s /home/"$USER"/Inky-Calendar/settings/settings.py /home/"$USER"/Inky-Calendar/modules/
|
||||
ln -s /home/"$USER"/Inky-Calendar/settings/configuration.py /home/"$USER"/Inky-Calendar/modules/
|
||||
|
||||
# add a short info
|
||||
cat > /home/pi/Inky-Calendar/Info.txt << EOF
|
||||
This document contains a short info of the Inky-Calendar software version
|
||||
|
||||
Version: 1.7
|
||||
Installer version: 1.7 (Early December 2019)
|
||||
configuration file: /home/pi/Inky-Calendar/settings/settings.py
|
||||
Installer version: 1.7 (Mid December 2019)
|
||||
settings file: /home/$USER/Inky-Calendar/settings/settings.py
|
||||
If the time was set correctly, you installed this software on:
|
||||
$(date)
|
||||
EOF
|
||||
echo "$(date)" >> /home/pi/Inky-Calendar/Info.txt
|
||||
echo ""
|
||||
|
||||
# Setting up supervisor
|
||||
echo -e "\e[1;36m"Setting up auto-start of script at boot"\e[0m"
|
||||
sudo apt-get install supervisor -y
|
||||
echo -e "\e[97mDo you want the software to start automatically at boot?"
|
||||
echo -e "\e[97mPress [Y] for yes or [N] for no. The default option is yes"
|
||||
echo -e "\e[97mConfirm your selection with [ENTER]"
|
||||
read -r -p 'Waiting for input... ' autostart
|
||||
|
||||
sudo bash -c 'cat > /etc/supervisor/conf.d/E-Paper.conf' << EOF
|
||||
if [ "$autostart" != Y ] && [ "$autostart" != y ] && [ "$autostart" != N ] && [ "$autostart" != n ]; then echo -e "invalid input, aborting now" exit
|
||||
fi
|
||||
|
||||
if [ -z "$autostart" ] || [ "$autostart" = Y ] || [ "$autostart" = y ]; then
|
||||
# Setting up supervisor
|
||||
echo -e "\e[1;36m"Setting up auto-start of script at boot"\e[0m"
|
||||
sudo apt-get install supervisor -y
|
||||
|
||||
sudo bash -c 'cat > /etc/supervisor/conf.d/inkycal.conf' << EOF
|
||||
[program:Inky-Calendar]
|
||||
command = /usr/bin/python3 /home/pi/Inky-Calendar/modules/inkycal.py
|
||||
|
||||
stdout_logfile = /home/pi/Inky-Calendar/logs/logfile.log
|
||||
command = /usr/bin/python3 /home/$USER/Inky-Calendar/modules/inkycal.py
|
||||
stdout_logfile = /home/$USER/Inky-Calendar/logs/logfile.log
|
||||
stdout_logfile_maxbytes = 5MB
|
||||
stderr_logfile = /home/pi/Inky-Calendar/logs/errors.log
|
||||
stderr_logfile = /home/$USER/Inky-Calendar/logs/errors.log
|
||||
stderr_logfile_maxbytes = 5MB
|
||||
autorestart = true
|
||||
user = $USER
|
||||
startsecs = 30
|
||||
EOF
|
||||
|
||||
sudo service supervisor start E-Paper
|
||||
|
||||
echo ""
|
||||
sudo service supervisor reload && sudo service supervisor start Inky-Calendar
|
||||
echo ""
|
||||
fi
|
||||
|
||||
# Final words
|
||||
echo -e "\e[1;36m"The install was successful"\e[0m"
|
||||
echo -e "\e[1;36m"The programm is set to start at every boot."\e[0m"
|
||||
|
||||
echo -e "\e[1;31m"To enter your personal details, please use"\e[0m"
|
||||
echo -e "\e[1;31m"the Settings-Web-UI.html web-page"\e[0m"
|
||||
echo -e "\e[1;36m"To do so, open the file Settings-Web-UI.html from"\e[0m"
|
||||
echo -e "\e[1;36m"/home/pi/Inky-Calendar/Settings-Web-UI.html with your browser,"\e[0m"
|
||||
echo -e "\e[1;36m"add your details, click on generate and copy the settings.py"\e[0m"
|
||||
echo -e "\e[1;36m"file to /home/pi/Inky-Calendar/settings/setting.py"\e[0m"
|
||||
|
||||
echo -e "\e[1;36m"You can test if the programm works by typing:"\e[0m"
|
||||
echo -e "\e[1;36m"python3 /home/pi/Inky-Calendar/Calendar/E-Paper.py"\e[0m"
|
||||
echo -e "\e[1;36m"The install was successful."\e[0m"
|
||||
sleep 2
|
||||
echo -e "\e[1;31m"You can now add your personal details in the settings file"\e[0m"
|
||||
echo -e "\e[1;31m"located in Inky-Calendar/settings/settings.py"\e[0m"
|
||||
sleep 2
|
||||
|
||||
echo -e "\e[97mIf you want to add your details now, selet an option from below"
|
||||
echo -e "\e[97mType [1] to open the settings-web-UI (user-fiendly)"
|
||||
echo -e "\e[97mType [2] to open settings file with nano (can be run on SSH)"
|
||||
echo -e "\e[97mType [3] to open settings file with python3 (can be run on SSH)"
|
||||
echo -e "\e[97mLeave empty to skip this step"
|
||||
echo -e "\e[97mConfirm your selection with [ENTER]"
|
||||
read -r -p 'Waiting for input... ' settings
|
||||
|
||||
# Invalid number selected, abort
|
||||
if [ "$settings" != 1 ] && [ "$settings" != 2 ] && [ "$settings" != 3 ]; then echo -e "invalid number, skipping.."
|
||||
fi
|
||||
|
||||
# No option selected, abort
|
||||
if [ -z "$settings" ]; then echo -e "You didn't enter anything, skipping.."
|
||||
fi
|
||||
|
||||
# What to do when uninstalling software
|
||||
if [ "$settings" = 1 ]; then
|
||||
echo -e "\e[1;36m"Add your details, click on generate, keep the file and close the browser"\e[0m"
|
||||
sleep 5
|
||||
chromium-browser /home/"$USER"/Inky-Calendar/settings/settings-UI.html
|
||||
echo -e "\e[97mHave you added your details and clicked on 'Generate'?"
|
||||
echo -e "\e[97mPress [Y] for yes."
|
||||
read -r -p 'Waiting for input... ' complete
|
||||
if [ -z "$complete" ] || [ "$complete" = Y ] || [ "$complete" = y ]; then
|
||||
echo -e "\e[1;36m"Moving settings file to /home/"$USER"/Inky-Calendar/settings/"\e[0m"
|
||||
if [ -e /etc/supervisor/conf.d/inkycal.conf ]; then mv /home/"$USER"/Downloads/settings.py /home/"$USER"/Inky-Calendar/settings/
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$settings" = 2 ]; then
|
||||
echo -e "\e[1;36m"Opening settings file with nano"\e[0m"
|
||||
nano /home/"$USER"/Inky-Calendar/settings/settings.py
|
||||
fi
|
||||
|
||||
if [ "$settings" = 3 ]; then
|
||||
echo -e "\e[1;36m"Opening settings file with python3"\e[0m"
|
||||
python3 /home/"$USER"/Inky-Calendar/settings/settings.py
|
||||
fi
|
||||
|
||||
echo -e "\e[1;36m"You can test if the programm works by running:"\e[0m"
|
||||
echo -e "\e[1;36m"python3 /home/"$USER"/Inky-Calendar/Calendar/inkycal.py"\e[0m"
|
||||
fi
|
||||
|
49
README.md
49
README.md
@ -10,31 +10,26 @@
|
||||
[](https://www.paypal.me/SaadNaseer)
|
||||
</p>
|
||||
|
||||
A software written in python3 that allows you to transform an E-Paper display (like the kindle) into an information display. It fetches live data from Openweathermap (a weather info provider) and your Online Calendar (Google Calendar), fetches RSS-Feeds and displays them on a large, beautiful and ultra-low power E-Paper display. It's ideal for staying organised and keeping track of important details without having to check them up online each time.
|
||||
A python 3 software for 7.5" E-Paper displays from waveshare/gooddisplay to display events from iCalendars, weather from openweathermap and RSS feeds.
|
||||
|
||||
This software fully supports the 3-Colour **and** 2-Colour version of the 7.5" E-Paper display from waveshare/gooddisplay and works with Raspberry Pi 2, 3 and 0 (Zero, Zero W, Zero WH).
|
||||
## Main features
|
||||
* Monthly Calendar that shows events from your Google (or other) iCalendar/s
|
||||
* Live weather info and forecasts for next 9 hours (openweathermap)
|
||||
* Agenda to show what is on your shedule (from your iCalendar/s)
|
||||
* RSS feeds from various providers to keep up to date with news, quotes etc.
|
||||
|
||||
## News:
|
||||
* **Version 1.7 released with weather forecasts and fully new UI** (Mid December 2019)
|
||||
* **Thank You everyone for the first 100 stars :D**
|
||||
* **Refactoring of Inky-Calendar software started. Estimated time until completion: 2 weeks.**
|
||||
* **Added Agenda-View design and support for multiple languages (Mid May 2019)**
|
||||
* **Updated and optimised the installer for faster installation and updating (Mid April 2019)**
|
||||
* **Added support for recurring events**
|
||||
* **Added support for Debian Buster, Buster Lite is not supported!**
|
||||
* **Added a user-friendly Web-UI for adding details to the programm** (Credit to TobyChui for the template)
|
||||
* **Version 1.5 released (Early February 2019) with a new layout, displayed events and many back-end improvements**
|
||||
|
||||
## Preview
|
||||
<p align="center">
|
||||
<img src="https://github.com/aceisace/Inky-Calendar/blob/Stable/Gallery/v1-5-mar-19.JPG" width="600">
|
||||
</p>
|
||||
|
||||
## Main features
|
||||
* Monthly Calendar which automatically update itself to the current day
|
||||
* Fetch appointments/events from your Google Calendar and display them on the Display
|
||||
* Fetch live weather data (temperature, humidity, sunrise- & sunset time, wind speed, weather-icon) from Openweathermap servers and display them on the E-Paper
|
||||
* Fetch RSS-feeds from given RSS-feed URLs and display the content (news, quotes etc.) on the E-Paper
|
||||
|
||||
**To get started, follow the instructions below.**
|
||||
|
||||
## Hardware required
|
||||
* 7.5" 3-Colour E-Paper Display (Black, White, Red/Yellow) with driver hat from [waveshare](https://www.waveshare.com/product/7.5inch-e-paper-hat-b.htm)
|
||||
**or**
|
||||
@ -47,7 +42,7 @@ This software fully supports the 3-Colour **and** 2-Colour version of the 7.5" E
|
||||
|
||||
# Setup
|
||||
## Getting the Raspberry Pi Zero W ready
|
||||
1. After [flashing Raspbian Stretch (with Desktop)](https://www.raspberrypi.org/downloads/raspbian/), set up Wifi on the Raspberry Pi Zero W by copying the file **wpa_supplicant.conf** (from above) to the /boot directory and adding your Wifi details in that file.
|
||||
1. After [flashing Raspbian Buster (with Desktop)](https://www.raspberrypi.org/downloads/raspbian/), set up Wifi on the Raspberry Pi Zero W by copying the file [**wpa_supplicant.conf**](https://github.com/aceisace/Inky-Calendar/blob/installer/wpa_supplicant.conf) (from above) to the /boot directory and adding your Wifi details in that file.
|
||||
2. Create a simple text document named **ssh** in the boot directory to enable ssh.
|
||||
3. Expand the filesystem in the Terminal with **`sudo raspi-config --expand-rootfs`**
|
||||
4. Enable SPI by entering **`sudo sed -i s/#dtparam=spi=on/dtparam=spi=on/ /boot/config.txt`** in the Terminal
|
||||
@ -57,9 +52,9 @@ This software fully supports the 3-Colour **and** 2-Colour version of the 7.5" E
|
||||
**[Disable on-board-led](https://www.jeffgeerling.com/blogs/jeff-geerling/controlling-pwr-act-leds-raspberry-pi)**
|
||||
|
||||
## Installing required packages for python 3.x
|
||||
Execute the following command in the Terminal to install all required packages. Please use Raspbian Stretch with Desktop (preferably the latest version). Support for Raspbian Stretch Lite is temporarily dropped due to some changes, but will be available again soon once it has been tested.
|
||||
Execute the following command in the Terminal to install all required packages. Please use Raspbian Buster with Desktop (preferably the latest version). Raspbian Buster **LITE** is not supported.
|
||||
|
||||
**`bash -c "$(curl -sL https://raw.githubusercontent.com/aceisace/Inky-Calendar/Stable/Installer-with-debug.sh)"`**
|
||||
**`bash -c "$(curl -sL https://raw.githubusercontent.com/aceisace/Inky-Calendar/Stable/Installer.sh)"`**
|
||||
|
||||
If the Installer should fail for any reason, kindly open an issue and paste the error. Thanks.
|
||||
|
||||
@ -68,30 +63,26 @@ If the Installer should fail for any reason, kindly open an issue and paste the
|
||||
<img src="https://github.com/aceisace/Inky-Calendar/blob/Stable/Gallery/installer-v1.6-part1.png" width="650"><img src="https://github.com/aceisace/Inky-Calendar/blob/Stable/Gallery/installer-v1.6-part2.png" width="650">
|
||||
|
||||
## Adding details to the programm
|
||||
To add details to the programm, please use the web-ui (user-interface). Simply double-click the file Settings-Web-UI.html located in /home/pi/Inky-Calendar/Calendar/ to open up the document with the browser (Chrome etc.). Next, fill in the details (you can use the table below for a reference) and click on generate to create your settings.py file. Lastly, copy the generated 'settings.py' file to /home/pi/Inky-Calendar/Calendar (the same path where the settings.py file is) and try starting the main script with:
|
||||
python3.5 /home/pi/Inky-Calendar/Calendar/E-Paper.py.
|
||||
When you run the installer, you can add details in the last step. For new-users, it is recommended to use the 'web-UI' option.
|
||||
|
||||
You can also manually edit the settings file like this: `nano /home/$USER/Inky-Calendar/settings/settings.py`
|
||||
|
||||
If you encounter any issues, please leave a comment in the issues or via email. Thanks in advance.
|
||||
|
||||
## iCalendar
|
||||
With the latest release (v1.6), most iCalendars (google, yahoo, etc.) will work right away after entering the iCalendar URL in the settings (via the web-UI). Although other iCalendar work with the software, google iCalendar is recommended as it has proven to be more reliable than others.
|
||||
With the latest release (v1.7), most iCalendars (Google, Yahoo, etc.) will work without problems. With Google and Yahoo, recurring events are now supported as well. With the other iCalendar providers, testing has not been done.
|
||||
|
||||
Try avoiding too long event names in your Calendar. If an event-name is too long, it'll be 'chunked off', letter by letter, from the end until it fits in the lines.
|
||||
|
||||
Event dates and names are displayed in chronological order below the Calendar. The small squares on the monthly Calendar indicate events on those days. For example, if you see a small square on the 14th of the current month, it means you have/had an event in your iCalendar on that day.
|
||||
Event names will be truncated until they fit in their allocated space/line. Try avoiding too long event names.
|
||||
|
||||
If you encounter errors related to your iCalendar, please feel free to report the error either by opening an issue or by sending a mail.
|
||||
|
||||
## Updating
|
||||
If you want to update to the latest version, run the Installer from above again and select the 'update' option.
|
||||
|
||||
Before updating, the Installer checks if the settings file (/home/pi/Inky-Calendar/Calendar/settings.py) exists. This is done to test if a previous version was installed correctly. If the settings file exists, it is copied to the home directory and renamed as 'settings.py.old'. The old software folder 'Inky-Calendar' is renamed to 'Inky-Calendar-old'. Lastly, the latest version of the software is copied to the Raspberry as 'Inky-Calendar'.
|
||||
|
||||
After updating, copy the contents from your old settings file to the new one. There are usally more options in the new settings.py file so a 'template' is prepared with each update. This template can be found in /home/pi/Inky-Calendar/Calendar/settings.py.sample.
|
||||
Before updating, re-name the current Inky-Calendar folder e.g. Inky-Calendar-old and then run the installer again (see above), choosing the **update** option.
|
||||
|
||||
## Contributing
|
||||
All sorts of contributions are most welcome and appreciated. To start contributing, please follow the [Contribution Guidelines](https://github.com/aceisace/Inky-Calendar/blob/master/CONTRIBUTING.md).
|
||||
|
||||
The average response time for issues, PRs and emails is usually 24 hours. In rare cases, it might be longer.
|
||||
The average response time for issues, PRs and emails is usually 24 hours. In some cases, it might be longer.
|
||||
|
||||
### Don't forget to check out the Wiki. It contains all the information to understanding and customising the script.
|
||||
|
||||
|
@ -10,7 +10,7 @@ from settings import ical_urls
|
||||
import arrow
|
||||
from ics import Calendar
|
||||
|
||||
use_recurring_events = False ## Attention: experimental feature!
|
||||
use_recurring_events = True
|
||||
print_events = False
|
||||
style = 'DD MMM YY HH:mm'
|
||||
|
||||
|
@ -305,7 +305,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
<br>
|
||||
|
||||
<script>
|
||||
var template = 'ical_urls = [{ical_urls}]\nrss_feeds = [{rss_urls}]\nupdate_interval = "{update_interval}"\napi_key = "{api_key}"\nlocation = "{location}"\nweek_starts_on = "{week_starts_on}"\ncalibration_hours = [{calibration_hours}]\ndisplay_colours = "{display_colours}"\nlanguage = "{language}"\nunits = "{units}"\nhours = "{hours}"\ntop_section = "{top_section}"\nmiddle_section = "{middle_section}"\nbottom_section = "{bottom_section}"';
|
||||
var template = 'ical_urls = [{ical_urls}]\nrss_feeds = [{rss_urls}]\nupdate_interval = "{update_interval}"\napi_key = "{api_key}"\nlocation = "{location}"\nweek_starts_on = "{week_starts_on}"\ncalibration_hours = [{calibration_hours}]\ndisplay_type = "{display_colours}"\nlanguage = "{language}"\nunits = "{units}"\nhours = "{hours}"\ntop_section = "{top_section}"\nmiddle_section = "{middle_section}"\nbottom_section = "{bottom_section}"';
|
||||
|
||||
function generate(){
|
||||
var ical_urls = $("#ical_urls").val().trim();
|
||||
@ -438,12 +438,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
|
||||
bottom_section = "";
|
||||
}
|
||||
|
||||
var last_update = "False";
|
||||
if ($('#last_update_true').is(':checked')){
|
||||
last_update = "True";
|
||||
}
|
||||
|
||||
//console.log(ical_urls, rss_urls, update_interval, api_key, location, week_starts_on, calibration_hours, display_colours, language, units, hours, top_section, middle_section, bottom_section);
|
||||
//console.log(ical_urls, rss_urls, update_interval, api_key, location, week_starts_on, calibration_hours, display_type, language, units, hours, top_section, middle_section, bottom_section);
|
||||
createPythonSetting(ical_urls, rss_urls, update_interval, api_key, location, week_starts_on, calibration_hours, display_colours, language, units, hours, top_section, middle_section, bottom_section);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user