VOLTTRON / volttron

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

ChargePoint API Driver #994

Closed bbarcklay closed 7 years ago

bbarcklay commented 7 years ago

Kisensum is developing a driver interface to the ChargePoint Web Services API. It will support the retrieval of basic charging telemetry and the management of charging power limits. It will be based on the 5.0 version of the ChargePoint API. The 4.1 version is described here.

We will publish a design document by November 9 and plan to make a first release available by the end of November.

bbarcklay commented 7 years ago

@jhaack, @craig8, @kmonson

Would you expect to see one driver agent instance (unique VIP_IDENTITY) for each EVSE ? It seems like this is required to make the pubsub topics work correctly. To further complicate things, each EVSE can have multiple ports, each with its own telemetry and control. For maximum flexibility, should we consider one agent instance per EVSE+port ?

bbarcklay commented 7 years ago

An alternative could be to embed the station and port in the point name:

  station01/port02/power

but I haven't experimented and don't know if this would cause other issues. One agent (process) per station or station+port seems a bit heavy to me but I will follow convention/best practice.

kmonson commented 7 years ago

Logically splitting up the physical device using different topics is the way we would suggest you handle this. It makes the resulting Agent responsible for a single port and much easier to write/maintain/understand.

To clarify: In the driver framework in VOLTTRON all drivers live under the umbrella of the master driver agent (One VIP_IDENTITY) and the master driver handles the publishing of data to unique topics for each logical device. If you haven't already you should look at the driver development overview here: http://volttron.readthedocs.io/en/develop/devguides/agent_development/Develop-Driver-Agent.html and the more complete driver interface API docs here: http://volttron.readthedocs.io/en/develop/apidocs/services/MasterDriverAgent/master_driver.interfaces.html

In this case you would point multiple instances of the device driver at the same device with each driver setup for a different port. This is the way we handle BACnet gateways that mirror 100 devices as though it's one 1000 datapoint mega-device.

bbarcklay commented 7 years ago

Thanks Kyle. I think I've got it. I will follow up with a sample set of config commands to confirm.

bbarcklay commented 7 years ago

@jhaack

We will publish the Chargepoint Driver specification on Wednesday. The plan is to create a new rst file in docs/source/specifications on the develop branch and issue a pull request. Let me know if we should do something else.

acedrew commented 7 years ago

This is merged, can we close it @craig8