Skip to main content

Frequenz gRPC API for monitoring and control of microgrids

Project description

Frequenz Microgrid API

Build Status PyPI Package Docs

Introduction

The Frequenz Microgrid API is an service for operating and monitoring electrical components and sensors within a microgrid. It offers various functionalities related to microgrid management, including metadata retrieval, component listing, setting power levels, and controlling the state of components. The API is structured around the concept of a microgrid, which is a localized energy system composed of various interconnected components and auxiliary sensors. Microgrids are typically connected to the main grid, but can also operate independently, in which case they are referred to as islanded microgrids.

The API supports different categories of electrical components and sensors. The list of supported electrical component categories cam be found here. The list of supported sensor categories cam be found here. Note that each of these categories could have their own types, e.g., inverters could belong to the type "battery" or "PV". This information is stored in the metadata of each component and sensor, and is exposed by the API.

The API streams data from the microgrid in real-time, allowing users to retrieve the status and performance of components and sensors. It also allows users to control the microgrid by setting power levels and controlling the state of components.

Objective

The objective of this API is to provide a standardized interface for monitoring and controlling components and sensors within a microgrid. The API is designed to be vendor-agnostic, allowing users to interact with components from various vendors using the same API.

Key Features

  • Metadata Retrieval: The API allows users to retrieve metadata about the microgrid, providing information about the microgrid's unique identifier (ID) and geographical coordinates.

  • Component Listing: Users can list components in the microgrid, optionally filtered by component IDs and categories.

  • Component Graphs: The API provides a way to list electrical connections between components. Connections are represented as pairs of component IDs that are directly connected. The connections can be visualized as a directed graph, where the nodes are components, the edges are connections between components, and the edge direction represents the direction of power flow in Passive Sign Convention.

  • Power Level Control: Users can set the active and reactive power levels of components that support it.

  • Component State Control: For components that support it, the API supports starting, stopping, and transitioning components between these and the standby states.

  • Bounds Management: Users can set exclusion and inclusion bounds for specific metrics of a component. These bounds define the acceptable and unacceptable ranges of metric values. E.g., one could set the inclusion bounds for a battery's DC power to be between -100kW and 100 kW, and the exclusion bounds to be between -50kW and 50kW. This would allow the battery to operate between -100kW and 100kW, but would prevent it from operating between -50kW and 50kW.

Example Use Cases:

This API is designed for use in microgrid management and control systems. It can be applied in various scenarios, including:

  • Microgrid Monitoring: Monitoring the status and performance of components in a microgrid, allowing operators to ensure efficient energy distribution.

  • Optimizing Energy Storage: Managing the charge and discharge power of storage systems and generators, e.g., batteries, CHPs, etc., to optimize energy storage and consumption within the microgrid.

  • Flexibility Management: Managing the flexibility of components in the microgrid, e.g., by controlling the state and power draw of electrical components, to ensure that the microgrid can respond to changes in energy demand.

  • Performance Enhancements: Setting exclusion bounds for metrics to enhance system performance and prevent extreme values in battery SoCs or power output.

Target Audience:

This API is designed for application developers in the energy sector who focus on the tasks of optimizing microgrid electricity flows. Its design aims to be as developer-friendly as possible, requiring no prior knowledge of any specific hardware implementation.

Contributing

If you want to know how to build this project and contribute to it, please check out the Contributing Guide.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

frequenz_api_microgrid-0.18.0.tar.gz (147.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

frequenz_api_microgrid-0.18.0-py3-none-any.whl (41.4 kB view details)

Uploaded Python 3

File details

Details for the file frequenz_api_microgrid-0.18.0.tar.gz.

File metadata

  • Download URL: frequenz_api_microgrid-0.18.0.tar.gz
  • Upload date:
  • Size: 147.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for frequenz_api_microgrid-0.18.0.tar.gz
Algorithm Hash digest
SHA256 58f07f623857c555e251766e18a67c5e560ab4fe25832718fab18a5b0d973891
MD5 70dc2765451ec34b129f1c1de192cd0d
BLAKE2b-256 66f9a8adc129b748d312d9570bf046735caec26ee2025a7cd7918237b8d59361

See more details on using hashes here.

Provenance

The following attestation bundles were made for frequenz_api_microgrid-0.18.0.tar.gz:

Publisher: ci.yaml on frequenz-floss/frequenz-api-microgrid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file frequenz_api_microgrid-0.18.0-py3-none-any.whl.

File metadata

File hashes

Hashes for frequenz_api_microgrid-0.18.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f1e98f66c88487765687fcfe6c556935b7c7af76833bf131dd94f6c47cd20a17
MD5 e1f8e9580f1a8b4dd5a29ac5ff4c7cb2
BLAKE2b-256 14eab43e7fd77972cbcc9e4c860e974f6639db54d6f990e414e58a26d164cbc3

See more details on using hashes here.

Provenance

The following attestation bundles were made for frequenz_api_microgrid-0.18.0-py3-none-any.whl:

Publisher: ci.yaml on frequenz-floss/frequenz-api-microgrid

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page