Skip to content

ActuatorScheduleResponse

kmonson edited this page Jan 27, 2016 · 3 revisions

ActuatorAgent Response

In response to a Task schedule request the ActuatorAgent will respond on the topic "devices/actuators/schedule/result" with the header:

#python
{
    'type': <'NEW_SCHEDULE', 'CANCEL_SCHEDULE'>
    'requesterID': <Agent ID from the request>,
    'taskID': <Task ID from the request>
}

And the message (after parsing the json):

#python
{
    'result': <'SUCCESS', 'FAILURE', 'PREEMPTED'>,
    'info': <Failure reason, if any>,
    'data': <Data about the failure or cancellation, if any>
}

The ActuatorAgent may publish cancellation notices for preempted Tasks using the "PREEMPTED" result.

Preemption Data

Preemption data takes the form:

#python
{
    'agentID': <Agent ID of preempting task>,
    'taskID': <Task ID of preempting task>
}

Failure Reasons

In many cases the ActuatorAgent will try to give good feedback as to why a request failed.

General Failures

INVALID_REQUEST_TYPE:: Request type was not "NEW_SCHEDULE" or "CANCEL_SCHEDULE". MISSING_TASK_ID:: Failed to supply a taskID. MISSING_AGENT_ID:: AgentID not supplied.

Task Schedule Failures

TASK_ID_ALREADY_EXISTS:: The supplied taskID already belongs to an existing task.  MISSING_PRIORITY:: Failed to supply a priority for a Task schedule request. INVALID_PRIORITY:: Priority not one of "HIGH", "LOW", or "LOW_PREEMPT". MALFORMED_REQUEST_EMPTY:: Request list is missing or empty. REQUEST_CONFLICTS_WITH_SELF:: Requested time slots on the same device overlap. MALFORMED_REQUEST:: Reported when the request parser raises an unhandled exception. The exception name and info are appended to this info string. CONFLICTS_WITH_EXISTING_SCHEDULES:: This schedule conflict with an existing schedules that it cannot preempt. The data item for the results will contain info about the conflicts in this form (after parsing json):

#python
{
    '<agentID1>': 
    {
        '<taskID1>':
        [
            ["campus/building/device1", 
             "2013-12-06 16:00:00",     
             "2013-12-06 16:20:00"],
            ["campus/building/device1", 
             "2013-12-06 18:00:00",     
             "2013-12-06 18:20:00"]     
        ]
        '<taskID2>':[...]
    }
    '<agentID2>': {...}
}

Task Cancel Failures

TASK_ID_DOES_NOT_EXIST:: Trying to cancel a Task which does not exist. This error can also occur when trying to cancel a finished Task. AGENT_ID_TASK_ID_MISMATCH:: A different agent ID is being used when trying to cancel a Task.

Wiki Home

Quick Start Guide

Getting VOLTTRON

VOLTTRON Community

VOLTTRON Core Services

Historians

Drivers

Instance Management

Applications
  • ...
Examples
Developers
HOWTOS

VOLTTRON Versions and Features

Transactional Network Platform Overview

Platform Services

Volttron Restricted

Information Exchange Standards

FAQ

Project Home

Clone this wiki locally