VOLTTRONTMdocumentation!¶
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 that interact with that data.
Features¶
Out of the box VOLTTRON provides:
- a secure message bus allowing agents to subcribe to data sources and publish results and messages.
- secure connectivity between multiple instances.
- BACnet, ModBus and other device/system protocol connectivity through our driver framework for collecting data from and sending control actions to buildings and devices.
- automatic data capture and retrieval through our historian framework.
- platform based agent lifecycle managment.
- a web based management tool for managing several instances from a central instance.
- the ability to easily extend the functionality of existing agents or create new ones for your specific purposes.
Background¶
VOLTTRONTM is written in Python 2.7 and runs on Linux Operating Systems. For users unfamiliar with those technologies, the following resources are recommended:
Installation¶
Note
For windows users we have created Step by step instructions for installation using virtualbox
Install the required prerequisites for your chosen Linux Distribution. The following examples assume a apt base system.
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:
scripts/core/make-listener
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/f230df97-658e-45d3-8165-18a2ec834d3f', 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:
- Agent Development Walkthrough
- Demonstration of the management UI
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
Contribute¶
How to contribute back:
- Issue Tracker: http://github.com/VOLTTRON/volttron/issues
- Source Code: http://github.com/VOLTTRON/volttron
Support¶
There are several options for VOLTTRONTM support.
- A VOLTTRONTM office hours telecon takes place every other Friday at 11am Pacific over Skype.
- volttron-community.slack.com is where the VOLTTRONTM community at large can ask questions and meet with others using VOLTTRONTM. Signup via https://volttron-community.signup.team/
- 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. http://stackoverflow.com/questions/tagged/volttron
- GitHub issue tracker for feature requests, bug reports, and following development activities http://github.com/VOLTTRON/volttron/issues
License¶
The project is licensed under a modified BSD license.
Contents:
- Overview
- Join the Community
- Installing VOLTTRON
- Building VOLTTRON
- Developing VOLTTRON
- Core Services
- Platform Specifications
- Agent VIP IDENTITY Assignment Specification
- Aggregate Historian Agent Specification
- Chargepoint API Driver
- Agent Configuration Store
- DNP3
- Driver Override Specification
- RPC Communication Between Remote Platforms
- MesaAgent
- Installing MesaAgent
- For Further Information
- Message Bus Visualization and Debugging - Specification
- Engineering Design Notes
- PubSub Communication Between Remote Platforms
- SEP 2.0 DER Support
- Tagging agent specification
- VOLTTRON Web Framwwork
- Applications