VOLTTRON Distributed Control System Platform
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Added github templates for issues and pull requests. Jan 3, 2018
ci-integration removed docs from testing Jun 19, 2018
deprecated Moved old weather agent to deprecated. Renamed new agent from weather… Jun 29, 2018
docs Merge pull request #1791 from jklarson/pre-5.1-release Sep 6, 2018
examples updated driven matalab agent documentation to add more details. Sep 5, 2018
scripts Fixed #1713 json loader with hardening of #1700 Jul 10, 2018
services Handle explicit float relative comparison Sep 5, 2018
volttron Bumped to version 5.1.0 Sep 5, 2018
volttron_data Syntax error fixes. Jul 10, 2018
volttrontesting Use absolute aproximation Sep 5, 2018
.dockerignore #1633 install-agent.py now respects and installs requirements.txt Mar 8, 2018
.gitignore ADD - KafkaAgent, TestCode consumer, producer Oct 31, 2017
.gitmodules Added submodule to repository. At present it will only be able to be … Sep 23, 2014
.travis.yml Fixed unintended crate install issue. Dec 12, 2017
LICENSE.md #1541 This time with license under 80 character lines Dec 22, 2017
README.md Bump to 5.0.4 Jun 12, 2018
RELEASE_NOTES.md Updates project documentation Dec 8, 2015
TERMS.md #1541 This time with license under 80 character lines Dec 22, 2017
bootstrap.py Fixes #1834 Nov 1, 2018
optional_requirements.json Fix issue with Package has no length error. Aug 20, 2018
pylintrc Colorize pylint output to make spotting errors easier. Mar 12, 2015
pytest.ini Merge branch 'develop' into feature/alert_agent Aug 17, 2018
requirements.txt Removed duplicate pyyaml in requirements. Jun 19, 2018
setup.py set wheel requirement to version 0.30 Apr 5, 2018
start-volttron Added disown to start-volttron script Dec 7, 2017
stop-volttron Better handling of starting/stoping volttron for services Mar 18, 2017



Distributed Control System Platform.

Branch Status
Master Branch image
develop image

VOLTTRONTM is an open source platform for distributed sensing and control. The platform provides services for collecting and storing data from buildings and devices and provides an environment for developing applications which interact with that data.



VOLTTRONTM is written in Python 2.7 and runs on Linux Operating Systems. For users unfamiliar with those technologies, the following resources are recommended:

https://docs.python.org/2.7/tutorial/ http://ryanstutorials.net/linuxtutorial/


Install VOLTTRON by running the following commands which installs needed prerequisites, clones the source code, then builds the virtual environment for using the platform.

sudo apt-get update
sudo apt-get install build-essential python-dev openssl libssl-dev libevent-dev git
git clone https://github.com/VOLTTRON/volttron
cd volttron
python bootstrap.py

This will build the platform and create a virtual Python environment. Activate this and then start the platform with:

. env/bin/activate
volttron -vv -l volttron.log&

This enters the virtual Python environment and then starts the platform in debug (vv) mode with a log file named volttron.log.

Next, start an example listener to see it publish and subscribe to the message bus:


This script handles several different commands for installing and starting an agent after removing an old copy. This simple agent publishes a heartbeat message and listens to everything on the message bus. Look at the VOLTTRON log to see the activity:

tail volttron.log

Results in:

2016-10-17 18:17:52,245 (listeneragent-3.2 11367) listener.agent INFO: Peer: 'pubsub', Sender: 'listeneragent-3.2_1'
:, Bus: u'', Topic: 'heartbeat/listeneragent-3.2_1', Headers:
{'Date': '2016-10-18T01:17:52.239724+00:00', 'max_compatible_version': u'', 'min_compatible_version': '3.0'},
Message: {'status': 'GOOD', 'last_updated': '2016-10-18T01:17:47.232972+00:00', 'context': 'hello'}

Stop the platform:

volttron-ctl shutdown --platform

Next Steps

There are several walkthroughs to explore additional aspects of the platform:

Acquiring Third Party Agent Code

Third party agents are available under volttron-applications repository. In order to use those agents, add volttron-applications repository under the volttron/applications directory by using following command:

git subtree add –prefix applications https://github.com/VOLTTRON/volttron-applications.git develop –squash


How to contribute back:


There are several options for VOLTTRONTM support.

  • A VOLTTRONTM office hours telecon takes place every other Friday at 11am Pacific over Skype.
  • A mailing list for announcements and reminders
  • The VOLTTRONTM contact email for being added to office hours, the mailing list, and for inquiries is: volttron@pnnl.gov
  • The preferred method for questions is through stackoverflow since this is easily discoverable by others who may have the same issue. https://stackoverflow.com/questions/tagged/volttron
  • GitHub issue tracker for feature requests, bug reports, and following development activities https://github.com/VOLTTRON/volttron/issues


The project is licensed under a modified BSD license.