HEMS - Home Energy Management System (COFYBox)
A key part of the PowerShaper Flex system is the “Home Energy Management System” - HEMS. The HEMS is a device that is being installed in houses that are participating in the PowerShaper trial.
During the course of the European Union’s REScoopVPP project, the HEMS was referred to as the COFYBox (Community-driven Flexibility Box) in the context of REScoopVPP. This term is often used by European partners and the two terms may be used interchangeably.
Hardware
Board |
Raspberry Pi 4 - 2GB Ram |
Power Supply |
Official Raspberry Pi power supply |
Storage |
SD Card 62GB A2 rated |
Case |
Flirc 4 case |
Note: Prior to 2024, the Raspberry Pi 3+ was used.
Firmware and Device Management
BalenaCloud is used for device management and orchestration. Balena is a complete set of tools for building, deploying, and managing fleets of connected Linux devices. They provide infrastructure for Internet of Things fleet owners so they can focus on developing their applications and growing their fleets with as little friction as possible.
BalenaCloud is a paid for service, fully supported by Balena engineers.
Development Process
The Balena development process is centered around Docker Linux containers. The applications are developed locally in one or more docker containers. These docker containers can run any programming language or service in an isolated environment. The hardware devices are setup with a Balena host operating system. When development reaches a point where it needs to be deployed, the docker containers are uploaded to BalenaCloud using command line tools, and the Balena system deploys the containers to the devices.
Devices can then be monitored and managed through the BalenaCloud dashboard and other tools.
HEMS Software
The Carbon Co-op HEMS runs a number of different software elements, some in separate docker containers and some as Home Assistant custom components.
Home Assistant |
An open source python based home automation application |
VEN Custom Component |
A Home Assistant custom component that runs the OpenADR VEN |
MQTT Server |
Eclipse Mosquitto message broker, used to communicate with in home devices |
HEMS Supervisor |
A python application that creates a WiFi network |