Skip to content

Commit e31e905

Browse files
authored
Merge pull request #190 from Solcast/sdk-update-prod-2025-11-19-e5f2fcc7
SDK Update for prod on 2025-11-19
2 parents 85c82fa + a0ae341 commit e31e905

13 files changed

Lines changed: 1230 additions & 26 deletions

src/Solcast/Clients/AggregationClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public async Task<ApiResponse<LiveAggregationResponse>> GetLiveAggregations(
9494
}
9595
}
9696
/// <summary>
97-
/// Get forecast aggregation data for up to 7 days of data at a time for a requested collection or aggregation.
97+
/// Get forecast aggregation data for up to 14 days of data at a time for a requested collection or aggregation.
9898
/// </summary>
9999
/// <param name="outputParameters">The output parameters to include in the response.</param>
100100
/// <param name="collectionId">Unique identifier for your collection.</param>

src/Solcast/Clients/ForecastClient.cs

Lines changed: 209 additions & 13 deletions
Large diffs are not rendered by default.

src/Solcast/Clients/HistoricClient.cs

Lines changed: 208 additions & 0 deletions
Large diffs are not rendered by default.

src/Solcast/Clients/LiveClient.cs

Lines changed: 208 additions & 12 deletions
Large diffs are not rendered by default.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using System.Collections.Generic;
2+
using Newtonsoft.Json;
3+
4+
namespace Solcast.Models
5+
{
6+
public class EstimatedActualsDataResponse
7+
{
8+
[JsonProperty("estimated_actuals")]
9+
public List<Dictionary<string, object>> EstimatedActuals { get; set; }
10+
}
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using System.Collections.Generic;
2+
using Newtonsoft.Json;
3+
4+
namespace Solcast.Models
5+
{
6+
public class ForecastsDataResponse
7+
{
8+
[JsonProperty("forecasts")]
9+
public List<Dictionary<string, object>> Forecasts { get; set; }
10+
}
11+
}
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
using System.Collections.Generic;
2+
using Newtonsoft.Json;
3+
4+
namespace Solcast.Models
5+
{
6+
public class GetForecastHsuLosses
7+
{
8+
/// <summary>
9+
/// The latitude of the location you request data for. Must be a decimal number between -90 and 90.
10+
/// </summary>
11+
[JsonProperty("latitude")]
12+
public double? Latitude { get; set; } // Required
13+
14+
/// <summary>
15+
/// The longitude of the location you request data for. Must be a decimal number between -180 and 180.
16+
/// </summary>
17+
[JsonProperty("longitude")]
18+
public double? Longitude { get; set; } // Required
19+
20+
/// <summary>
21+
/// Timezone to return in data set. Accepted values are utc, longitudinal, or a range from -13 to 13 in 0.25 hour increments for utc offset.
22+
/// </summary>
23+
[JsonProperty("time_zone")]
24+
public string TimeZone { get; set; }
25+
26+
/// <summary>
27+
/// The number of hours to return in the response.
28+
/// </summary>
29+
[JsonProperty("hours")]
30+
public int? Hours { get; set; }
31+
32+
/// <summary>
33+
/// Length of the averaging period in ISO 8601 format.
34+
/// </summary>
35+
[JsonProperty("period")]
36+
public string Period { get; set; }
37+
38+
/// <summary>
39+
/// Deposition Velocity for PM10.
40+
/// </summary>
41+
[JsonProperty("depo_veloc_pm10")]
42+
public double? DepoVelocPm10 { get; set; }
43+
44+
/// <summary>
45+
/// Deposition Velocity for PM2.5.
46+
/// </summary>
47+
[JsonProperty("depo_veloc_pm2.5")]
48+
public double? DepoVelocPm2.5 { get; set; }
49+
50+
/// <summary>
51+
/// Restricted. A list of PM10 values. Concentration of airborne particulate matter (PM) with aerodynamicdiameter less than 10 microns. [g/m^3] HSU endpoint will internally use Solcast's PM10 values tailored to your request time period.
52+
/// </summary>
53+
[JsonProperty("pm10")]
54+
public List<double?> Pm10 { get; set; }
55+
56+
/// <summary>
57+
/// Restricted. A list of PM2.5 values. Concentration of airborne particulate matter (PM) with aerodynamicdiameter less than 10 microns. [g/m^3] HSU endpoint will internally use Solcast's PM2.5 values tailored to your request time period.
58+
/// </summary>
59+
[JsonProperty("pm2.5")]
60+
public List<double?> Pm2.5 { get; set; }
61+
62+
/// <summary>
63+
/// The angle (degrees) that the PV system is tilted off the horizontal. A tilt of 0 means the system faces directly upwards, and 90 means the system is vertical and facing the horizon. If you don't specify tilt, we use a default tilt angle based on the latitude you specify in your request. Must be between 0 and 90.
64+
/// </summary>
65+
[JsonProperty("tilt")]
66+
public double? Tilt { get; set; }
67+
68+
/// <summary>
69+
/// Amount of daily rainfall required to clean the panels (mm). Defaults to 6.0mm
70+
/// </summary>
71+
[JsonProperty("cleaning_threshold")]
72+
public double? CleaningThreshold { get; set; }
73+
74+
/// <summary>
75+
/// Initial percentage of energy lost due to soiling at time zero in the rainfall series input. If not provided, Solcast will perform a ramp up series calculation to accurately determine this value.
76+
/// </summary>
77+
[JsonProperty("initial_soiling")]
78+
public double? InitialSoiling { get; set; }
79+
80+
/// <summary>
81+
/// Restricted. Specifies the period of time to sum rain fall data. Internally this value is set to 24 hours in line with the findings of https://ieeexplore.ieee.org/document/4060159 .
82+
/// </summary>
83+
[JsonProperty("rain_accum_period")]
84+
public int? RainAccumPeriod { get; set; }
85+
86+
/// <summary>
87+
/// Restricted. List of rainfall values. HSU endpoint will internally use Solcast's percepitation rate values tailored to your request time period.
88+
/// </summary>
89+
[JsonProperty("rainfall")]
90+
public List<double?> Rainfall { get; set; }
91+
92+
/// <summary>
93+
/// A list of ISO 8601 compliant dates or a repeating interval when manual cleaning of the panels occurred.
94+
/// </summary>
95+
[JsonProperty("manual_wash_dates")]
96+
public List<string> ManualWashDates { get; set; }
97+
98+
/// <summary>
99+
/// Response format
100+
/// </summary>
101+
[JsonProperty("format")]
102+
public string Format { get; set; }
103+
}
104+
}
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
using System.Collections.Generic;
2+
using Newtonsoft.Json;
3+
4+
namespace Solcast.Models
5+
{
6+
public class GetForecastKimberLosses
7+
{
8+
/// <summary>
9+
/// The latitude of the location you request data for. Must be a decimal number between -90 and 90.
10+
/// </summary>
11+
[JsonProperty("latitude")]
12+
public double? Latitude { get; set; } // Required
13+
14+
/// <summary>
15+
/// The longitude of the location you request data for. Must be a decimal number between -180 and 180.
16+
/// </summary>
17+
[JsonProperty("longitude")]
18+
public double? Longitude { get; set; } // Required
19+
20+
/// <summary>
21+
/// Timezone to return in data set. Accepted values are utc, longitudinal, or a range from -13 to 13 in 0.25 hour increments for utc offset.
22+
/// </summary>
23+
[JsonProperty("time_zone")]
24+
public string TimeZone { get; set; }
25+
26+
/// <summary>
27+
/// The number of hours to return in the response.
28+
/// </summary>
29+
[JsonProperty("hours")]
30+
public int? Hours { get; set; }
31+
32+
/// <summary>
33+
/// Length of the averaging period in ISO 8601 format.
34+
/// </summary>
35+
[JsonProperty("period")]
36+
public string Period { get; set; }
37+
38+
/// <summary>
39+
/// Amount of daily rainfall required to clean the panels (mm)
40+
/// </summary>
41+
[JsonProperty("cleaning_threshold")]
42+
public double? CleaningThreshold { get; set; }
43+
44+
/// <summary>
45+
/// Percentage of energy lost due to one day of soiling.
46+
/// </summary>
47+
[JsonProperty("soiling_loss_rate")]
48+
public double? SoilingLossRate { get; set; }
49+
50+
/// <summary>
51+
/// Number of days after a rainfall event when it’s assumed the ground is damp, and so it’s assumed there is no soiling.
52+
/// </summary>
53+
[JsonProperty("grace_period")]
54+
public int? GracePeriod { get; set; }
55+
56+
/// <summary>
57+
/// Maximum percentage of energy lost due to soiling. Soiling will build up until this value.
58+
/// </summary>
59+
[JsonProperty("max_soiling")]
60+
public double? MaxSoiling { get; set; }
61+
62+
/// <summary>
63+
/// Initial percentage of energy lost due to soiling at time zero in the rainfall series input.
64+
/// </summary>
65+
[JsonProperty("initial_soiling")]
66+
public double? InitialSoiling { get; set; }
67+
68+
/// <summary>
69+
/// A list of ISO 8601 compliant dates or a repeating interval when manual cleaning of the panels occurred.
70+
/// </summary>
71+
[JsonProperty("manual_wash_dates")]
72+
public List<string> ManualWashDates { get; set; }
73+
74+
/// <summary>
75+
/// Response format
76+
/// </summary>
77+
[JsonProperty("format")]
78+
public string Format { get; set; }
79+
}
80+
}
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
using System.Collections.Generic;
2+
using Newtonsoft.Json;
3+
4+
namespace Solcast.Models
5+
{
6+
public class GetHistoricHsuLosses
7+
{
8+
/// <summary>
9+
/// The latitude of the location you request data for. Must be a decimal number between -90 and 90.
10+
/// </summary>
11+
[JsonProperty("latitude")]
12+
public double? Latitude { get; set; } // Required
13+
14+
/// <summary>
15+
/// The longitude of the location you request data for. Must be a decimal number between -180 and 180.
16+
/// </summary>
17+
[JsonProperty("longitude")]
18+
public double? Longitude { get; set; } // Required
19+
20+
/// <summary>
21+
/// Timezone to return in data set. Accepted values are utc, longitudinal, or a range from -13 to 13 in 0.25 hour increments for utc offset.
22+
/// </summary>
23+
[JsonProperty("time_zone")]
24+
public string TimeZone { get; set; }
25+
26+
/// <summary>
27+
/// Length of the averaging period in ISO 8601 format.
28+
/// </summary>
29+
[JsonProperty("period")]
30+
public string Period { get; set; }
31+
32+
/// <summary>
33+
/// Deposition Velocity for PM10.
34+
/// </summary>
35+
[JsonProperty("depo_veloc_pm10")]
36+
public double? DepoVelocPm10 { get; set; }
37+
38+
/// <summary>
39+
/// Deposition Velocity for PM2.5.
40+
/// </summary>
41+
[JsonProperty("depo_veloc_pm2.5")]
42+
public double? DepoVelocPm2.5 { get; set; }
43+
44+
/// <summary>
45+
/// Restricted. A list of PM10 values. Concentration of airborne particulate matter (PM) with aerodynamicdiameter less than 10 microns. [g/m^3] HSU endpoint will internally use Solcast's PM10 values tailored to your request time period.
46+
/// </summary>
47+
[JsonProperty("pm10")]
48+
public List<double?> Pm10 { get; set; }
49+
50+
/// <summary>
51+
/// Restricted. A list of PM2.5 values. Concentration of airborne particulate matter (PM) with aerodynamicdiameter less than 10 microns. [g/m^3] HSU endpoint will internally use Solcast's PM2.5 values tailored to your request time period.
52+
/// </summary>
53+
[JsonProperty("pm2.5")]
54+
public List<double?> Pm2.5 { get; set; }
55+
56+
/// <summary>
57+
/// The angle (degrees) that the PV system is tilted off the horizontal. A tilt of 0 means the system faces directly upwards, and 90 means the system is vertical and facing the horizon. If you don't specify tilt, we use a default tilt angle based on the latitude you specify in your request. Must be between 0 and 90.
58+
/// </summary>
59+
[JsonProperty("tilt")]
60+
public double? Tilt { get; set; }
61+
62+
/// <summary>
63+
/// ISO_8601 compliant starting datetime for the historical data. If the supplied value does not specify a timezone, the timezone will be inferred from the time_zone parameter, if supplied. Otherwise UTC is assumed.
64+
/// </summary>
65+
[JsonProperty("start")]
66+
public string Start { get; set; } // Required
67+
68+
/// <summary>
69+
/// Must include one of end_date and duration. ISO_8601 compliant duration for the historical data. Must be within 31 days of the start_date.
70+
/// </summary>
71+
[JsonProperty("duration")]
72+
public string Duration { get; set; }
73+
74+
/// <summary>
75+
/// Must include one of end_date and duration. ISO_8601 compliant ending datetime for the historical data. Must be within 31 days of the start_date. If the supplied value does not specify a timezone, the timezone will be inferred from the time_zone parameter, if supplied. Otherwise UTC is assumed.
76+
/// </summary>
77+
[JsonProperty("end")]
78+
public string End { get; set; }
79+
80+
/// <summary>
81+
/// Amount of daily rainfall required to clean the panels (mm)
82+
/// </summary>
83+
[JsonProperty("cleaning_threshold")]
84+
public double? CleaningThreshold { get; set; }
85+
86+
/// <summary>
87+
/// Initial percentage of energy lost due to soiling at time zero in the rainfall series input. If not provided, Solcast will perform a ramp up series calculation to accurately determine this value.
88+
/// </summary>
89+
[JsonProperty("initial_soiling")]
90+
public double? InitialSoiling { get; set; }
91+
92+
/// <summary>
93+
/// A list of ISO 8601 compliant dates or a repeating interval when manual cleaning of the panels occurred.
94+
/// </summary>
95+
[JsonProperty("manual_wash_dates")]
96+
public List<string> ManualWashDates { get; set; }
97+
98+
/// <summary>
99+
/// Restricted. Specifies the period of time to sum rain fall data. Internally this value is set to 24 hours in line with the findings of https://ieeexplore.ieee.org/document/4060159 .
100+
/// </summary>
101+
[JsonProperty("rain_accum_period")]
102+
public int? RainAccumPeriod { get; set; }
103+
104+
/// <summary>
105+
/// Restricted. List of rainfall values. HSU endpoint will internally use Solcast's percepitation rate values tailored to your request time period.
106+
/// </summary>
107+
[JsonProperty("rainfall")]
108+
public List<double?> Rainfall { get; set; }
109+
110+
/// <summary>
111+
/// Response format
112+
/// </summary>
113+
[JsonProperty("format")]
114+
public string Format { get; set; }
115+
}
116+
}

0 commit comments

Comments
 (0)