Skip to main content

GxF Platform Evaluation

Overview

GxF is an opensource platform (set of capabilities; metering, public lighting) for distribution of power on a grid. It is currently being used by and was donated to the open source community by a Dutch utility company called Alliander. 

Here's some useful links from my discovery work on GxF

Next Steps 

Continue deployment to digital ocean VM

  • Start by reviewing all these packages and understanding which ones you want to deploy or explore whether it makes more sense to rebuild the latest release and deploy packages from that. 
  • To run the GXF (Grid eXchange Fabric) platform, you generally need only a subset of the packages published in the OSGP GitHub organization—specifically, those that are direct dependencies for the platform's core services and adapters.
  • GXF is a modular system, and the required packages depend on your deployment goals. Commonly, the following package types are used:
  • Core Platform Packages – These include the main server components, messaging infrastructure, shared libraries, and authentication modules.
    • Protocol Adapters – Depending on your use case, you’ll need the adapters that communicate with your field devices (e.g., OSLP, DLMS, IEC61850).
    • Domain and WS Adapters – These provide domain-specific logic and web service endpoints (e.g., smart metering, microgrids, public lighting).
    • Shared Utilities – Supporting packages shared between multiple modules.

 Steps to Determine Required Packages

  • Review the GXF Deployment Documentation: The official [GXF deployment guide](https://github.com/OSGP/open-smart-grid-platformdocumentation) lists the core components and adapters you need to deploy for a standard platform.
  • Match Packages to Components: Identify which packages correspond to those components (e.g., "osgp-adapter-domain-smart-metering", "osgp-adapter-ws-publiclighting", etc.).

Focus on Smart metering Use Case: One of the maintainers tells the application’s current design allows you to deploy only the smart metering components, along with some core GxF components. You’ll need the following components for smart metering:

  • core GxF components:
    • osgp-adapter-domain-admin
    • osgp-adapter-domain-core
    • osgp-adapter-ws-admin
    • osgp-adapter-ws-core
    • osgp-core
    • osgp-logging
  • Smart metering specific components
    • osgp-adapter-domain-smartmetering
    • osgp-adapter-ws-smartmetering
    • osgp-protocol-adapter-dlms
    • osgp-throttling-service
    • osgp-secret-management
  • Smart metering simulator
    • osgp-simulator-dlms-triggered
    • dlms-device-simulator-starter

These components do not contain any user interface but provide a SOAP interface for communication with the GxF platform. The user interface is currently not part of the open-source implementation.

  • We could set up RESTful APIs and build a GUI we can use and contribute back to the community or we can also try to build a UI from the SOAP API available. Open to either, I don't know how much we can do with API only if we don't have a GUI.

Historical Context 

From Sander (Maintainer). I recommend you join the project mailing list, introduce yourself (I already did) and use it to ask questions along the way.. I have found it very useful and Sander is very helpful in responding there. 

We are currently in the process of creating an open-source containerized solution for deploying and testing GxF. With this solution it will be possible to run GxF locally in k3d - a lightweight wrapper to run k3s (a minimal Kubernetes distribution) in docker - and to run automated tests using cucumber. For this you will need at least 32 GB of RAM, 64 GB is preferable. The solution can be found here: https://github.com/OSGP/gxf-gitops. Container images can be found in https://github.com/orgs/OSGP/packages?repo_name=open-smart-grid-platform. Currently the gxf-gitops repository only contains the charts to deploy and test our flexible public lighting solution. The deployment of our smart metering solution is still work in progress.

As a side note, I would like to mention that the current smart metering implementation is specifically tailored to the Dutch market, so it would probably need several changes to make it operable outside of the Netherlands.

 

In the past we also used to have a distinct microgrids solution available, but as it was no longer used, we removed it from our codebase. However, the old microgrids components can still be found in the GitHub history:

but they will require some serious dusting off to make them usable again.