kinney

module
v0.0.0-...-742d8af Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 12, 2021 License: Apache-2.0

README

Kinney

The electric grid, composed of substations, transmission lines, transformers and more, delivers electricity from the power plants to our homes and businesses. Its transformation to a "Smart Grid" requires real time sensing of energy production and consumption, anticipating usage needs, and smoothing load fluctuation by way of curtailing demand and bringing cleaner Distributed Energy Resources (DERs) online. This transformation is a fascinating challenge due to the need to integrate legacy system, varied protocols, and myraid devices, while securing remote dispersed systems, protecting user data, coping with unpredictable DERs, and incentivizing changes in human behavior: all to deliver reliable, efficient, and progressively cleaner power to meet our needs.

This project defines models for devices that produce and consume energy, incorporating environmental factors that influence consumption such as weather, time of day, and seasonal fluctuations, and providing mechanisms for real time monitoring and control.

Together, through open standards and implementations, we can achieve this Smart Grid, reduce global warming and help preserve our beautiful planet.

Development

Python
  1. Python development on this project requires pipenv and pyenv. For example, on MacOS with Homebrew, these can be installed with:

    $ brew install pipenv pyenv
    
  2. Install the pinned version of Python with pyenv. The current version can be found in the Pipfile under requires.python_full_version.

    $ pyenv install <version>
    
  3. Set up the Python virtual environment for local development:

    $ make pipenv
    
  4. pipenv can now be used to run the Python code. For example:

    $ pipenv run python -m kinney.orchestrator.server
    

    To get an interactive Python shell, use pipenv run python.

Protocol Buffers

The generated Protocol Buffer sources can be refreshed with:

$ make protos

The generated code is checked in so that only developers who need to change the API definitions will need to have the Protocol Buffer compiled installed.

Directories

Path Synopsis
controller
chargepoint/api
Package chargepoint provides a native client library wrapping the "ChargePoint Web Services API Version 5.0".
Package chargepoint provides a native client library wrapping the "ChargePoint Web Services API Version 5.0".
chargepoint/api/cmd/client
client is a reflection-based command-line interface to the ChargePoint API client library.
client is a reflection-based command-line interface to the ChargePoint API client library.
chargepoint/api/schema
Package schema defines Go structs that map to and from the ChargePoint API WSDL types (using `encoding/xml` marshaling/unmarshaling rules).
Package schema defines Go structs that map to and from the ChargePoint API WSDL types (using `encoding/xml` marshaling/unmarshaling rules).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL