I rewrote this in Go and improved the display significantly: see https://git.sr.ht/~mkelly/weatherdash-go. I no longer maintain this version (to the extent that I maintain either).
This is the server side portion of a weather dashboard for your house, using data and icons from https://openweathermap.org/.
The idea is that you put a portable computer (like a Raspberry Pi, or similar) somewwhere running Chrome and load this web page. This dashboard can be running on your portable computer, or somewhere else.
It's designed to look good on an 800x640 screen, like this one: https://www.adafruit.com/product/2260
Here's a photo of weatherdash running on that screen:
Someday if I'm not too lazy I'll write a little tutorial on this whole process!
Copy config.json.example
to config.json
to start. You only need to update
keys that have a value of FILL_ME_IN
in config.json.example
.
You need Python 3 (which we expect to be called python3
), and pip (which we
expect to be called pip3
).
You can install all dependencies in a virtualenv like this:
make
If you just want to see a demo at this point, you can run make run
and visit
http://localhost:5000/fake -- that will read fake weather data stored locally.
You must have a config.json file, but you need not change it at all.
To get live weather data for your location, continue.
You need to get your own API key for https://openweathermap.org/.
Put your API key in the api_key
field of config.json
.
You have should pick location to get weather for! The default is New York City.
You can use https://www.latlong.net/ for this. The config expects numerical
(positive and negative numbers, no north/south or east/west), like this website
provides. Put these in the lat
and lon
fields of config.json
.
You can run the dashboard like this:
make run
Then you can visit http://localhost:5000 to see the dashboard.
There are docker
and docker-run
targets in the Makefile as well, to help
with Docker testing.