Skip to content

Technical Overview

Andy Joiner edited this page Mar 8, 2017 · 13 revisions

The aim of the OpenTRV system is to reduce carbon emissions by intelligently controlling central heating systems

system diagram

Physical Components

There are 3 main components to OpenTRV - they communicate over wireless RF

  • Smart radiator valve actuators - fitted to radiator valve heads, running on batteries
  • Boiler controller - listens for valves requesting heat
  • Secure stats hub - listens to valves, gathers stats and can communicate with to a Raspberry Pi or PC

The different boards are powered by Amtel AVR ATMEGA microcontrollers (similar to Arduinos).

In terms of I/O, the boards use buttons, LEDs, temperature sensors, humidity sensors, light level sensors, relays, motors, serial communications and RFM23B radio transcievers to perform their tasks.

A Raspberry Pi can connect to the secure stats hub to provide more processor intensive tasks.

Code

A single C++ generic code base is used across the AVR based boards - C style macros in file V0p2_Generic_Config.h are used to tailor the binary to the functions required on the board and to conserve ROM space. Simply un-comment only the #define CONFIG_XXX that you require and compile the

Libraries

To build the OpenTRV-Arduino-V0p2 project in the Arduino IDE, two libraries are required, and they must be of a compatible version.

To ensure you are using compatible versions of the libraries, ensure you check out matching branches or tags in each repo.

CI Build

See https://travis-ci.org/opentrv

Clone this wiki locally