EEBUS as Open Source

Enable your products and services to support the energy management protocol EEBUS using open source projects

EEBUS logo

Used by

Latest blog posts

Projects

Libraries providing EEBUS protocol support

ship-go

EEBUS SHIP protocol implementation in Go

This library provides an implementation of SHIP 1.0.1 in go, which is part of the EEBUS specification.

Basic understanding of EEBUS SHIP is required to use this library. Please check the corresponding specifications on the EEBUS downloads website.

This includes:

  • Certificate handling
  • mDNS, incl. avahi support (recommended)
  • Websocket server and client
  • Connection handling, including reconnection and double connections
  • Handling of device pairing
  • SHIP handshake
  • Logging which is also used by spine-go and eebus-go

spine-go

EEBUS SPINE protocol implementation in Go

This library provides an implementation of SPINE 1.3 in go, which is part of the EEBUS specification.

Basic understanding of EEBUS SPINE is required to use this library. Please check the corresponding specifications on the EEBUS downloads website.

eebus-go

EEBUS protocol implementation in Go

This library provides a foundation for implementing EEBUS use cases in go. It uses the SHIP implementation ship-go and the SPINE implementation spine-go. Both repositories started as part of this repository, before they were moved into their own separate repositories and go packages.

Basic understanding of EEBUS SHIP and SPINE is required to use this library. Please check the corresponding specifications on the EEBUS downloads website.

The supported functionality contains:

  • Support for SHIP 1.0.1 via ship-go
  • Support for SPINE 1.3.0 via spine-go
  • Certificate handling
  • mDNS Support, incl. avahi support
  • Connection (websocket) handling, including reconnection and double connections
  • Support for handling pairing of devices

CEMd

EEBUS energy management use case implementation in Go

This library provides a foundation to implement energy management solutions using the eebus-go library. It is designed to be included either directly into go projects, or it will be able to run as a daemon for other systems interact with (to be implemented).

These EEBUS use cases are supported:

  • E-Mobility:

    • EVSE Commissioning and Configuration V1.0.1
    • EV Commissioning and Configuration V1.0.1
    • EV Charging Electricity Measurement V1.0.1
    • EV State Of Charge V1.0.0 RC1
    • Optimization of Self Consumption During EV Charging V1.0.1b
    • Overload Protection by EV Charging Current Curtailment V1.0.1b
    • Coordinated EV Charging V1.0.1
  • Grid:

    • Limitation of Power Consumption V1.0.0 as a server (to communicate with a control box) and a client (to communicate with an EVSE, heatpump, …)
    • Monitoring of Power Consumption V1.0.0
    • Limitation of Power Production V1.0.0 as a server (to communicate with a control box) and a client (to communicate with an EVSE, inverter, …)
    • Monitoring of Grid Connection Point V1.0.0
  • Inverter:

    • Visualization of Aggregated Battery Data V1.0.0 RC1
    • Visualization of Aggregated Photovoltaic Data V1.0.0 RC1

Services

let me help you to get started

Consulting

Do you need help adopting EEBUS into your products, need training or testing support?

Software Development

Do you want to sponsor adding improving these projects, or need assistance to integrate these libraries into your infrastructure?

About Me

Andreas Linde

  • >20 years of experience
  • software development & architect, project & program management
  • automotive (Bosch), IT (Microsoft), desktop & mobile app development and more