VOLTTRON / volttron

VOLTTRON Distributed Control System Platform
https://volttron.readthedocs.io/
Other
458 stars 216 forks source link

Show status of platforms in side frame on VC pages #228

Closed jchap-pnnl closed 8 years ago

jchap-pnnl commented 8 years ago

Add a side-panel to VC that shows the status of all registered platforms.

jchap-pnnl commented 8 years ago

The call to get platform statuses will return a list of objects with the following structure: { "result": [{ "platform.uuid": "0987fedc-65ba-43fe-21dc-098765bafedc", "platform.name": "vc", "status": "GOOD" }, { "platform.uuid": "2291fedc-65ba-43fe-21dc-098765bafedc", "platform.name": "vc2", "status": "BAD" }, { "platform.uuid": "4837fedc-65ba-43fe-21dc-098765bafedc", "platform.name": "vc3", "status": "UNKNOWN" }] }

jchap-pnnl commented 8 years ago

We need calls to get statuses of platform agents, platform devices, and their points, so we can get statuses of children as we drill into the panel tree.

To get the platform agent statuses, use the following call:

POST /jsonrpc { "jsonrpc": "2.0", "method": "platforms.uuid.0987fedc-65ba-43fe-21dc-098765bafedc.receive_agent_statuses", "authorization": "someAuthorizationToken", "id": # }

The call will return a list of objects with the following structure: { "result": [{ "agent.uuid": "0987fedc-65ba-43fe-21dc-098765bafedc", "agent.name": "SqlHistorian", "status": "GOOD" }, ....] }

To get the platform device statuses, use the following call:

POST /jsonrpc { "jsonrpc": "2.0", "method": "platforms.uuid.0987fedc-65ba-43fe-21dc-098765bafedc.receive_device_statuses", "authorization": "someAuthorizationToken", "id": # }

The call will return: { "result": [{ "device.uuid": "0987fedc-65ba-43fe-21dc-098765bafedc", "device.name": "RTU2", "status": "GOOD" }, ....] }

To get the device points, use the following call:

POST /jsonrpc { "jsonrpc": "2.0", "method": "device.uuid.0987fedc-65ba-43fe-21dc-098765bafedc.receive_device_points", "authorization": "someAuthorizationToken", "id": # }

The call will return: { "result": [{ "point.uuid": "0987fedc-65ba-43fe-21dc-098765bafedc", "point.name": "CoolingValvePosition", "status": "GOOD" }, ....] }

craig8 commented 8 years ago

We haven't finished this yet as the calls aren't there yet

jchap-pnnl commented 8 years ago

Clicked the wrong button to comment.

jchap-pnnl commented 8 years ago

I've updated the general_definition.json to show statuses and other information for populating the platforms status panel.

general_definition.json.txt

jchap-pnnl commented 8 years ago

Based on our latest discussions, the tree will have the following structure:

jchap-pnnl commented 8 years ago

Modified tree structure:

jchap-pnnl commented 8 years ago

Example of above structure: