-
Notifications
You must be signed in to change notification settings - Fork 1
TestAgent
Jereme Haack edited this page Sep 12, 2014
·
1 revision
Full code of agent detailed in AgentDevelopment.
import sys
from volttron.lite.agent import BaseAgent, PublishMixin
from volttron.lite.agent import utils, matching
from volttron.lite.messaging import headers as headers_mod
class TestAgent(PublishMixin, BaseAgent):
@matching.match_start('heartbeat/listeneragent')
def on_heartbeat_topic(self, topic, headers, message, match):
print "TestAgent got\nTopic: {topic}, {headers}, Message: {message}".format(topic=topic, headers=headers, message=message)
def main(argv=sys.argv):
'''Main method called by the eggsecutable.'''
utils.default_main(TestAgent,
description='Test Agent',
argv=argv)
if <u>name</u> == '<u>main</u>':
# Entry point for script
try:
sys.exit(main())
except KeyboardInterrupt:
pass
Contents of setup.py for TestAgent:
from setuptools import setup, find_packages
setup(
name = "testagent",
version = ".1",
#Automatically find required packages
packages = find_packages(),
#specify the method to call when this egg is executed
entry_points = {
'setuptools.installation': [
'eggsecutable = tester.testagent:main',
]
}
)
Contents of testeragent.launch.json
{
"agent": {
"exec": "testeragent-0.1-py2.7.egg --config \"%c\" --sub \"%s\" --pub \"%p\""
},
"agentid": "Test1",
"message": "hello"
}
Arguments for testeragent:
--config_path Agents/TestAgent/testeragent.launch.json --pub ipc:///tmp/volttron-lite-agent-publish --sub ipc:///tmp/volttron-lite-agent-subscribe