weather.sh icon indicating copy to clipboard operation
weather.sh copied to clipboard

forcast.sh not working with Celsius

Open lrfinotti opened this issue 1 year ago • 0 comments

The forecast.sh script is not working in Celsius, as it displays the same temperature.

09/24@14:00: ☀ Clear Sky        Temp:24.63 [0]°C Wind:1.44kph Humidity:52%  Clouds:0%
09/24@17:00: ☀ Clear Sky        Temp:24.63 [1]°C Wind:1.94kph Humidity:43%  Clouds:0%
09/24@20:00: 🌤 Few Clouds       Temp:24.63 [2]°C Wind:1.56kph Humidity:63%  Clouds:12%
09/24@23:00: ☁ Broken Clouds    Temp:24.63 [3]°C Wind:1.47kph Humidity:73%  Clouds:76%
09/25@02:00: ☁ Overcast Clouds  Temp:24.63 [4]°C Wind:1.69kph Humidity:80%  Clouds:88%
09/25@05:00: ☁ Overcast Clouds  Temp:24.63 [5]°C Wind:1.52kph Humidity:87%  Clouds:88%
09/25@08:00: ☁ Broken Clouds    Temp:24.63 [6]°C Wind:1.06kph Humidity:88%  Clouds:57%
09/25@11:00: 🌥 Scattered Clouds Temp:24.63 [7]°C Wind:1.55kph Humidity:56%  Clouds:39%
09/26@11:00: ☁ Overcast Clouds  Temp:24.63 [15]°C Wind:1.6kph Humidity:53%  Clouds:100%

Daily:
09/27@11:00: 🌦 Light Rain       Temp:24.63 [23]°C Wind:0.33kph Humidity:82%  Clouds:96%
09/28@11:00: ☁ Overcast Clouds  Temp:24.63 [31]°C Wind:0.7kph Humidity:76%  Clouds:85%
09/29@11:00: 🌦 Light Rain       Temp:24.63 [39]°C Wind:0.4kph Humidity:80%  Clouds:72%

The problem is line 211 of forecast.sh, which currently is

temperature[$i]=$tempinc[$i]

while it should be:

temperature[$i]=${tempinc[$i]}

Then, it works (mostly) as expected:

09/24@14:00: ☀ Clear Sky        Temp:24.63 °C Wind:1.44kph Humidity:52%  Clouds:0%
09/24@17:00: ☀ Clear Sky        Temp:26.48 °C Wind:1.94kph Humidity:43%  Clouds:0%
09/24@20:00: 🌤 Few Clouds       Temp:21.38 °C Wind:1.56kph Humidity:63%  Clouds:12%
09/24@23:00: ☁ Broken Clouds    Temp:19.05 °C Wind:1.47kph Humidity:73%  Clouds:76%
09/25@02:00: ☁ Overcast Clouds  Temp:17.71 °C Wind:1.69kph Humidity:80%  Clouds:88%
09/25@05:00: ☁ Overcast Clouds  Temp:16.45 °C Wind:1.52kph Humidity:87%  Clouds:88%
09/25@08:00: ☁ Broken Clouds    Temp:16.01 °C Wind:1.06kph Humidity:88%  Clouds:57%
09/25@11:00: 🌥 Scattered Clouds Temp:23.83 °C Wind:1.55kph Humidity:56%  Clouds:39%
09/26@11:00: ☁ Overcast Clouds  Temp:24.73 °C Wind:1.6kph Humidity:53%  Clouds:100%

Daily:
09/27@11:00: 🌦 Light Rain       Temp:21.52 °C Wind:0.33kph Humidity:82%  Clouds:96%
09/28@11:00: ☁ Overcast Clouds  Temp:21.64 °C Wind:0.7kph Humidity:76%  Clouds:85%
09/29@11:00: 🌦 Light Rain       Temp:20.56 °C Wind:0.4kph Humidity:80%  Clouds:72%

As you can see, there still an extra space before °C, but hopefully that is an easy fix. Maybe:

temperature[$i]=$(echo ${tempinc[$i]} | sed 's/ *$//')

lrfinotti avatar Sep 24 '23 16:09 lrfinotti