Python JavaScript Other
Clone or download
craig8 Merge pull request #1698 from VOLTTRON/rtd-fix
fixed issue with readthedocs sphinx
Latest commit 7c75a18 Jun 16, 2018
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 15, 2018
docs missed ] Jun 15, 2018
examples #1633 now respects and installs requirements.txt Mar 8, 2018
scripts import build_agent from Apr 6, 2018
services Merge pull request #1586 from schandrika/releases/5.0rc Apr 13, 2018
volttron Bump to 5.0.4 Jun 12, 2018
volttron_data Merge pull request #1488 from kmonson/feature/agent-wizard Sep 22, 2017
volttrontesting Merge pull request #1586 from schandrika/releases/5.0rc Apr 13, 2018
.dockerignore #1633 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
COPYRIGHT Update COPYRIGHT Nov 16, 2016 #1541 This time with license under 80 character lines Dec 22, 2017 Bump to 5.0.4 Jun 12, 2018 Updates project documentation Dec 8, 2015 #1541 This time with license under 80 character lines Dec 22, 2017 require https for ubuntu 18.04 May 2, 2018
optional_requirements.json install latest pytest with optional testing Jun 15, 2018
pylintrc Colorize pylint output to make spotting errors easier. Mar 12, 2015
pytest.ini Merge branch 'develop' into feature/market-service Aug 31, 2017
requirements.txt Fixes py test recursion issue Jun 15, 2018 Should be == Apr 4, 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:


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
cd volttron

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 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:
  • The preferred method for questions is through stackoverflow since this is easily discoverable by others who may have the same issue.
  • GitHub issue tracker for feature requests, bug reports, and following development activities


The project is licensed under a modified BSD license.