speedyg0nz / maginkcal Goto Github PK
View Code? Open in Web Editor NEWE-Ink Magic Calendar that automatically syncs to Google Calendar and runs off a battery powered Raspberry Pi Zero
License: Apache License 2.0
E-Ink Magic Calendar that automatically syncs to Google Calendar and runs off a battery powered Raspberry Pi Zero
License: Apache License 2.0
Cant get the script to run due to chromedriver error. I see you have fixed that in render.py due to latest selenium updates but for me this doesnt seem to work. Followed your instructions and used legacy version of rpi OS. Checked $PATH and /usr/lib is present and chromedriver is located at /usr/lib/chromium-browser/chromedriver in my installation.
Running RPI3. Also dont have a PiSugar installed at the moment but that shouldnt stop it from running and should not be related to this error at the moment.
Error log:
2023-08-06 00:24:42,384 INFO - Starting daily calendar update
2023-08-06 00:24:42,425 INFO - Invalid time sync command
2023-08-06 00:24:42,462 INFO - Invalid battery output
2023-08-06 00:24:42,464 INFO - Battery level at start: -1.000
2023-08-06 00:24:42,465 INFO - Time synchronised to 2023-08-06 00:24:42.464773+03:00
2023-08-06 00:24:42,757 INFO - Retrieving events between 2023-08-01T00:00:00+03:00 and 2023-09-04T23:59:59.999999+03:00...
2023-08-06 00:24:43,131 INFO - No upcoming events found.
2023-08-06 00:24:43,132 INFO - Calendar events retrieved in 0:00:00.665384
2023-08-06 00:24:43,137 ERROR - Message: Unable to obtain driver for chrome using Selenium Manager.; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location
2023-08-06 00:24:43,139 INFO - Completed daily calendar update
2023-08-06 00:24:43,139 INFO - Checking if configured to shutdown safely - Current hour: 0
Hi!
Thanks so much for sharing your project! It has inspired me to adapt it and build my own.
I noticed that the google calendar credential expires after a couple days, do you know how to get a long-lived credential?
Thanks again!
Matt
Hi, how can I modify your file to work with the 5in65f e ink display from waveshark?
When running the application on my Pi Zero WH, I am getting the below error in regards to Codec. I tried this on 3 separate Google Accounts, including one with an empty calendar, to ensure it was not some Event with bad characters (although it should be able to test for that ideally...).
Any idea what could be causing this, or a way to ensure proper encode happens? Obviously it happens after the time sync, but its happening before any rendering is done as my eink is still blank.
Other than using my own timezone in the config file and my own pickle file, I have not altered any code from the repo up till now.
Starting daily calendar update
Battery level at start: 100.000
Time synchronised to 2023-02-07 15:49:45.641810-06:00
'ascii' codec can't decode byte 0xe7 in position 1: ordinal not in range(128)
Completed daily calendar update
Checking if configured to shutdown safely - Current hour: 15
Hey @speedyg0nz. Just wanted to let you know of an error I ran into and the method I used to fix it. For some reason running the quickstart.py as is returned an error.
Adding this to line 22
CURR_DIR = os.path.dirname(os.path.realpath(__file__))
and changing line 39-41 from this:
flow = InstalledAppFlow.from_client_secrets_file( 'credentials.json', SCOPES) creds = flow.run_local_server(port=0)
to this:
credential_file=str(CURR_DIR)+'/credentials.json' flow = InstalledAppFlow.from_client_secrets_file( credential_file, SCOPES) creds = flow.run_local_server(port=0)
That fixed the issue for me. Unfortunately, I'm having trouble replicating it now so I can't specify what the error it threw actually was. Apologies there. Starting from a fresh repo in a new environment doesn't have the issue at all. This is probably an edge case.
I think this is an environment thing but thought it worth sharing regardless in case anyone else encounters it in the future.
Does it support goodisplay 12.48 ink screen?
From day to day.
Choose fx Monday to Friday or Sunday to Saturday.
And choose which hours also.
Any way to use multiple accounts within this project? All of them have CalDAV option (first acc is iCloud, two others are Gmail)
Maybe some kind of CalDAV proxy? Before digging into the source code
Running the code as direct clone, i get:
chromedriver unexpectedly exited. Status code was: -4
Which occurs in Render.py at line:
driver = webdriver.Chrome(,options=opts)
I have scoured the internet trying to find a solution. Have changed versions, forced downgrades, written in explicit executable paths, set binary locations, etc etc etc that were found in countless Stackoverflow articles. Nothing seems to work. I even started this project from scratch with hopes to trigger a better result. However, the Chromium driver part simply will not work.
Would LOVE to know what versions of Chromium-browser, Selenium, Chromedriver, etc you are using in your successful build to see if I could replicate. Or if you could try your own project again from scratch to see if I am just crazy... Feels like today's packages just are not lining up with your instructions :(
lunar calender feature-request
Hello,
firstly thank you very much about your work on this project!! I think it is a great project ;)
My problem starts when it starts the phase of drawing in the ink waveshare 7.5 inches b, the logs I see are these:
pi@raspberrypi:~/MagInkCal $ python3 maginkcal.py
/usr/lib/python3/dist-packages/requests/__init__.py:91: RequestsDependencyWarning: urllib3 (1.26.7) or chardet (3.0.4) doesn't match a supported version!
RequestsDependencyWarning)
Starting daily calendar update
Invalid time sync command
Invalid battery output
Battery level at start: -1.000
Time synchronised to 2021-11-26 08:28:24.184037+01:00
Retrieving events between 2021-11-22T00:00:00+01:00 and 2021-12-26T23:59:59.999999+01:00...
Calendar events retrieved in 0:00:00.630859
Screenshot captured and saved to file.
Image colours processed. Extracted grayscale and red images.
EPD init...
'NoneType' object has no attribute 'DEV_ModuleInit'
Completed daily calendar update
Checking if configured to shutdown safely - Current hour: 8
As you can see, I think the problem is on third to last line:
'NoneType' object has no attribute 'DEV_ModuleInit'
I inspect a little bit your code and the error occurs in the line 115 of epdconfig.py file : spi.DEV_ModuleInit
I have searched on internet and this line should initialize the SPI module, but it does not work.
I have followed your README.md 2 or 3 times to try to see what I could have missed and I am not able to resolve my problem by myself :(
On the other way I have used the example python code from waveshare and it works correctly: epd_7in5b_V2_test.py
@speedyg0nz: Could you help me solving this problem to run your project?
By the way, I am using a Raspberry pi 4b and the SPI is enabled in my Raspberry pi 4b
An other thing very curios that happens is:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.