October 26-27 | Open Source in Energy Access Symposium Hackathon | Kigali, Rwanda
Build a MicroPowerManager (MPM) plugin that enables users to manage STS-compliant meters directly through token generation, removing the dependency on proprietary, cloud-based metering platforms.
Build a MicroPowerManager (MPM) plugin that enables users to manage STS-compliant meters directly through token generation and removing the dependency on proprietary, cloud-based metering platforms.
Many dominant meter manufacturers (e.g. SteamaCo, Spark) push MiniGrid developers toward proprietary, cloud-based AMI systems. These platforms bundle features that aren't mission-critical (like high-resolution realtime data, advanced analytics) and force operators to pay recurring cloud fees for capabilities they don't need. For most deployments, all that's required is basic monitoring and token-based meter control. The result is significant ongoing cost and strong vendor lock-in.
STS relies on a hierarchy of private keys. The assumption is that operators are shared their device-specific private keys by the manufacturer. As part of the hackathon, the plugin needs to provide a mechanism for operators to upload these keys into MPM (for example, via a CSV import), after which MPM can use them to generate valid vending tokens locally.
Full STS meter management inside MPM would be significant for the open-source energy-access community:
- Eliminates recurring cloud fees for operators who only need core monitoring and control.
- Breaks vendor lock-in by using an open standard rather than a manufacturer-specific platform.
- Future-proofs deployments: any STS-compliant meter from any manufacturer becomes manageable through one open tool.
By building on an open standard, this plugin gives energy-access operators a manufacturer-independent path forward and strengthens the open-source tooling ecosystem.
Build an MPM plugin that generates STS tokens, allowing MPM users to fully manage STS meters without a third-party cloud service.
STS (Standard Transfer Specification) is an open standard with existing reference implementations, for example the recently open-sourced nxt-sts (Java). We see two viable paths:
- Re-implement the STS token algorithm natively within the MPM stack, or
- Wrap nxt-sts as a microservice that the plugin calls for token generation.
We'll evaluate both during the hackathon and choose based on integration effort and maintainability.
Create a Feature Request and an accompanying PR on the MPM repository to:
- Add an STS meter plugin on MPM, following the shape of MPM's existing meter plugins.
- Allow an operator to enable and configure the plugin with STS keys provided by their manufacturer.
- Integrate STS token generation into the MPM payment handling flow — i.e. when successfully enabled, a payment should generate a token and send the token to the user via SMS.
- PHP/Laravel backend.
- Vue.js 2 frontend.
- PHP (Laravel)
- JavaScript
- Database / data modelling: to securely store uploaded device keys and associate them with meters.
- Cryptography fundamentals: understanding of the STS key hierarchy and token generation to either re-implement the algorithm or correctly interface with nxt-sts.
- API / microservice design: if we take the microservice path, to expose token generation cleanly to the plugin.
- Java: to work with and potentially wrap the nxt-sts reference implementation as a microservice.
- Joscha Winzer
- Obinna Ikeh
- Join the OSEAS Discord server: https://community.oseas.org/
- Introduce yourself in the
#introductionschannel and join the relevant channels for this challenge:#micropowermanager
- Read the documentation: