-
Notifications
You must be signed in to change notification settings - Fork 218
ActuatorValueRequest
Once an Task has been scheduled and the time slot for one or more of the devices has started an agent may interact with the device using the get and set topics.
Both get and set are responded to the same way. See [#ActuatorReply Actuator Reply] below.
While the sMap driver for a device should always be setup to periodically broadcast the state of a device you may want an up to the moment value for an actuation point on a device.
To request a value publish a message to the following topic:
#python
'devices/actuators/get/<full device path>/<actuation point>'
Value are set in a similar manner:
To set a value publish a message to the following topic:
#python
'devices/actuators/set/<full device path>/<actuation point>'
With this header:
#python
{
'requesterID': <Agent ID>
}
And the message contents being the new value of the actuator.
The actuator agent expects all messages to be JSON and will parse them accordingly. Use publish_json to send messages where possible. This is significant for Boolean values especially.
#ActuatorReply The ActuatorAgent will reply to both get and set' on the value topic for an actuator:
#python
'devices/actuators/value/<full device path>/<actuation point>'
With this header:
#python
{
'requesterID': <Agent ID>
}
With the message containing the value encoded in JSON.
If something goes wrong the ActuatorAgent will reply to both get and set' on the error topic for an actuator:
#python
'devices/actuators/error/<full device path>/<actuation point>'
With this header:
#python
{
'requesterID': <Agent ID>
}
The message will be in the following form:
#python
{
'type': <Error Type or name of the exception raised by the request>
'value': <Specific info about the error>
}
LockError:: Returned when a request is made when we do not have permission to use a device. (Forgot to schedule, preempted and we did not handle the preemption message correctly, ran out of time in time slot, etc...)
ValueError:: Message missing or could not be parsed as JSON.
Other error types involve problem with communication between the ActuatorAgent and sMap.
- Platform Agent
- VOLTTRON Central Agent
- Platform Commands
- Platform Configuration
- [Platform Hardening Security Recommendations] (Linux-Platform-Hardening-Recommendations-for-VOLTTRON-users)
- ...
- [Building VOLTTRON] (Building-VOLTTRON)
- Example Agents
- Agent Development
- [Shortcut Scripts] (Scripts)
- [VOLTTRON Conventions] (Conventions)
- [sMAP Test Server] (sMAP-Test-Instance)
- [Design Discussions] (Design Discussions)
- VIP
- VIP - VOLTTRON Interconnect Protocol
- RPC by example
- VIP - Known Identities
- VIP - Authentication
- VIP - Authorization
- Protecting Pub/Sub Topics
- Setup Eclipse for VOLTTRON
- Deployment Walkthrough
- Forward Historian Walkthrough
- [Create New Historian Agent] (Developing-Historian-Agents)
- [Create New Driver Agent] (Develop-Driver-Agent)
- [Developing With Eclipse] (Eclipse)
- Migrations
- [2.x to 3.x Migration](2.x-to 3.x-Migration)
- 1.2 to 2.0 Migration
- [Deployment Recommendations](Recommendations for Deployments)
VOLTTRON Versions and Features
Transactional Network Platform Overview
- Established Topics
- Working with the Actuator Agent
- Logging
- [Multi-Node Communication] (MultiBuildingMessaging)
Information Exchange Standards