diff --git a/weather-widget/README.md b/weather-widget/README.md index e573bd4..2b43d3a 100644 --- a/weather-widget/README.md +++ b/weather-widget/README.md @@ -47,7 +47,7 @@ To add your custom icons, create a folder with the pack name under `/icons` and #### Custom font, icons -![example1](./screenshots/example1.png) +![example1](./example1.png) ```lua weather_curl_widget({ @@ -65,7 +65,7 @@ weather_curl_widget({ #### Only current weather -![example2](./screenshots/example2.png) +![example2](./example2.png) ```lua weather_curl_widget({ @@ -74,8 +74,6 @@ weather_curl_widget({ }), ``` - - ## Installation 1. Download json parser for lua from [github.com/rxi/json.lua](https://github.com/rxi/json.lua) and place it under **~/.config/awesome/** (don't forget to star a repo ): @@ -126,6 +124,15 @@ weather_curl_widget({ ... ``` +## More screenshots + +Only negative temperature: + +![negative](./negative.png) + +Both positive and negative tempertature: + +![both](./both.png) ## How it works diff --git a/weather-widget/both.png b/weather-widget/both.png new file mode 100644 index 0000000..0947a37 Binary files /dev/null and b/weather-widget/both.png differ diff --git a/weather-widget/screenshots/example1.png b/weather-widget/example1.png similarity index 100% rename from weather-widget/screenshots/example1.png rename to weather-widget/example1.png diff --git a/weather-widget/screenshots/example2.png b/weather-widget/example2.png similarity index 100% rename from weather-widget/screenshots/example2.png rename to weather-widget/example2.png diff --git a/weather-widget/example_response.json b/weather-widget/example_response.json new file mode 100644 index 0000000..2b90a6e --- /dev/null +++ b/weather-widget/example_response.json @@ -0,0 +1,1419 @@ +{ + "lat": 45.5, + "lon": -73.57, + "timezone": "America/Toronto", + "timezone_offset": -14400, + "current": { + "dt": 1603155313, + "sunrise": 1603106181, + "sunset": 1603144896, + "temp": 8.91, + "feels_like": 7.97, + "pressure": 1025, + "humidity": 100, + "dew_point": 8.91, + "uvi": 2.37, + "clouds": 90, + "visibility": 4828, + "wind_speed": 1, + "wind_deg": 40, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + }, + { + "id": 701, + "main": "Mist", + "description": "mist", + "icon": "50n" + } + ], + "rain": { + "1h": 0.65 + } + }, + "hourly": [ + { + "dt": 1603152000, + "temp": -8.91, + "feels_like": 7.95, + "pressure": 1025, + "humidity": 100, + "dew_point": 8.91, + "clouds": 90, + "visibility": 10000, + "wind_speed": 1.03, + "wind_deg": 32, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 0.4 + } + }, + { + "dt": 1603155600, + "temp": -9.16, + "feels_like": 7.7, + "pressure": 1025, + "humidity": 91, + "dew_point": 7.77, + "clouds": 95, + "visibility": 10000, + "wind_speed": 1.34, + "wind_deg": 67, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 0.29, + "rain": { + "1h": 0.87 + } + }, + { + "dt": 1603159200, + "temp": -9.24, + "feels_like": 7.7, + "pressure": 1024, + "humidity": 88, + "dew_point": 7.36, + "clouds": 98, + "visibility": 10000, + "wind_speed": 1.32, + "wind_deg": 48, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 0.59, + "rain": { + "1h": 0.42 + } + }, + { + "dt": 1603162800, + "temp": -9.18, + "feels_like": 6.91, + "pressure": 1023, + "humidity": 86, + "dew_point": 6.96, + "clouds": 99, + "visibility": 10000, + "wind_speed": 2.23, + "wind_deg": 42, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0.86 + }, + { + "dt": 1603166400, + "temp": -9.09, + "feels_like": 6.46, + "pressure": 1023, + "humidity": 88, + "dew_point": 7.21, + "clouds": 100, + "visibility": 10000, + "wind_speed": 2.83, + "wind_deg": 46, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 0.94, + "rain": { + "1h": 0.6 + } + }, + { + "dt": 1603170000, + "temp": -8.96, + "feels_like": 6.43, + "pressure": 1022, + "humidity": 91, + "dew_point": 7.62, + "clouds": 100, + "visibility": 5405, + "wind_speed": 2.81, + "wind_deg": 18, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 1.89 + } + }, + { + "dt": 1603173600, + "temp": -8.84, + "feels_like": 6.29, + "pressure": 1021, + "humidity": 91, + "dew_point": 7.6, + "clouds": 100, + "visibility": 7599, + "wind_speed": 2.8, + "wind_deg": 35, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 2.07 + } + }, + { + "dt": 1603177200, + "temp": -8.92, + "feels_like": 6.34, + "pressure": 1021, + "humidity": 92, + "dew_point": 7.78, + "clouds": 100, + "visibility": 8594, + "wind_speed": 2.91, + "wind_deg": 44, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 1.19 + } + }, + { + "dt": 1603180800, + "temp": -9.08, + "feels_like": 7.18, + "pressure": 1020, + "humidity": 93, + "dew_point": 8.06, + "clouds": 100, + "visibility": 9347, + "wind_speed": 2.06, + "wind_deg": 37, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 1.02 + } + }, + { + "dt": 1603184400, + "temp": -8.98, + "feels_like": 6.28, + "pressure": 1019, + "humidity": 93, + "dew_point": 8, + "clouds": 100, + "visibility": 6164, + "wind_speed": 3.16, + "wind_deg": 354, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 1.89 + } + }, + { + "dt": 1603188000, + "temp": -8.69, + "feels_like": 5.78, + "pressure": 1019, + "humidity": 92, + "dew_point": 7.58, + "clouds": 100, + "visibility": 5143, + "wind_speed": 3.31, + "wind_deg": 29, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 2.6 + } + }, + { + "dt": 1603191600, + "temp": -8.6, + "feels_like": 6.08, + "pressure": 1019, + "humidity": 92, + "dew_point": 7.42, + "clouds": 100, + "visibility": 6072, + "wind_speed": 2.73, + "wind_deg": 29, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 2.3 + } + }, + { + "dt": 1603195200, + "temp": -8.56, + "feels_like": 6.68, + "pressure": 1019, + "humidity": 92, + "dew_point": 7.45, + "clouds": 100, + "visibility": 6697, + "wind_speed": 1.8, + "wind_deg": 16, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 2.58 + } + }, + { + "dt": 1603198800, + "temp": -8.74, + "feels_like": 6.88, + "pressure": 1020, + "humidity": 91, + "dew_point": 7.38, + "clouds": 100, + "visibility": 10000, + "wind_speed": 1.77, + "wind_deg": 319, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 1.06 + } + }, + { + "dt": 1603202400, + "temp": -8.93, + "feels_like": 7.32, + "pressure": 1020, + "humidity": 90, + "dew_point": 7.48, + "clouds": 100, + "visibility": 10000, + "wind_speed": 1.42, + "wind_deg": 291, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 0.95 + } + }, + { + "dt": 1603206000, + "temp": -9.07, + "feels_like": 6.75, + "pressure": 1021, + "humidity": 89, + "dew_point": 7.43, + "clouds": 100, + "visibility": 10000, + "wind_speed": 2.43, + "wind_deg": 276, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 0.31 + } + }, + { + "dt": 1603209600, + "temp": -9.31, + "feels_like": 6.58, + "pressure": 1022, + "humidity": 86, + "dew_point": 7.17, + "clouds": 100, + "visibility": 10000, + "wind_speed": 2.93, + "wind_deg": 262, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04d" + } + ], + "pop": 0.8 + }, + { + "dt": 1603213200, + "temp": -10.07, + "feels_like": 6.68, + "pressure": 1023, + "humidity": 80, + "dew_point": 6.78, + "clouds": 100, + "visibility": 10000, + "wind_speed": 3.77, + "wind_deg": 269, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04d" + } + ], + "pop": 0.8 + }, + { + "dt": 1603216800, + "temp": -11.87, + "feels_like": 7.99, + "pressure": 1023, + "humidity": 67, + "dew_point": 6.15, + "clouds": 99, + "visibility": 10000, + "wind_speed": 4.21, + "wind_deg": 265, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04d" + } + ], + "pop": 0.8 + }, + { + "dt": 1603220400, + "temp": -12.05, + "feels_like": 7.95, + "pressure": 1024, + "humidity": 64, + "dew_point": 5.63, + "clouds": 100, + "visibility": 10000, + "wind_speed": 4.38, + "wind_deg": 270, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04d" + } + ], + "pop": 0 + }, + { + "dt": 1603224000, + "temp": -11.74, + "feels_like": 7.54, + "pressure": 1025, + "humidity": 63, + "dew_point": 5.08, + "clouds": 100, + "visibility": 10000, + "wind_speed": 4.38, + "wind_deg": 276, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04d" + } + ], + "pop": 0 + }, + { + "dt": 1603227600, + "temp": -11.09, + "feels_like": 7.13, + "pressure": 1026, + "humidity": 62, + "dew_point": 4.24, + "clouds": 100, + "visibility": 10000, + "wind_speed": 3.79, + "wind_deg": 293, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04d" + } + ], + "pop": 0 + }, + { + "dt": 1603231200, + "temp": -10.13, + "feels_like": 6.51, + "pressure": 1027, + "humidity": 63, + "dew_point": 3.43, + "clouds": 100, + "visibility": 10000, + "wind_speed": 3.13, + "wind_deg": 318, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603234800, + "temp": -9.53, + "feels_like": 7.02, + "pressure": 1028, + "humidity": 63, + "dew_point": 3.02, + "clouds": 100, + "visibility": 10000, + "wind_speed": 1.4, + "wind_deg": 329, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603238400, + "temp": -9.2, + "feels_like": 7.3, + "pressure": 1028, + "humidity": 65, + "dew_point": 3.03, + "clouds": 100, + "visibility": 10000, + "wind_speed": 0.56, + "wind_deg": 52, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603242000, + "temp": -8.73, + "feels_like": 6.57, + "pressure": 1029, + "humidity": 68, + "dew_point": 3.28, + "clouds": 100, + "visibility": 10000, + "wind_speed": 0.98, + "wind_deg": 75, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603245600, + "temp": -8.12, + "feels_like": 5.55, + "pressure": 1029, + "humidity": 71, + "dew_point": 3.27, + "clouds": 89, + "visibility": 10000, + "wind_speed": 1.57, + "wind_deg": 68, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603249200, + "temp": -7.83, + "feels_like": 4.86, + "pressure": 1029, + "humidity": 71, + "dew_point": 3.05, + "clouds": 93, + "visibility": 10000, + "wind_speed": 2.07, + "wind_deg": 68, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603252800, + "temp": -7.49, + "feels_like": 4.21, + "pressure": 1029, + "humidity": 72, + "dew_point": 2.8, + "clouds": 94, + "visibility": 10000, + "wind_speed": 2.48, + "wind_deg": 66, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603256400, + "temp": -6.92, + "feels_like": 3.31, + "pressure": 1029, + "humidity": 73, + "dew_point": 2.47, + "clouds": 96, + "visibility": 10000, + "wind_speed": 2.87, + "wind_deg": 81, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603260000, + "temp": -6.49, + "feels_like": 2.48, + "pressure": 1029, + "humidity": 74, + "dew_point": 2.22, + "clouds": 96, + "visibility": 10000, + "wind_speed": 3.38, + "wind_deg": 78, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603263600, + "temp": -6.3, + "feels_like": 1.81, + "pressure": 1028, + "humidity": 71, + "dew_point": 1.55, + "clouds": 100, + "visibility": 10000, + "wind_speed": 3.89, + "wind_deg": 84, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603267200, + "temp": -6.22, + "feels_like": 1.39, + "pressure": 1027, + "humidity": 69, + "dew_point": 0.99, + "clouds": 98, + "visibility": 10000, + "wind_speed": 4.27, + "wind_deg": 74, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0 + }, + { + "dt": 1603270800, + "temp": -6.69, + "feels_like": 1.66, + "pressure": 1026, + "humidity": 65, + "dew_point": 0.79, + "clouds": 96, + "visibility": 10000, + "wind_speed": 4.47, + "wind_deg": 69, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0.05 + }, + { + "dt": 1603274400, + "temp": -6.53, + "feels_like": 1.74, + "pressure": 1024, + "humidity": 68, + "dew_point": 1.07, + "clouds": 97, + "visibility": 10000, + "wind_speed": 4.23, + "wind_deg": 65, + "weather": [ + { + "id": 804, + "main": "Clouds", + "description": "overcast clouds", + "icon": "04n" + } + ], + "pop": 0.28 + }, + { + "dt": 1603278000, + "temp": -6.41, + "feels_like": 1.87, + "pressure": 1023, + "humidity": 73, + "dew_point": 1.96, + "clouds": 97, + "visibility": 10000, + "wind_speed": 4.08, + "wind_deg": 73, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 0.35, + "rain": { + "1h": 0.17 + } + }, + { + "dt": 1603281600, + "temp": -6.42, + "feels_like": 2.71, + "pressure": 1022, + "humidity": 79, + "dew_point": 3.21, + "clouds": 98, + "visibility": 9620, + "wind_speed": 3.16, + "wind_deg": 71, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 0.62, + "rain": { + "1h": 0.37 + } + }, + { + "dt": 1603285200, + "temp": -6.67, + "feels_like": 3.38, + "pressure": 1021, + "humidity": 86, + "dew_point": 4.59, + "clouds": 100, + "visibility": 10000, + "wind_speed": 2.95, + "wind_deg": 84, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "pop": 0.9, + "rain": { + "1h": 1.08 + } + }, + { + "dt": 1603288800, + "temp": -8.55, + "feels_like": 5.61, + "pressure": 1019, + "humidity": 87, + "dew_point": 6.64, + "clouds": 100, + "visibility": 10000, + "wind_speed": 3.05, + "wind_deg": 135, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 0.23 + } + }, + { + "dt": 1603292400, + "temp": -10.85, + "feels_like": 8.09, + "pressure": 1018, + "humidity": 95, + "dew_point": 10.13, + "clouds": 100, + "visibility": 10000, + "wind_speed": 4.04, + "wind_deg": 150, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 0.31 + } + }, + { + "dt": 1603296000, + "temp": -13.37, + "feels_like": 10.29, + "pressure": 1017, + "humidity": 90, + "dew_point": 11.93, + "clouds": 100, + "visibility": 10000, + "wind_speed": 5.19, + "wind_deg": 170, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 0.32 + } + }, + { + "dt": 1603299600, + "temp": -13.92, + "feels_like": 11.34, + "pressure": 1015, + "humidity": 94, + "dew_point": 13.07, + "clouds": 100, + "visibility": 6450, + "wind_speed": 5.01, + "wind_deg": 177, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 3.08 + } + }, + { + "dt": 1603303200, + "temp": -14.85, + "feels_like": 12.78, + "pressure": 1014, + "humidity": 95, + "dew_point": 14.1, + "clouds": 100, + "visibility": 10000, + "wind_speed": 4.79, + "wind_deg": 183, + "weather": [ + { + "id": 502, + "main": "Rain", + "description": "heavy intensity rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 4.94 + } + }, + { + "dt": 1603306800, + "temp": -15.94, + "feels_like": 13.56, + "pressure": 1014, + "humidity": 93, + "dew_point": 14.96, + "clouds": 100, + "visibility": 7138, + "wind_speed": 5.61, + "wind_deg": 207, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 2.71 + } + }, + { + "dt": 1603310400, + "temp": -16.72, + "feels_like": 14.6, + "pressure": 1014, + "humidity": 93, + "dew_point": 15.66, + "clouds": 100, + "visibility": 10000, + "wind_speed": 5.64, + "wind_deg": 208, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 1.33 + } + }, + { + "dt": 1603314000, + "temp": -16.74, + "feels_like": 14.61, + "pressure": 1014, + "humidity": 94, + "dew_point": 15.81, + "clouds": 100, + "visibility": 10000, + "wind_speed": 5.75, + "wind_deg": 216, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "pop": 1, + "rain": { + "1h": 0.89 + } + }, + { + "dt": 1603317600, + "temp": -17.05, + "feels_like": 14.53, + "pressure": 1015, + "humidity": 92, + "dew_point": 15.83, + "clouds": 100, + "visibility": 10000, + "wind_speed": 6.3, + "wind_deg": 234, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 0.51 + } + }, + { + "dt": 1603321200, + "temp": -16.74, + "feels_like": 14.18, + "pressure": 1016, + "humidity": 87, + "dew_point": 14.65, + "clouds": 100, + "visibility": 10000, + "wind_speed": 5.74, + "wind_deg": 257, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10n" + } + ], + "pop": 1, + "rain": { + "1h": 0.22 + } + } + ], + "daily": [ + { + "dt": 1603123200, + "sunrise": 1603106181, + "sunset": 1603144896, + "temp": { + "day": 12, + "min": 8.91, + "max": 12.73, + "night": 9.05, + "eve": 9.72, + "morn": 12.73 + }, + "feels_like": { + "day": 9.92, + "night": 7.02, + "eve": 7.88, + "morn": 8.02 + }, + "pressure": 1025, + "humidity": 78, + "dew_point": 8.34, + "wind_speed": 2.41, + "wind_deg": 242, + "weather": [ + { + "id": 501, + "main": "Rain", + "description": "moderate rain", + "icon": "10d" + } + ], + "clouds": 100, + "pop": 1, + "rain": 8.77, + "uvi": 2.37 + }, + { + "dt": 1603209600, + "sunrise": 1603192663, + "sunset": 1603231195, + "temp": { + "day": 9.07, + "min": 7.83, + "max": 11.87, + "night": 7.83, + "eve": 11.09, + "morn": 8.98 + }, + "feels_like": { + "day": 6.75, + "night": 4.86, + "eve": 7.13, + "morn": 6.28 + }, + "pressure": 1021, + "humidity": 89, + "dew_point": 7.43, + "wind_speed": 2.43, + "wind_deg": 276, + "weather": [ + { + "id": 502, + "main": "Rain", + "description": "heavy intensity rain", + "icon": "10d" + } + ], + "clouds": 100, + "pop": 1, + "rain": 18.46, + "uvi": 2.3 + }, + { + "dt": 1603296000, + "sunrise": 1603279145, + "sunset": 1603317495, + "temp": { + "day": 10.85, + "min": 6.42, + "max": 16.74, + "night": 12.25, + "eve": 16.74, + "morn": 6.69 + }, + "feels_like": { + "day": 8.09, + "night": 8.59, + "eve": 14.61, + "morn": 1.66 + }, + "pressure": 1018, + "humidity": 95, + "dew_point": 10.13, + "wind_speed": 4.04, + "wind_deg": 150, + "weather": [ + { + "id": 502, + "main": "Rain", + "description": "heavy intensity rain", + "icon": "10d" + } + ], + "clouds": 100, + "pop": 1, + "rain": 16.19, + "uvi": 2.32 + }, + { + "dt": 1603382400, + "sunrise": 1603365627, + "sunset": 1603403795, + "temp": { + "day": 9.95, + "min": 7.29, + "max": 11.27, + "night": 7.29, + "eve": 11.01, + "morn": 9.44 + }, + "feels_like": { + "day": 5.45, + "night": 2.63, + "eve": 8.07, + "morn": 5.65 + }, + "pressure": 1027, + "humidity": 57, + "dew_point": 2.03, + "wind_speed": 4, + "wind_deg": 283, + "weather": [ + { + "id": 802, + "main": "Clouds", + "description": "scattered clouds", + "icon": "03d" + } + ], + "clouds": 27, + "pop": 0, + "uvi": 2.36 + }, + { + "dt": 1603468800, + "sunrise": 1603452109, + "sunset": 1603490097, + "temp": { + "day": 12.02, + "min": 6.62, + "max": 17.04, + "night": 15.91, + "eve": 17.04, + "morn": 7.09 + }, + "feels_like": { + "day": 8.48, + "night": 11.82, + "eve": 12.58, + "morn": 3.07 + }, + "pressure": 1022, + "humidity": 72, + "dew_point": 7.29, + "wind_speed": 4.1, + "wind_deg": 147, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "clouds": 99, + "pop": 0.29, + "rain": 0.22, + "uvi": 2.2 + }, + { + "dt": 1603555200, + "sunrise": 1603538592, + "sunset": 1603576400, + "temp": { + "day": 8.39, + "min": 6.83, + "max": 15.86, + "night": 6.83, + "eve": 9.56, + "morn": 12.99 + }, + "feels_like": { + "day": 3.79, + "night": 3.04, + "eve": 6.58, + "morn": 10.39 + }, + "pressure": 1022, + "humidity": 58, + "dew_point": 0.71, + "wind_speed": 3.87, + "wind_deg": 10, + "weather": [ + { + "id": 500, + "main": "Rain", + "description": "light rain", + "icon": "10d" + } + ], + "clouds": 72, + "pop": 0.9, + "rain": 2.54, + "uvi": 2.07 + }, + { + "dt": 1603641600, + "sunrise": 1603625075, + "sunset": 1603662705, + "temp": { + "day": 5.33, + "min": 3.23, + "max": 7.24, + "night": 4.97, + "eve": 6.59, + "morn": 3.97 + }, + "feels_like": { + "day": 1.26, + "night": 0.02, + "eve": 2.58, + "morn": -0.34 + }, + "pressure": 1025, + "humidity": 61, + "dew_point": -5.56, + "wind_speed": 2.67, + "wind_deg": 37, + "weather": [ + { + "id": 803, + "main": "Clouds", + "description": "broken clouds", + "icon": "04d" + } + ], + "clouds": 74, + "pop": 0.08, + "uvi": 2.25 + }, + { + "dt": 1603728000, + "sunrise": 1603711558, + "sunset": 1603749010, + "temp": { + "day": 3.7, + "min": 2.09, + "max": 3.88, + "night": 3.54, + "eve": 3.54, + "morn": 2.09 + }, + "feels_like": { + "day": -0.28, + "night": -0.76, + "eve": -0.86, + "morn": -2.81 + }, + "pressure": 1021, + "humidity": 90, + "dew_point": 2.33, + "wind_speed": 3.35, + "wind_deg": 32, + "weather": [ + { + "id": 502, + "main": "Rain", + "description": "heavy intensity rain", + "icon": "10d" + } + ], + "clouds": 100, + "pop": 1, + "rain": 12.43 + } + ] +} \ No newline at end of file diff --git a/weather-widget/negative.png b/weather-widget/negative.png new file mode 100644 index 0000000..afcf567 Binary files /dev/null and b/weather-widget/negative.png differ diff --git a/weather-widget/screenshots/weather-widget.png b/weather-widget/screenshots/weather-widget.png deleted file mode 100644 index c7fc37e..0000000 Binary files a/weather-widget/screenshots/weather-widget.png and /dev/null differ diff --git a/weather-widget/weather-widget.png b/weather-widget/weather-widget.png index 177b350..c7fc37e 100644 Binary files a/weather-widget/weather-widget.png and b/weather-widget/weather-widget.png differ diff --git a/weather-widget/weather.json b/weather-widget/weather.json deleted file mode 100644 index 4a18714..0000000 --- a/weather-widget/weather.json +++ /dev/null @@ -1,1224 +0,0 @@ -{ - "lat": 33.44, - "lon": -94.04, - "timezone": "America/Chicago", - "timezone_offset": -18000, - "current": { - "dt": 1594490161, - "sunrise": 1594466108, - "sunset": 1594517275, - "temp": 32.69, - "feels_like": 36.81, - "pressure": 1017, - "humidity": 59, - "dew_point": 23.63, - "uvi": 7.94, - "clouds": 40, - "visibility": 16093, - "wind_speed": 2.1, - "wind_deg": 250, - "weather": [ - { - "id": 802, - "main": "Clear Sky", - "description": "clear sky", - "icon": "01d" - } - ] - }, - "hourly": [ - { - "dt": 1594486800, - "temp": 32.69, - "feels_like": 36.4, - "pressure": 1017, - "humidity": 59, - "dew_point": 23.63, - "clouds": 40, - "wind_speed": 2.68, - "wind_deg": 242, - "weather": [ - { - "id": 802, - "main": "Clouds", - "description": "scattered clouds", - "icon": "03d" - } - ] - }, - { - "dt": 1594490400, - "temp": 33.38, - "feels_like": 37.27, - "pressure": 1017, - "humidity": 59, - "dew_point": 24.27, - "clouds": 21, - "wind_speed": 2.97, - "wind_deg": 248, - "weather": [ - { - "id": 801, - "main": "Clouds", - "description": "few clouds", - "icon": "02d" - } - ] - }, - { - "dt": 1594494000, - "temp": 34.44, - "feels_like": 38.38, - "pressure": 1015, - "humidity": 55, - "dew_point": 24.09, - "clouds": 28, - "wind_speed": 2.74, - "wind_deg": 254, - "weather": [ - { - "id": 802, - "main": "Clouds", - "description": "scattered clouds", - "icon": "03d" - } - ] - }, - { - "dt": 1594497600, - "temp": 35.32, - "feels_like": 39.58, - "pressure": 1014, - "humidity": 53, - "dew_point": 24.28, - "clouds": 18, - "wind_speed": 2.45, - "wind_deg": 260, - "weather": [ - { - "id": 801, - "main": "Clouds", - "description": "few clouds", - "icon": "02d" - } - ] - }, - { - "dt": 1594501200, - "temp": 35.57, - "feels_like": 39.73, - "pressure": 1013, - "humidity": 52, - "dew_point": 24.19, - "clouds": 16, - "wind_speed": 2.52, - "wind_deg": 259, - "weather": [ - { - "id": 801, - "main": "Clouds", - "description": "few clouds", - "icon": "02d" - } - ] - }, - { - "dt": 1594504800, - "temp": 35.34, - "feels_like": 39.82, - "pressure": 1012, - "humidity": 55, - "dew_point": 25.07, - "clouds": 13, - "wind_speed": 2.68, - "wind_deg": 256, - "weather": [ - { - "id": 801, - "main": "Clouds", - "description": "few clouds", - "icon": "02d" - } - ] - }, - { - "dt": 1594508400, - "temp": 34.85, - "feels_like": 40.34, - "pressure": 1012, - "humidity": 61, - "dew_point": 26.36, - "clouds": 10, - "wind_speed": 2.42, - "wind_deg": 249, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01d" - } - ] - }, - { - "dt": 1594512000, - "temp": 33.39, - "feels_like": 39.08, - "pressure": 1012, - "humidity": 67, - "dew_point": 26.53, - "clouds": 9, - "wind_speed": 2.34, - "wind_deg": 246, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01d" - } - ] - }, - { - "dt": 1594515600, - "temp": 30.82, - "feels_like": 35.85, - "pressure": 1012, - "humidity": 73, - "dew_point": 25.61, - "clouds": 0, - "wind_speed": 2.35, - "wind_deg": 240, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01d" - } - ] - }, - { - "dt": 1594519200, - "temp": 29.56, - "feels_like": 33.64, - "pressure": 1012, - "humidity": 73, - "dew_point": 24.34, - "clouds": 0, - "wind_speed": 2.65, - "wind_deg": 227, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594522800, - "temp": 28.72, - "feels_like": 32.55, - "pressure": 1012, - "humidity": 75, - "dew_point": 23.97, - "clouds": 0, - "wind_speed": 2.7, - "wind_deg": 223, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594526400, - "temp": 27.79, - "feels_like": 31.42, - "pressure": 1012, - "humidity": 77, - "dew_point": 23.56, - "clouds": 0, - "wind_speed": 2.61, - "wind_deg": 211, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594530000, - "temp": 27.27, - "feels_like": 30.91, - "pressure": 1012, - "humidity": 79, - "dew_point": 23.39, - "clouds": 0, - "wind_speed": 2.54, - "wind_deg": 226, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594533600, - "temp": 27.17, - "feels_like": 30.72, - "pressure": 1012, - "humidity": 79, - "dew_point": 23.23, - "clouds": 0, - "wind_speed": 2.58, - "wind_deg": 213, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594537200, - "temp": 26.91, - "feels_like": 30.06, - "pressure": 1012, - "humidity": 78, - "dew_point": 22.95, - "clouds": 0, - "wind_speed": 2.79, - "wind_deg": 225, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594540800, - "temp": 26.57, - "feels_like": 29.76, - "pressure": 1011, - "humidity": 79, - "dew_point": 22.68, - "clouds": 33, - "wind_speed": 2.63, - "wind_deg": 217, - "weather": [ - { - "id": 802, - "main": "Clouds", - "description": "scattered clouds", - "icon": "03n" - } - ] - }, - { - "dt": 1594544400, - "temp": 26.39, - "feels_like": 28.98, - "pressure": 1011, - "humidity": 78, - "dew_point": 22.36, - "clouds": 56, - "wind_speed": 3.19, - "wind_deg": 191, - "weather": [ - { - "id": 803, - "main": "Clouds", - "description": "broken clouds", - "icon": "04n" - } - ] - }, - { - "dt": 1594548000, - "temp": 25.97, - "feels_like": 29.15, - "pressure": 1011, - "humidity": 79, - "dew_point": 22.12, - "clouds": 67, - "wind_speed": 2.2, - "wind_deg": 211, - "weather": [ - { - "id": 803, - "main": "Clouds", - "description": "broken clouds", - "icon": "04n" - } - ] - }, - { - "dt": 1594551600, - "temp": 25.6, - "feels_like": 28.65, - "pressure": 1012, - "humidity": 79, - "dew_point": 21.77, - "clouds": 72, - "wind_speed": 2.12, - "wind_deg": 257, - "weather": [ - { - "id": 803, - "main": "Clouds", - "description": "broken clouds", - "icon": "04n" - } - ] - }, - { - "dt": 1594555200, - "temp": 25.25, - "feels_like": 29.31, - "pressure": 1012, - "humidity": 84, - "dew_point": 22.42, - "clouds": 74, - "wind_speed": 1.18, - "wind_deg": 276, - "weather": [ - { - "id": 500, - "main": "Rain", - "description": "light rain", - "icon": "10d" - } - ], - "rain": { - "1h": 0.66 - } - }, - { - "dt": 1594558800, - "temp": 26.51, - "feels_like": 31.02, - "pressure": 1013, - "humidity": 82, - "dew_point": 23.22, - "clouds": 91, - "wind_speed": 1.19, - "wind_deg": 227, - "weather": [ - { - "id": 500, - "main": "Rain", - "description": "light rain", - "icon": "10d" - } - ], - "rain": { - "1h": 0.5 - } - }, - { - "dt": 1594562400, - "temp": 27.99, - "feels_like": 31.34, - "pressure": 1012, - "humidity": 75, - "dew_point": 23.26, - "clouds": 87, - "wind_speed": 2.82, - "wind_deg": 223, - "weather": [ - { - "id": 804, - "main": "Clouds", - "description": "overcast clouds", - "icon": "04d" - } - ] - }, - { - "dt": 1594566000, - "temp": 29.6, - "feels_like": 32.28, - "pressure": 1012, - "humidity": 67, - "dew_point": 23.02, - "clouds": 63, - "wind_speed": 3.51, - "wind_deg": 236, - "weather": [ - { - "id": 803, - "main": "Clouds", - "description": "broken clouds", - "icon": "04d" - } - ] - }, - { - "dt": 1594569600, - "temp": 31.12, - "feels_like": 33.49, - "pressure": 1011, - "humidity": 62, - "dew_point": 23.22, - "clouds": 52, - "wind_speed": 4.08, - "wind_deg": 239, - "weather": [ - { - "id": 803, - "main": "Clouds", - "description": "broken clouds", - "icon": "04d" - } - ] - }, - { - "dt": 1594573200, - "temp": 32.66, - "feels_like": 35.05, - "pressure": 1011, - "humidity": 58, - "dew_point": 23.6, - "clouds": 46, - "wind_speed": 4.31, - "wind_deg": 238, - "weather": [ - { - "id": 802, - "main": "Clouds", - "description": "scattered clouds", - "icon": "03d" - } - ] - }, - { - "dt": 1594576800, - "temp": 34.15, - "feels_like": 36.59, - "pressure": 1011, - "humidity": 54, - "dew_point": 23.74, - "clouds": 40, - "wind_speed": 4.4, - "wind_deg": 236, - "weather": [ - { - "id": 802, - "main": "Clouds", - "description": "scattered clouds", - "icon": "03d" - } - ] - }, - { - "dt": 1594580400, - "temp": 35.24, - "feels_like": 37.8, - "pressure": 1010, - "humidity": 51, - "dew_point": 23.83, - "clouds": 0, - "wind_speed": 4.27, - "wind_deg": 246, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01d" - } - ] - }, - { - "dt": 1594584000, - "temp": 35.73, - "feels_like": 38.39, - "pressure": 1009, - "humidity": 50, - "dew_point": 23.92, - "clouds": 0, - "wind_speed": 4.23, - "wind_deg": 262, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01d" - } - ] - }, - { - "dt": 1594587600, - "temp": 35.89, - "feels_like": 38.87, - "pressure": 1008, - "humidity": 51, - "dew_point": 24.29, - "clouds": 0, - "wind_speed": 4.17, - "wind_deg": 267, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01d" - } - ] - }, - { - "dt": 1594591200, - "temp": 35.63, - "feels_like": 39.46, - "pressure": 1008, - "humidity": 55, - "dew_point": 25.31, - "clouds": 0, - "wind_speed": 3.85, - "wind_deg": 266, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01d" - } - ] - }, - { - "dt": 1594594800, - "temp": 35, - "feels_like": 39.97, - "pressure": 1007, - "humidity": 61, - "dew_point": 26.37, - "clouds": 0, - "wind_speed": 3.3, - "wind_deg": 262, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01d" - } - ] - }, - { - "dt": 1594598400, - "temp": 33.25, - "feels_like": 38.23, - "pressure": 1007, - "humidity": 66, - "dew_point": 26.08, - "clouds": 0, - "wind_speed": 2.98, - "wind_deg": 259, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01d" - } - ] - }, - { - "dt": 1594602000, - "temp": 30.86, - "feels_like": 35.71, - "pressure": 1008, - "humidity": 72, - "dew_point": 25.37, - "clouds": 0, - "wind_speed": 2.44, - "wind_deg": 254, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01d" - } - ] - }, - { - "dt": 1594605600, - "temp": 29.71, - "feels_like": 34.14, - "pressure": 1008, - "humidity": 72, - "dew_point": 24.24, - "clouds": 0, - "wind_speed": 2.07, - "wind_deg": 246, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594609200, - "temp": 29.09, - "feels_like": 33.6, - "pressure": 1009, - "humidity": 73, - "dew_point": 23.92, - "clouds": 0, - "wind_speed": 1.65, - "wind_deg": 239, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594612800, - "temp": 28.41, - "feels_like": 33.33, - "pressure": 1009, - "humidity": 75, - "dew_point": 23.77, - "clouds": 0, - "wind_speed": 0.9, - "wind_deg": 301, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594616400, - "temp": 27.65, - "feels_like": 31.94, - "pressure": 1010, - "humidity": 79, - "dew_point": 23.7, - "clouds": 0, - "wind_speed": 1.9, - "wind_deg": 342, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594620000, - "temp": 26.81, - "feels_like": 30.18, - "pressure": 1010, - "humidity": 78, - "dew_point": 22.81, - "clouds": 0, - "wind_speed": 2.39, - "wind_deg": 13, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594623600, - "temp": 25.86, - "feels_like": 28.37, - "pressure": 1010, - "humidity": 75, - "dew_point": 21.3, - "clouds": 0, - "wind_speed": 2.45, - "wind_deg": 41, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594627200, - "temp": 24.94, - "feels_like": 26.96, - "pressure": 1010, - "humidity": 75, - "dew_point": 20.36, - "clouds": 0, - "wind_speed": 2.53, - "wind_deg": 49, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594630800, - "temp": 23.94, - "feels_like": 25.44, - "pressure": 1010, - "humidity": 78, - "dew_point": 19.9, - "clouds": 2, - "wind_speed": 3.05, - "wind_deg": 56, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01n" - } - ] - }, - { - "dt": 1594634400, - "temp": 23.22, - "feels_like": 25.05, - "pressure": 1011, - "humidity": 81, - "dew_point": 19.94, - "clouds": 14, - "wind_speed": 2.51, - "wind_deg": 65, - "weather": [ - { - "id": 801, - "main": "Clouds", - "description": "few clouds", - "icon": "02n" - } - ] - }, - { - "dt": 1594638000, - "temp": 22.87, - "feels_like": 24.56, - "pressure": 1011, - "humidity": 81, - "dew_point": 19.61, - "clouds": 17, - "wind_speed": 2.48, - "wind_deg": 74, - "weather": [ - { - "id": 801, - "main": "Clouds", - "description": "few clouds", - "icon": "02n" - } - ] - }, - { - "dt": 1594641600, - "temp": 22.82, - "feels_like": 24.7, - "pressure": 1012, - "humidity": 83, - "dew_point": 19.8, - "clouds": 29, - "wind_speed": 2.44, - "wind_deg": 63, - "weather": [ - { - "id": 802, - "main": "Clouds", - "description": "scattered clouds", - "icon": "03d" - } - ] - }, - { - "dt": 1594645200, - "temp": 23.84, - "feels_like": 25.88, - "pressure": 1013, - "humidity": 80, - "dew_point": 20.21, - "clouds": 100, - "wind_speed": 2.48, - "wind_deg": 62, - "weather": [ - { - "id": 804, - "main": "Clouds", - "description": "overcast clouds", - "icon": "04d" - } - ] - }, - { - "dt": 1594648800, - "temp": 25, - "feels_like": 27, - "pressure": 1013, - "humidity": 75, - "dew_point": 20.37, - "clouds": 100, - "wind_speed": 2.59, - "wind_deg": 67, - "weather": [ - { - "id": 804, - "main": "Clouds", - "description": "overcast clouds", - "icon": "04d" - } - ] - }, - { - "dt": 1594652400, - "temp": 26.18, - "feels_like": 27.69, - "pressure": 1012, - "humidity": 73, - "dew_point": 21.06, - "clouds": 100, - "wind_speed": 3.79, - "wind_deg": 101, - "weather": [ - { - "id": 804, - "main": "Clouds", - "description": "overcast clouds", - "icon": "04d" - } - ] - }, - { - "dt": 1594656000, - "temp": 28.36, - "feels_like": 30.56, - "pressure": 1012, - "humidity": 69, - "dew_point": 22.32, - "clouds": 83, - "wind_speed": 3.66, - "wind_deg": 128, - "weather": [ - { - "id": 803, - "main": "Clouds", - "description": "broken clouds", - "icon": "04d" - } - ] - } - ], - "daily": [ - { - "dt": 1594490400, - "sunrise": 1594466108, - "sunset": 1594517275, - "temp": { - "day": 33.38, - "min": 27.17, - "max": 34.96, - "night": 27.17, - "eve": 33.35, - "morn": 32.69 - }, - "feels_like": { - "day": 37.27, - "night": 30.72, - "eve": 39.01, - "morn": 36.67 - }, - "pressure": 1017, - "humidity": 59, - "dew_point": 24.27, - "wind_speed": 2.97, - "wind_deg": 248, - "weather": [ - { - "id": 801, - "main": "Clouds", - "description": "few clouds", - "icon": "02d" - } - ], - "clouds": 21, - "uvi": 11.94 - }, - { - "dt": 1594576800, - "sunrise": 1594552543, - "sunset": 1594603655, - "temp": { - "day": 34.15, - "min": 25.25, - "max": 35.89, - "night": 26.81, - "eve": 33.25, - "morn": 25.25 - }, - "feels_like": { - "day": 36.59, - "night": 30.18, - "eve": 38.23, - "morn": 29.31 - }, - "pressure": 1011, - "humidity": 54, - "dew_point": 23.74, - "wind_speed": 4.4, - "wind_deg": 236, - "weather": [ - { - "id": 500, - "main": "Rain", - "description": "light rain", - "icon": "10d" - } - ], - "clouds": 40, - "rain": 1.16, - "uvi": 11.61 - }, - { - "dt": 1594663200, - "sunrise": 1594638978, - "sunset": 1594690034, - "temp": { - "day": 29.22, - "min": 22.82, - "max": 29.22, - "night": 26.71, - "eve": 28.98, - "morn": 22.82 - }, - "feels_like": { - "day": 34.31, - "night": 28.82, - "eve": 34.45, - "morn": 24.7 - }, - "pressure": 1012, - "humidity": 72, - "dew_point": 23.66, - "wind_speed": 0.74, - "wind_deg": 287, - "weather": [ - { - "id": 804, - "main": "Clouds", - "description": "overcast clouds", - "icon": "04d" - } - ], - "clouds": 85, - "uvi": 12.72 - }, - { - "dt": 1594749600, - "sunrise": 1594725414, - "sunset": 1594776411, - "temp": { - "day": 33.67, - "min": 24.06, - "max": 35.68, - "night": 25.94, - "eve": 32.24, - "morn": 24.06 - }, - "feels_like": { - "day": 35.84, - "night": 27.78, - "eve": 35.66, - "morn": 27.28 - }, - "pressure": 1012, - "humidity": 50, - "dew_point": 21.95, - "wind_speed": 3.45, - "wind_deg": 183, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01d" - } - ], - "clouds": 9, - "uvi": 11.67 - }, - { - "dt": 1594836000, - "sunrise": 1594811851, - "sunset": 1594862786, - "temp": { - "day": 32.79, - "min": 24.61, - "max": 35.24, - "night": 26.42, - "eve": 31.72, - "morn": 24.61 - }, - "feels_like": { - "day": 34.67, - "night": 28.57, - "eve": 35.11, - "morn": 27.47 - }, - "pressure": 1014, - "humidity": 53, - "dew_point": 22.04, - "wind_speed": 3.97, - "wind_deg": 208, - "weather": [ - { - "id": 802, - "main": "Clouds", - "description": "scattered clouds", - "icon": "03d" - } - ], - "clouds": 35, - "uvi": 11.55 - }, - { - "dt": 1594922400, - "sunrise": 1594898288, - "sunset": 1594949160, - "temp": { - "day": 33.89, - "min": 24.07, - "max": 35.5, - "night": 26.61, - "eve": 32.58, - "morn": 24.07 - }, - "feels_like": { - "day": 35.74, - "night": 29.39, - "eve": 36.52, - "morn": 27.33 - }, - "pressure": 1015, - "humidity": 49, - "dew_point": 22.01, - "wind_speed": 3.81, - "wind_deg": 225, - "weather": [ - { - "id": 802, - "main": "Clouds", - "description": "scattered clouds", - "icon": "03d" - } - ], - "clouds": 29, - "uvi": 11.67 - }, - { - "dt": 1595008800, - "sunrise": 1594984726, - "sunset": 1595035532, - "temp": { - "day": 34.95, - "min": 24.45, - "max": 36.42, - "night": 26.97, - "eve": 33.81, - "morn": 24.45 - }, - "feels_like": { - "day": 38.11, - "night": 29.69, - "eve": 38.22, - "morn": 26.84 - }, - "pressure": 1016, - "humidity": 50, - "dew_point": 23.17, - "wind_speed": 2.94, - "wind_deg": 230, - "weather": [ - { - "id": 802, - "main": "Clouds", - "description": "scattered clouds", - "icon": "03d" - } - ], - "clouds": 46, - "uvi": 11.86 - }, - { - "dt": 1595095200, - "sunrise": 1595071164, - "sunset": 1595121903, - "temp": { - "day": 35.47, - "min": 24.4, - "max": 37.04, - "night": 28.18, - "eve": 34.23, - "morn": 24.4 - }, - "feels_like": { - "day": 38.15, - "night": 30.61, - "eve": 38.67, - "morn": 26.95 - }, - "pressure": 1015, - "humidity": 46, - "dew_point": 22.36, - "wind_speed": 2.93, - "wind_deg": 238, - "weather": [ - { - "id": 800, - "main": "Clear", - "description": "clear sky", - "icon": "01d" - } - ], - "clouds": 2, - "uvi": 11.67 - } - ] -} \ No newline at end of file diff --git a/weather-widget/weather.lua b/weather-widget/weather.lua index 3d3b8e0..1465c0c 100644 --- a/weather-widget/weather.lua +++ b/weather-widget/weather.lua @@ -140,7 +140,7 @@ local function worker(args) local timeout = args.timeout or 120 local owm_one_cal_api = - ('https://api.openweathermap.org/data/2.5/onecall' .. + ('https://api.openweathermap.org/data/2.5/onecall' .. '?lat=' .. coordinates[1] .. '&lon=' .. coordinates[2] .. '&appid=' .. api_key .. '&units=' .. units .. '&exclude=minutely' .. (show_hourly_forecast == false and ',hourly' or '') .. @@ -325,12 +325,27 @@ local function worker(args) self.min_value = new_min_value end } + local hourly_forecast_negative_graph = wibox.widget { + step_width = 12, + color = '#5E81AC', + background_color = beautiful.bg_normal, + forced_height = 100, + forced_width = 300, + widget = wibox.widget.graph, + set_max_value = function(self, new_max_value) + self.max_value = new_max_value + end, + set_min_value = function(self, new_min_value) + self.min_value = new_min_value + end + } local hourly_forecast_widget = { layout = wibox.layout.fixed.vertical, update = function(self, hourly) local hours_below = { id = 'hours', + forced_width = 300, layout = wibox.layout.flex.horizontal } local temp_below = { @@ -355,37 +370,101 @@ local function worker(args) widget = wibox.widget.textbox }) table.insert(temp_below, wibox.widget { - markup = '' .. string.format('%.0f', hour.temp) .. '°' .. '', + markup = '' .. string.format('%.0f', hour.temp) .. '°' .. '', align = 'center', font = font_name .. ' 9', widget = wibox.widget.textbox }) end end - hourly_forecast_graph:set_max_value(max_temp) - hourly_forecast_graph:set_min_value(min_temp * 0.7) -- move graph a bit up + + hourly_forecast_graph:set_max_value(math.max(max_temp, math.abs(min_temp))) + hourly_forecast_graph:set_min_value(min_temp > 0 and min_temp * 0.7 or 0) -- move graph a bit up + + hourly_forecast_negative_graph:set_max_value(math.abs(min_temp)) + hourly_forecast_negative_graph:set_min_value(max_temp < 0 and math.abs(max_temp) * 0.7 or 0) + for i, value in ipairs(values) do - hourly_forecast_graph:add_value(value) + print(value) + if value >= 0 then + hourly_forecast_graph:add_value(value) + hourly_forecast_negative_graph:add_value(0) + else + hourly_forecast_graph:add_value(0) + hourly_forecast_negative_graph:add_value(math.abs(value)) + end end local count = #self for i = 0, count do self[i]=nil end - table.insert(self, wibox.widget{ - { - hourly_forecast_graph, - reflection = {horizontal = true}, - widget = wibox.container.mirror - }, - { - temp_below, - valign = 'bottom', - widget = wibox.container.place - }, - id = 'graph', - layout = wibox.layout.stack - }) - table.insert(self, hours_below) + -- all temperatures are positive + if min_temp > 0 then + table.insert(self, wibox.widget{ + { + hourly_forecast_graph, + reflection = {horizontal = true}, + widget = wibox.container.mirror + }, + { + temp_below, + valign = 'bottom', + widget = wibox.container.place + }, + id = 'graph', + layout = wibox.layout.stack + }) + table.insert(self, hours_below) + + -- all temperatures are negative + elseif max_temp < 0 then + table.insert(self, hours_below) + table.insert(self, wibox.widget{ + { + hourly_forecast_negative_graph, + reflection = {horizontal = true, vertical = true}, + widget = wibox.container.mirror + }, + { + temp_below, + valign = 'top', + widget = wibox.container.place + }, + id = 'graph', + layout = wibox.layout.stack + }) + + -- there are both negative and positive temperatures + else + table.insert(self, wibox.widget{ + { + hourly_forecast_graph, + reflection = {horizontal = true}, + widget = wibox.container.mirror + }, + { + temp_below, + valign = 'bottom', + widget = wibox.container.place + }, + id = 'graph', + layout = wibox.layout.stack + }) + table.insert(self, wibox.widget{ + { + hourly_forecast_negative_graph, + reflection = {horizontal = true, vertical = true}, + widget = wibox.container.mirror + }, + { + hours_below, + valign = 'top', + widget = wibox.container.place + }, + id = 'graph', + layout = wibox.layout.stack + }) + end end }