Skip to content

DerStimmler/ts-stromgedacht

Repository files navigation

ts-stromgedacht

npm version npm downloads build codecov GitHub license

Typescript library for using StromGedacht API

Installation

Available on npm.

npm install ts-stromgedacht

Usage

The client can provide the region state at the current time or all states for a given time period.

The period may extend a maximum of 2 days into the future and 4 days into the past.

Each time you make a request, you will need to provide the zip code of the region for which you want to request the state.

Since the API allows all origins this library can be used in a browser without CORS errors.

Initialization

Just import the client from your node_modules.

import { stromgedachtClient } from "ts-stromgedacht";

Get current state

You can fetch the current state of a region by calling the Now method and passing the zip code of the region.

const state = await stromgedachtClient.now("70173");

If the api returns an error, this method returns null. This could happen if the zip code is invalid / not supported.

Get states for time period

You can fetch all states of a region for a specific time period by calling the States method and passing the zip code of the region, the start time and end time.

const from = new Date("2023-01-01");
const to = new Date("2023-01-03");

const states = stromgedachtClient.states("70173", from, to);

Start and end time can also be the hours relative to this moment:

const hoursInPast = 24;
const hoursInFuture = 48;

const states = stromgedachtClient.statesRelative("70173", hoursInPast, hoursInFuture);

If the api returns an error, this method returns an empty array. This could happen if the zip code is invalid / not supported or the supported period is exceeded.

Get forecast

You can fetch the forecast of a region for a specific time period by calling the forecast methods and passing the zip code of the region, the start time and end time.

const from = new Date("2023-01-01");
const to = new Date("2023-01-03");

const forecast = stromgedachtClient.forecast("70173", from, to);

API rate limits

The api is limited to about 6 requests per minute.

Related

Here are some related projects:

Shoutout

The used API is provided by StromGedacht, TransnetBW GmbH.