Nanoleaf Weather Lights

A Python Script for LED Panels
What if the outside weather influenced the lights in your home?
A python program that accesses the open weather API, gathering data of a specified location and displaying it as color patterns on linkable light panels. Take the guesswork out of whether you need an umbrella or not — the lights will tell.
The Process
The idea came up at the LAVA lab at the University of Hawaii, which doesn’t have any doors or windows that would allow students to see the weather outside. We would oftentimes be surprised to leave the lab and find we had worked until past dark or that it had started raining. That inspired me to write a program that could constantly access weather data based on supplied GPS coordinates and display a representative color pattern on the light panels — to keep everyone aware of the state of the outside world.
Utilizing Python code and Post Requests to communicate with WiFi enabled light panels (Nanoleaf brand), I was able to control their colors to reflect weather data of a specified location. I think of it as a virtual window to the outside world — so you could grab a coat when needed or walk to your car before it got too dark out.The panels flicker a dim purple and black at night time, with colorful gradients of pastels for sunrise and sunset. Blue and green flashes represent the tropical rain of Hawaii, and dark colors with bright flashes indicate thunder and lightning. Colors will appear brighter when it is hotter and dim as the temperatures cool. There are color selections for virtually every weather pattern and atmospheric conditions, from snowfall to volcanic ash.This was a fun and rewarding experience as I realized I could display simulations of weather patterns from places all around the world in my own private window.
This script can be downloaded from my GitHub here

This project was a great way to learn about the utilization of API calls as well as POST requests, and it helped me become confident in dealing with getting data from JSONs from API calls.

Sunny Day

Night

Sunset

Rainy