Instruction Input Endpoint Service

21 April 2024

SolarNetwork has added a fully-managed HTTP integration service that allows arbitrary devices and systems to post arbitrary “messages” to SolarNetwork at a custom SolarNetwork URL that get converted into SolarNode instructions that execute immediately, with the instruction results converted into an external message response.

We call this service Instruction Input Endpiont, or just ININ for short. Its purpose is to make it possible to integrate systems that do not support “natively” working with the SolarNetwork API. This is similar to the Datum Input Endpoint , but for commands, not data.

For example, imagine you have a system that collects power generation statistics from various systems via HTTP, using its own JSON message structure. The service knows how to make a request to a URL with a message like:

{"action":"power-report-request","identifier":"gx.9128430.a9f880"}

and it expects a response like:

{"total-power":123456789}

A SolarNetwork API-aware service could leverage the DatumExpression instruction to answer this report request, by asking one or more nodes to return the current power generation across several sources and summing the results. With ININ it is possible for this service to post its own message format to SolarNetwork and SolarNetwork will translate it into node instructions and then translate the instruction results back into the expected message response format.

This is enabled by configuring an Instruction Endpoint URL in SolarNetwork, with a Request Transform to convert the input message into node instructions and a Response Transform to convert the instruction results into the output message.

Once set up, the message flow goes like this:

  1. External system posts message to Instruction Endpoint URL
  2. SolarNetwork executes the Request Transform on the input message, producing node instructions
  3. SolarNetwork enqueues the node instructions, waiting for the results
  4. The node(s) receive their instructions, execute them, and post the results back to SolarNetwork
  5. SolarNetwork, having received the instruction results, executes the Response Transform on the results, producing the output message
  6. SolarNetwork returns the output message to the external system

All these steps can happen in the blink of an eye, thanks to, well, computers! 🤖

Simple management UI

We have added an easy-to-use ININ management user interface to SolarNetwork . With point-and-click simplicity you can provision as many ININ endpoints as you like. They become available immediately.

Screen shot of the ININ management UI

We have also made it easy to test out the transform process, by providing a form where you can post input data and inspect the converted output.

Screen shot of the ININ transform preview tool

Robust management API

The new SolarUser ININ API provides a complete API for managing ININ endpoints within your SolarNetwork account. Each endpoint is independently configured with authorization and transform settings.

A partial table of the ININ API endpoints

Get started with custom instruction endpoints in SolarNetwork

If you are interested in using SolarNetwork’s custom instruction endpoint support, check out our ININ Guide and reach out to us and we’ll be happy to help you get started!

Re/volve Energy logo
This feature was developed with support from our friends at Re/volve Energy.

SolarNetwork Foundation

For people and planet

Our charitable aim is to protect the environment through supporting energy education and using technology to help people understand energy conservation and renewable energy.

Learn more

Ready to revolutionise your energy management?

Take control of your energy usage and costs with our powerful platform.