VOLTTRON Central Management Agent¶
Agent Introduction¶
The VOLTTRON Central Agent (VCM) is responsible for controlling multiple VOLTTRON instances through a single interfaces. The VOLTTRON instances can be either local or remote. VCM leverages an internal VOLTTRON web server providing a interface to our JSON-RPC based web API. Both the web api and the interface are served through the VCM agent. There is a VOLTTRON Central Demo that will allow you to quickly setup and see the current offerings of the interface. VOLTTRON Central will allow you to:
- See a list of platforms being managed.
- Add and remove platforms.
- Install, start and stop agents to the registered platforms.
- Create dynamic graphs from the historians based upon points.
- Execute functions on remote platforms.
Note
see VCM JSON-RPC web API for how the web interface works.
Instance Configuration¶
In order for any web agent to be enabled, there must be a port configured to serve the content. The easiest way to do this is to create a config file in the root of your VOLTTRON_HOME directory ( to do this automatically see VOLTTRON Config.)
The following is an example of the configuration file
[volttron]
vip-addres=tcp://127.0.0.1:22916
bind-web-address=http://127.0.0.1:8080/vc/
Verify that the instance is serving properly by pointing your web browser to http://127.0.0.1:8080/discovery/
This is the required information for a VolttronCentralPlatform to be able to be managed.
VOLTTRON Central Manager Configuration¶
The following is the default configuration file for VOLTTRON Central:
{
# The agentid is used during display on the VOLTTRON central platform
# it does not need to be unique.
"agentid": "volttron central",
# Authentication for users is handled through a naive password algorithm
# Note in the following example the user and password are both admin.
# DO NOT USE IN PRODUCTION ENVIRONMENT!
# import hashlib
# hashlib.sha512(password).hexdigest() where password is the plain text password.
"users" : {
"reader" : {
"password" : "2d7349c51a3914cd6f5dc28e23c417ace074400d7c3e176bcf5da72fdbeb6ce7ed767ca00c6c1fb754b8df5114fc0b903960e7f3befe3a338d4a640c05dfaf2d",
"groups" : [
"reader"
]
},
"writer" : {
"password" : "f7c31a682a838bbe0957cfa0bb060daff83c488fa5646eb541d334f241418af3611ff621b5a1b0d327f1ee80da25e04099376d3bc533a72d2280964b4fab2a32",
"groups" : [
"writer"
]
},
"admin" : {
"password" : "c7ad44cbad762a5da0a452f9e854fdc1e0e7a52a38015f23f3eab1d80b931dd472634dfac71cd34ebc35d16ab7fb8a90c81f975113d6c7538dc69dd8de9077ec",
"groups" : [
"admin"
]
},
"dorothy" : {
"password" : "cf1b67402d648f51ef6ff8805736d588ca07cbf018a5fba404d28532d839a1c046bfcd31558dff658678b3112502f4da9494f7a655c3bdc0e4b0db3a5577b298",
"groups" : [
"reader, writer"
]
}
}
}
Agent Execution¶
To start VOLTTRON Central first make sure the VOLTTRON instance is running. Next create/choose the config file to use. Finally from an activated shell in the root of the VOLTTRON repository execute:
# Arguments are package to execute, config file to use, tag to use as reference
./scripts/core/pack_install.sh services/core/VolttronCentral services/core/VolttronCentral/config vc
# Start the agent
vctl start --tag vc
- Device Configuration in VOLTTRON Central
- VOLTTRON Central Platform Agent
- VOLTTRON Central Web Services Api Documentation