Just for another example - here’s what I did to grab data from my Purple Air based on your great example (thanks) in case it helps any…
I added a try/except block around the url request, and also used a 59-sec query period for mine to try to not step on queries from a weewx system that already queries the PA on 5-minute boundaries.
customPanels.py.txt (2.5 KB)
customPanels.kv.txt (608 Bytes)
Thanks again for posting a ‘complete and working’ example. Helps beyond belief.