C#-Client für die StromGedacht-API
Verfügbar auf NuGet.
dotnet add package StromGedacht.NET
oder
PM > Install-Package StromGedacht.NET
Der Client kann den Regionsstatus zum aktuellen Zeitpunkt oder alle Status für einen bestimmten Zeitraum bereitstellen.
Der Zeitraum darf maximal 2 Tage in die Zukunft und 4 Tage in die Vergangenheit reichen.
Bei jeder Anfrage müssen Sie die Postleitzahl der Region angeben, für die Sie den Bundesstaat anfordern möchten.
Erstellen Sie zunächst eine Instanz von StromGedachtClient
, indem Sie eine Instanz von HttpClient
an seinen Konstruktor übergeben.
var httpClient = new HttpClient ( ) ;
var client = new StromGedachtClient ( httpClient ) ;
Sie können den aktuellen Status einer Region abrufen, indem Sie die Now
/ NowAsync
-Methoden aufrufen und die Postleitzahl der Region übergeben.
var state = client . Now ( "70173" ) ;
var state = await client . NowAsync ( "70173" ) ;
Wenn die API einen Fehler zurückgibt, gibt diese Methode null
zurück. Dies kann passieren, wenn die Postleitzahl ungültig ist/nicht unterstützt wird.
Sie können alle Bundesstaaten einer Region für einen bestimmten Zeitraum abrufen, indem Sie die Methoden States
/ StatesAsync
aufrufen und die Postleitzahl der Region sowie die Start- und Endzeit übergeben.
Start- und Endzeit können zwei Daten sein:
var from = new DateTimeOffset ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . FromHours ( 2 ) ) ;
var to = new DateTimeOffset ( 2023 , 1 , 3 , 23 , 59 , 59 , TimeSpan . FromHours ( 2 ) ) ;
var states = client . States ( "70173" , from , to ) ;
var from = new DateTimeOffset ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . FromHours ( 2 ) ) ;
var to = new DateTimeOffset ( 2023 , 1 , 3 , 23 , 59 , 59 , TimeSpan . FromHours ( 2 ) ) ;
var states = await client . StatesAsync ( "70173" , from , to ) ;
oder die Stunden relativ zu diesem Moment:
var hoursInPast = 24 ;
var hoursInFuture = 48 ;
var states = client . States ( "70173" , hoursInPast , hoursInFuture ) ;
var hoursInPast = 24 ;
var hoursInFuture = 48 ;
var states = await client . StatesAsync ( "70173" , hoursInPast , hoursInFuture ) ;
Wenn die API einen Fehler zurückgibt, gibt diese Methode eine leere Liste zurück. Dies kann passieren, wenn die Postleitzahl ungültig ist/nicht unterstützt wird oder der unterstützte Zeitraum überschritten wird.
Sie können die Prognose einer Region für einen bestimmten Zeitraum abrufen, indem Sie die Methoden Forecast
/ ForecastAsync
aufrufen und die Postleitzahl der Region sowie die Start- und Endzeit übergeben.
var from = new DateTimeOffset ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . FromHours ( 2 ) ) ;
var to = new DateTimeOffset ( 2023 , 1 , 3 , 23 , 59 , 59 , TimeSpan . FromHours ( 2 ) ) ;
var forecast = client . Forecast ( "70173" , from , to ) ;
var from = new DateTimeOffset ( 2023 , 1 , 1 , 0 , 0 , 0 , TimeSpan . FromHours ( 2 ) ) ;
var to = new DateTimeOffset ( 2023 , 1 , 3 , 23 , 59 , 59 , TimeSpan . FromHours ( 2 ) ) ;
var forecast = await client . ForecastAsync ( "70173" , from , to ) ;
Sie können den StromGedachtClient
in Ihrem Startup mit einem eingegebenen HttpClient
registrieren.
builder . Services . AddHttpClient < StromGedachtClient > ( ) ;
Anschließend injizieren Sie den Client an eine beliebige Stelle. ZB in einem Controller:
[ Route ( "Home" ) ]
[ ApiController ]
public class HomeController : ControllerBase
{
private readonly StromGedachtClient _client ;
public HomeController ( StromGedachtClient client )
{
_client = client ;
}
}
Die API ist auf etwa 6 Anfragen pro Minute begrenzt.
Hier sind einige verwandte Projekte:
Die verwendete API wird von StromGedacht, TransnetBW GmbH bereitgestellt.