n0bel / PiClock

A Fancy Clock built around a monitor and a Raspberry Pi
MIT License
566 stars 182 forks source link

Upgrade to Python3-PyQt5 with more map options #227

Closed SerBrynden closed 2 years ago

SerBrynden commented 2 years ago

I updated the code to Python 3 and PyQt5 with style conventions from PEP8, and it seems to run well on Raspberry Pi OS versions Buster and Bullseye. I also added an option to use custom dark maps from MapBox, with a transparent layer for labels, borders, and roads on top of the radar imagery. This way the map details are not obscured by large rainstorms. Standard maps without transparent top layer from MapBox or Google can still be used, just like before, by commenting/uncommenting certain lines in the config file. Instructions included in the config file.

The changes to Python 3 and Qt5 have worked pretty well, but there are intermittent crashes once in a blue moon that I haven’t had time to troubleshoot yet. Can probably fix most of them with more Try Except statements.

Occasionally, there are index out of range errors with the radar image tiles. I suspect the expected number of radar tiles don’t get downloaded properly from RainViewer sometimes. I’ve also seen JSON decode errors with the OpenWeatherMaps data, segmentation faults, and messages like “python3: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0.”

I haven't tested every feature, such as LED lighting, background switcher, temperature sensor, GPIO buttons, or IR remote control, since I don’t use those things.

n0bel commented 2 years ago

I'm putting together a clock to test with PiOS. I need to have this running for a bit before I commit this. I'll also test all the other features, buttons, ambi, ir, etc

n0bel commented 2 years ago

I'm changing the target branch to a test branch so the live version of PiClock remains available. Then I'll merge that back into live.