C#-Client für die StromGedacht-API
Verfügbar auf NuGet.
dotnet add package StromGedacht.NEToder
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.