mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-09-02 18:31:22 +02:00
- weather/lcd4l: add some more weather data
Signed-off-by: Thilo Graf <dbt@novatux.de>
This commit is contained in:
@@ -128,7 +128,10 @@ bool CWeather::GetWeatherDetails()
|
||||
if (found > 0)
|
||||
{
|
||||
timezone = DataValues["timezone"].asString();
|
||||
current.timestamp = DataValues["currently"].get("time", 0).asDouble();
|
||||
current.temperature = DataValues["currently"].get("temperature", "").asFloat();
|
||||
current.windSpeed = DataValues["currently"].get("windSpeed", 0).asFloat();
|
||||
current.windBearing = DataValues["currently"].get("windBearing", 0).asDouble();
|
||||
current.icon = DataValues["currently"].get("icon", "").asString();
|
||||
if (current.icon.empty())
|
||||
current.icon = "unknown.png";
|
||||
@@ -148,6 +151,8 @@ bool CWeather::GetWeatherDetails()
|
||||
daily_data.icon = daily_data.icon + ".png";
|
||||
daily_data.temperatureMin = elements[i].get("temperatureMin", "").asFloat();
|
||||
daily_data.temperatureMax = elements[i].get("temperatureMax", "").asFloat();
|
||||
daily_data.windSpeed = elements[i].get("windSpeed", 0).asFloat();
|
||||
daily_data.windBearing = elements[i].get("windBearing", 0).asDouble();
|
||||
|
||||
struct tm *timeinfo;
|
||||
timeinfo = localtime(&daily_data.timestamp);
|
||||
|
@@ -36,12 +36,18 @@
|
||||
|
||||
struct current_data
|
||||
{
|
||||
time_t timestamp;
|
||||
std::string icon;
|
||||
float temperature;
|
||||
float windSpeed;
|
||||
int windBearing;
|
||||
|
||||
current_data():
|
||||
timestamp(0),
|
||||
icon(""),
|
||||
temperature(0)
|
||||
temperature(0),
|
||||
windSpeed(0),
|
||||
windBearing(0)
|
||||
{}
|
||||
};
|
||||
|
||||
@@ -51,6 +57,8 @@ typedef struct
|
||||
std::string icon;
|
||||
float temperatureMin;
|
||||
float temperatureMax;
|
||||
float windSpeed;
|
||||
int windBearing;
|
||||
} forecast_data;
|
||||
|
||||
class CWeather
|
||||
@@ -77,18 +85,48 @@ class CWeather
|
||||
{
|
||||
return city;
|
||||
};
|
||||
#if 0
|
||||
std::string getCurrentTimestamp()
|
||||
{
|
||||
return to_string((int)(current.timestamp));
|
||||
};
|
||||
#endif
|
||||
time_t getCurrentTimestamp()
|
||||
{
|
||||
return current.timestamp;
|
||||
};
|
||||
std::string getCurrentTemperature()
|
||||
{
|
||||
return to_string((int)(current.temperature + 0.5));
|
||||
};
|
||||
std::string getCurrentWindSpeed()
|
||||
{
|
||||
return to_string(current.windSpeed);
|
||||
};
|
||||
std::string getCurrentWindBearing()
|
||||
{
|
||||
return to_string(current.windBearing);
|
||||
};
|
||||
std::string getCurrentIcon()
|
||||
{
|
||||
return ICONSDIR"/weather/" + current.icon;
|
||||
};
|
||||
std::string getForecastTemperatureMin(int i = 0)
|
||||
{
|
||||
return to_string((int)(v_forecast[i].temperatureMin + 0.5));
|
||||
};
|
||||
std::string getForecastTemperatureMax(int i = 0)
|
||||
{
|
||||
return to_string((int)(v_forecast[i].temperatureMax + 0.5));
|
||||
};
|
||||
std::string getForecastWindSpeed(int i = 0)
|
||||
{
|
||||
return to_string(v_forecast[i].windSpeed);
|
||||
};
|
||||
std::string getForecastWindBearing(int i = 0)
|
||||
{
|
||||
return to_string(v_forecast[i].windBearing);
|
||||
};
|
||||
std::string getForecastIcon(int i = 0)
|
||||
{
|
||||
return ICONSDIR"/weather/" + v_forecast[i].icon;
|
||||
|
Reference in New Issue
Block a user