New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support, Discussion, Suggestions, Critics for v1.5 #20
Comments
I tried a fresh install of raspian stretch lite with the installer (option 2) for the new version. During my second try I watched the installer and it worked well. Only the description says "nano ... settings.py", but the filename is "settings.py.sample". Also I tried a manuel calibration, because the display was offline for a while and the icons where somewhat distorted after running the new version for the first time. During the calibration the following error occured (I have the 2-color version)
I think the distorted icons and the error in the calibration process indicates that the script somehow thinks the 3-color-display is connected and not the 2-color-display, despite the "bw" setting in the settings file... |
@zAm1987 The best way to fix this is by backing up modified files form the E-Paper-Master directory (should normally only be the settings.py file) to the home directory. Then, please re-run the installer to uninstall the software and lastly, use the installer to install the software again. Your issue should be fixed after a reboot. Should something still go wrong, please paste the error here. The missing settings.py file was a bug in the Installer. I've just now fixed it so a settings.py file exists when choosing the install option form the installer. Thank you for pointing out the bug 👍 |
The question is how the two different versions came into place, because as I described it was a completely fresh Installation from an untouched raapian stretch lite image. Anyway, I will try the uninstalling and reinstalling option and report whether it works or not ;) |
@zAm1987 |
I used the uninstall option and installed again. I can confirm that the calibration now works as it should. The settings.py file however is still missing after the install option. And again, the Icons and the font looks somewhat distorted. I am not sure if this was the case with the older version, but it seems that everything is pixelated. Maybe the script still thinks it's a 3-color-version and so the missing red causes the jagged edges? It could be the voltage, too, because my actual "test bench" is fed via an usb-hub and the e-paper-display is known for having problems with slightly different voltages... |
@zAm1987
In regards to the slightly disorted icons, this is a non-desired side-effect caused by switching from specially formatted .BMP icons to standard .JPEG icons. Up to v1.4, all icons were rotated, inverted and in .BMP format. The main problem was that the time taken for making even a single 'perfect' icon (in BMP) was too long for a project in development phase (adding more features etc.), so I'm using JPEG icons now. If you want to know more about it, please see this comment in issue1 (image to data conversion) You can try reducing the disortion by editing this section in
Currently, anything that isn't fully white, is converted to shades of grey. I did try to modify these values, but the results aren't as good yet. Once I've fixed a few iCalendar-related issues, I'll work on improving this section. So the issue is not related to the fact that the main script thinks you're using a black-white-red display, nor is it related to a different voltage level caused by using usb-hub. |
Ah okay, somehow i missed the switch to the jpg format. Sounds reasonable and I can understand it. Thanks for the explanation. :) For the missing settings file I already nano'ed into the sample file and saved / renamed it in order to fix it ;) |
@zAm1987 |
For anyone interested, here is a breakdown on how long the main programm takes for each section:
|
The Alert issue is quite annoying, because all my calenders use them. Can you elaborates a little bit, what causes this issue? |
@jankosso
The fix_e (fix error) line is meant to fix alert-based errors, at least for Google Calendar. I am using this myself and can confirm that it works with Google (i)Calendar. The main issue lies with the ics.py python library (see here). The ics.py library is a bit picky with the formatting of the iCalendar. Although there is a standard for the iCalendar format, not every provider is using the latest version. Due to the differences in formatting, errors are caused. For example, in the iCalendar from google, the As every iCalendar (from different providors) varies slightly in format, it's difficult to implement the support for every single format. As Google Calendar is the most used one, it has been implemented first. |
Hi, I just report a problem when week_starts_on = "Sunday" is used and fixed it. This causes an error like:
So, I just removed line 82 in E-Paper.py that calls |
@7n2jju |
Regarding the Google calendar issue: @aceisace thanks for the info, i dug a little deeper into that lib and i think i found the issue. `def get_type_from_action(cls, action_type):
I just changed it to return None, when the action is Email and this fixed it: `def get_type_from_action(cls, action_type):
So for a workarround without patching the lib, you can also replace the ACTION:EMAIL |
@jankosso |
@jankosso |
Quick update:
If you want to switch to the latest version, please re-run the installer, selecting the 'update' option. |
Is there any possibility of getting a Day View similar to that in Outlook? This would really help me keep on top of my day. The moving bar shows the current time and how far into the next meeting block I should be. Further to this, is exchange connectivity possible? What do you think? |
Hello, I am from Duesseldorf, and found your project via the Waveshare page when trying to test my e-Ink Paper display. I got an issue after installing your code and editing the settings.py file accordingly - the free API key provided from OpenWeatherMap is apparently not entitled to pull down the current weather forecast. I was also wondering if I could discuss a project I am working on with you via email. Looking forward to your answer, and thanks for the code. Oh, and I would like to second a daily view for the current date - this is what I am currently striving for. |
@Clickbaitcake |
@multimedial As there is no error message attached, it's a bit difficult finding out where exactly the issue lies. But these are the tips I can give you for now:
If the error still persists, please paste the error message in your next comment. Then I can try to debug the issue more specifically. Sorry I had to edit your comment. It's usually not a good idea adding personal details in a comment since it's available to everyone. But sure, feel free to contact me for discussing your project via Email (you can find the email address on the README page). Also, thanks for your opinion. I'll be working on the daily view next. When I make some progress, I'll let you know. |
@aceisace I would like to suggest to make the panel modular. There is a similar project, the magic mirror one (https://magicmirror.builders/) where the content to be displayed can be chosen from a variety of modules. I will send you an email to your email address. |
@multimedial I'm also been thinking that it's about time to make the software modular, but unfortunately, there are still ways to go for me since I'm not too familiar with writing classes and modules just yet. On the other hand, there is a very passionate forker of this repo who is working hard to make the software modular. You may see the progress to his repo here: https://github.com/mgfcf/E-Paper-Calendar-with-iCal-sync-and-live-weather. Once he's finished implementing the modules of this software, I'll be implementing them on the main repo. Sure, looking forward forward to your mail. |
@zAm1987 Preview of converted images: From left to right: unprocessed-image, processed-image for bw-display, processed image for bwr-display. For a bigger image, right-click the images and open them in a new tab |
You're really putting effort into this project, keep up the good work! ;) I just used the "update"-method of the installer, modified the settings file again and tried to run E-Paper.py. Somehow it failed, while the old version worked fine with the same settings (albeit the last time I tested it was some weeks ago). Still not working after a reboot, too. The script output says:
I'll try a fresh install in the next days to see if maybe the updating process mixed something up... |
@zAm1987 In the meanwhile, you can bypass the Error by uncommenting/deleting lines 203-218 and dedenting 219-223 in the E-Paper file so that the section from line 202 (for events in ical.events:) looks like this:
Or, as an easier alternative, you can just use the attached 'E-Paper-mod.py' file, unzip it and replace it with the existing one (in /home/pi/E-Paper.Master/Calendar/). Don't forget to change the name of the file to E-Paper.py. Attached file: |
@zAm1987 It will take at least several days to get it fixed and tested, so may I ask you to test the installer on Raspbian Stretch with Desktop? Thanks in advance. |
Updated and fixed iCalendar error. Now it just hangs on "Fetching events"
I triple-checked the iCalendar setting. It's copied directly from Google
Calendar's private calendar link...
Date: Tue 14 May 19 Time: 13:07
Connecting to Openweathermap API servers...
weather data:
Temperature: 70 °C
Humidity: 60%
weather-icon name: wi-fog
Wind speed: 2km/h
Sunrise-time: 5:52
Sunset time: 7:46
Cloudiness: 20%
Weather description: Haze
Internet connection test passed
Fetching events from your calendar
|
For what it's worth, this is the what I see when I interrupt the hang...
Date: Tue 14 May 19 Time: 13:50
Connecting to Openweathermap API servers...
weather data:
Temperature: 72 °C
Humidity: 60%
weather-icon name: wi-fog
Wind speed: 2km/h
Sunrise-time: 5:52
Sunset time: 7:46
Cloudiness: 20%
Weather description: Haze
Internet connection test passed
Fetching events from your calendar
^CTraceback (most recent call last):
File "/home/pi/Inky-Calendar/Calendar/E-Paper.py", line 488, in <module>
main()
File "/home/pi/Inky-Calendar/Calendar/E-Paper.py", line 341, in main
if middle_section is 'Agenda' and events in ical.timeline.included(now,
agenda_max_days):
File "/home/pi/.local/lib/python3.5/site-packages/ics/timeline.py", line
51, in included
for event in self:
File "/home/pi/.local/lib/python3.5/site-packages/ics/timeline.py", line
39, in __iter__
heapq.heapify(heap)
File "/home/pi/.local/lib/python3.5/site-packages/ics/event.py", line
306, in __lt__
return self.begin < other.begin
File "/home/pi/.local/lib/python3.5/site-packages/arrow/arrow.py", line
699, in __lt__
return self._datetime < self._get_datetime(other)
File "/home/pi/.local/lib/python3.5/site-packages/arrow/arrow.py", line
813, in _get_datetime
return expr.datetime
File "/home/pi/.local/lib/python3.5/site-packages/arrow/arrow.py", line
321, in datetime
@Property
KeyboardInterrupt
|
@aceisace |
@zAm1987 |
@ericwass
It did take around 10 seconds to parse these events from my iCalendar so I think that if you have a lot of events, it will take much longer, but it shouldn't be hanging. Could you try using the 'Calendar' design for the middle section and test if the problem persists?
to:
This will automatically print out the parsed events, just like the snippet from above. Do let me know if you see something similar to the output from above. Thanks in advance. |
@aceisace In addition there seem to be a bug with the beginning times. All of my events are shown with a time two hours too early. And after adding again the second ical-url (the problematic one in the past from my wife) the script stays at "fetching events" like forever (already 20mins of waiting). I'll try reducing the timespan in the settings file and wait another round... |
@zAm1987 Thanks for pointing out the bugs. About the multi-day events only showing up on the first day, I've taken a note of this behaviour and will fix it soon enough. In regards to the beginning (and end ) times of timed events, are you by any chance living in a timezone that is +2 hours from UTC? If yes, that would explain the problem why the shift is exactly 2 hours. In that case, it would mean that the dates of events in an iCalendar are set to UTC by default and need to be 'manually' corrected. I'm also going to take a look at the reason why certain iCalendar URLs take too much time to get parsed. Since this behaviour has been mentioned by @ericwass as well, could you try following the steps in this comment. The output should be similar, but if it isn't, do let me know. |
I've tried both Agenda and Calendar view for the middle section and it
still hangs - am I'm not talking a few minutes, I'm talking up to an hour
before I give up. I changed the code as you suggested but it hasn't made a
difference. There really aren't that many events (and, in fact, I hope to
add 3 more calendars eventually) so I'm not sure what's going on. And,
again, this exact calendar worked in the previous version.
Here's what I see when I interrupt. The first one is with Calendar as the
middle section, the second one is with Agenda as the middle section. And
this is after I changed the code.
*pi@raspberrypi*:*~ $* python3.5 /home/pi/Inky-Calendar/Calendar/E-Paper.py
…_________Starting new loop___________
Date: Wed 15 May 19 Time: 10:48
Connecting to Openweathermap API servers...
weather data:
Temperature: 62 °C
Humidity: 77%
weather-icon name: wi-fog
Wind speed: 1km/h
Sunrise-time: 5:51
Sunset time: 7:47
Cloudiness: 90%
Weather description: Haze
Internet connection test passed
Fetching events from your calendar
^CTraceback (most recent call last):
File "/home/pi/Inky-Calendar/Calendar/E-Paper.py", line 489, in <module>
main()
File "/home/pi/Inky-Calendar/Calendar/E-Paper.py", line 344, in main
if middle_section is 'Calendar' and events in
ical.timeline.included(now, calendar_max_days):
File "/home/pi/.local/lib/python3.5/site-packages/ics/timeline.py", line
52, in included
if (start <= event.begin <= stop # if start is between the bonds
File "/home/pi/.local/lib/python3.5/site-packages/arrow/arrow.py", line
706, in __le__
return self._datetime <= self._get_datetime(other)
File "/home/pi/.local/lib/python3.5/site-packages/dateutil/tz/tz.py",
line 216, in utcoffset
if self._isdst(dt):
File "/home/pi/.local/lib/python3.5/site-packages/dateutil/tz/tz.py",
line 285, in _isdst
dstval = self._naive_is_dst(dt)
File "/home/pi/.local/lib/python3.5/site-packages/dateutil/tz/tz.py",
line 253, in _naive_is_dst
timestamp = _datetime_to_timestamp(dt)
File "/home/pi/.local/lib/python3.5/site-packages/dateutil/tz/tz.py",
line 1801, in _datetime_to_timestamp
return (dt.replace(tzinfo=None) - EPOCH).total_seconds()
KeyboardInterrupt
*pi@raspberrypi*:*~ $* sudo service supervisor stop E-Paper
*pi@raspberrypi*:*~ $* python3.5 /home/pi/Inky-Calendar/Calendar/E-Paper.py
_________Starting new loop___________
Date: Wed 15 May 19 Time: 10:56
Connecting to Openweathermap API servers...
weather data:
Temperature: 62 °C
Humidity: 77%
weather-icon name: wi-fog
Wind speed: 1km/h
Sunrise-time: 5:51
Sunset time: 7:47
Cloudiness: 90%
Weather description: Haze
Internet connection test passed
Fetching events from your calendar
^CTraceback (most recent call last):
File "/home/pi/Inky-Calendar/Calendar/E-Paper.py", line 489, in <module>
main()
File "/home/pi/Inky-Calendar/Calendar/E-Paper.py", line 341, in main
if middle_section is 'Agenda' and events in ical.timeline.included(now,
agenda_max_days):
File "/home/pi/.local/lib/python3.5/site-packages/ics/timeline.py", line
52, in included
if (start <= event.begin <= stop # if start is between the bonds
File "/home/pi/.local/lib/python3.5/site-packages/arrow/arrow.py", line
706, in __le__
return self._datetime <= self._get_datetime(other)
File "/home/pi/.local/lib/python3.5/site-packages/dateutil/tz/tz.py",
line 216, in utcoffset
if self._isdst(dt):
File "/home/pi/.local/lib/python3.5/site-packages/dateutil/tz/tz.py",
line 288, in _isdst
if self.is_ambiguous(dt):
File "/home/pi/.local/lib/python3.5/site-packages/dateutil/tz/tz.py",
line 248, in is_ambiguous
naive_dst = self._naive_is_dst(dt)
File "/home/pi/.local/lib/python3.5/site-packages/dateutil/tz/tz.py",
line 253, in _naive_is_dst
timestamp = _datetime_to_timestamp(dt)
File "/home/pi/.local/lib/python3.5/site-packages/dateutil/tz/tz.py",
line 1801, in _datetime_to_timestamp
return (dt.replace(tzinfo=None) - EPOCH).total_seconds()
KeyboardInterrupt
On Wed, May 15, 2019 at 3:52 AM Ace ***@***.***> wrote:
@ericwass <https://github.com/ericwass>
I just re-tested the Agenda-View design using my own google iCalendar URL.
It seems to be working fine, from what I see here:
Event: Testing a multi-day event starts on: Sat 18 May 19
Event: Hello World! (Sample Event) starts on: Wed 15 May 19
Event: First Event starts on: Thu 16 May 19
Event: Second Event starts on: Thu 16 May 19
Event: Third Event starts on: Thu 16 May 19
Event: Even more events starts on: Fri 17 May 19
Event: A lot of events starts on: Mon 27 May 19
Event: Test for a very long event name. Awefully long, isn‘t it? starts on: Tue 28 May 19
It did take around 10 seconds to parse these events from my iCalendar so I
think that if you have a lot of events, it will take much longer, but it
shouldn't be hanging.
Could you try using the 'Calendar' design for the middle section and test
if the problem persists?
If it does, please open the E-Paper.py file, and change this section (line
341)
if middle_section is 'Agenda' and events in ical.timeline.included(now, agenda_max_days):
upcoming.append(events)
to:
if middle_section is 'Agenda' and events in ical.timeline.included(now, agenda_max_days):
upcoming.append(events)
print('Event:', events.name, 'starts on:', events.begin.format('ddd D MMM YY', locale=language))
This will automatically print out the parsed events, just like the snippet
from above. Do let me know if you see something similar to the output from
above. Thanks in advance.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#20>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AL3FWKIRCL66X3OVZ2OMQDTPVPTPFANCNFSM4GURCR7Q>
.
|
@ericwass @zAm1987 The only change made in the section that parses the events is a new function (from the ics package), which has problems correctly filtering events in a given range. I will take care of this bug by reverting the changes in the iCalendar section. Once again, thank you very much for all your help and time :) |
Ok. Glad you found the problem. Let me know when you get it back up and
running. I was really enjoying having it working.
Thanks
…On Wed, May 15, 2019 at 11:38 AM Ace ***@***.***> wrote:
@ericwass <https://github.com/ericwass> @zAm1987
<https://github.com/zAm1987>
I've found the problem causing the loop to get stuck when fetching events.
It seems that ics.py (the package that parses the iCalendar) is still
somewhat buggy.
The only change made in the section that parses the events is a new
function (from the ics package), which has problems correctly filtering
events in a given range. I will take care of this bug by reverting the
changes in the iCalendar section.
Once again, thank you very much for all your help and time :)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#20>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AL3FWKP5P3QR3P5R6WKKX4DPVRKA3ANCNFSM4GURCR7Q>
.
|
@ericwass |
@aceisace |
@zAm1987 The last version also had the same issue, but as you realised, it didn't catch your attention since only the date of events was shown, not the time. I'm working on a way around this problem by setting the timezone explicitly from the system itself. |
@ericwass @zAm1987
That being the case, could you please confirm if it also working correctly on your end? Thanks in advance. |
No luck for me. Updated and re-launched with my settings. This is what
happened:
*pi@raspberrypi*:*~ $* python3.5 /home/pi/Inky-Calendar/Calendar/E-Paper.py
…_________Starting new loop___________
Date: Fri 17 May 19 Time: 10:57
Connecting to Openweathermap API servers...
weather data:
Temperature: 65 °C
Humidity: 39%
weather-icon name: wi-day-sunny
Wind speed: 4km/h
Sunrise-time: 5:50
Sunset time: 7:48
Cloudiness: 5%
Weather description: Clear
Internet connection test passed
Fetching events from your calendar
Traceback (most recent call last):
File "/home/pi/Inky-Calendar/Calendar/E-Paper.py", line 511, in <module>
main()
File "/home/pi/Inky-Calendar/Calendar/E-Paper.py", line 432, in main
readable_date = datetime.strptime(upcoming[dates]['date'], '%Y %m
%d').strftime('%-d %b')
TypeError: 'Event' object is not subscriptable
*pi@raspberrypi*:*~ $*
|
@ericwass As soon as it's fixed, I'll let you know. |
That worked. However time remains in 24hr format even though settings.py
specifies 12hr.
Thank you!
|
@ericwass About the 24 hour/12 hour format, I'm going to work on that now. As soon as it's ready, I'll let you know. |
@ericwass |
Great. Should I just replace a file or do a full update?
|
Just replacing the E-Paper.py file will be sufficient this time, since no other files were changed recently. |
How do I do that? Do you send it to me or is there a way to download only
that?
…On Fri, May 17, 2019 at 12:35 PM Ace ***@***.***> wrote:
Just replacing the E-Paper.py file will be sufficient this time, since no
other files were changed recently.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#20>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AL3FWKPHCHAZH233GJQ25YDPV4CJVANCNFSM4GURCR7Q>
.
|
Sorry. Answered my own question. GitHub
…On Fri, May 17, 2019 at 12:36 PM Eric Wasserman ***@***.***> wrote:
How do I do that? Do you send it to me or is there a way to download only
that?
On Fri, May 17, 2019 at 12:35 PM Ace ***@***.***> wrote:
> Just replacing the E-Paper.py file will be sufficient this time, since no
> other files were changed recently.
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <#20>,
> or mute the thread
> <https://github.com/notifications/unsubscribe-auth/AL3FWKPHCHAZH233GJQ25YDPV4CJVANCNFSM4GURCR7Q>
> .
>
|
You can paste the following commands in the Terminal: |
AnnouncementThe E-Paper Calendar software has been updated from v1.5 to v1.6 just recently (Mid May 2019).It contains a lot of improvements, the most significant ones being the agenda view, multiple languages, and the web-ui (credit to TobyChui). You can see all changes since the previous release in the Changelog. Due to the new release, this issue will be closed now (since it was specifically for v1.5) and a new issue will be opened for v1.6. For all participants of this issue, thank you very much for all your suggestions, bug-reports, feature requests and critics. See you all in the next issue. P.S.: If you notice any bugs, please let me know by opening an issue. Thanks in advance. |
@mauricecyril @Clickbaitcake What do you think about the current agenda-view? Thanks in advance. |
Here you have an option to chat about improvement ideas regarding v1.5 of the E-Paper Calendar software.
As usual, nothing and nobody is perfect, but we can strive to get closer towards that. Please post your comments in a friendly way and remember to be nice. Thanks for your understanding.
All improvement ideas are welcome.
The text was updated successfully, but these errors were encountered: