Control Toggler is a helper class that uses the SolarNetwork Instruction API to
request a SolarNode to set the value of a control to 1
(on) or 0
(off), and the
SolarNetwork Datum Query API to track the value of the control.
The Instruction API is asynchronous and changing a control value requires the following steps:
- Enqueue instruction to set control value
- Wait for SolarNode to receive, execute, and update instruction status to
Completed
(orRejected
) - Wait for SolarNode to post updated control value datum for confirmation
Control Toggler handles these steps through a simple API for setting the desired value and using a callback function to get notified when the value changes.
Some example SolarNode plugins that support on/off switching are:
- Mock Control (good for testing)
- LATA switch
- Modbus switch
To include the library in your NPM-based project, run the following:
npm i solarnetwork-datum-loader
The latest API documentation is published here, or
you can build the API documentation by running the apidoc
script:
npm run apidoc
That will produce HTML documentation in docs/html
.