Sunshade Software


Most functionality is implemented within MisterHouse. Each output (relay) has a specific naming convention with names ending with "up" or "down". MisterHouse creates a virtual object with two possible states: "Up" or "Down" and depending on the state, the relevant real object is activated. Because I used the protection timers, the relays are not explicitly deactivated.

In order to drive the sunshades directly from within VSCP, each relay is configured to be in a certain zone/subzone.

MisterHouse objects


In a well-insulated home, there is always a risk of overheating in the summer as accumulated heat can not escape to the outside during the nights.
The first thing to do, off course, is to make sure as little heat as possible is able to accumulate.

Although well-insulated windows already have an IR reflective film applied to the glass, they are still a major contribution to unwanted heating in the summer.
The effectiveness of this film can be found in the technical data of the windows under "Solar Insolation".

Installing the VSCP daemon on a CubieTruck

Installing the VSCP daemon on a CubieTruck (CubieBoard 3).


The system needs to have the correct tools to compile programs.
In my case, I needed to install the following additional software through the package manager.
I installed them with:

apt-get install git unzip libssl-dev libmicrohttpd-dev make cmake gcc pkg-config libgtk2.0-dev

Furthermore, you need to download several libraries, not available through the packet manager.
These are:

Solar panel algoritm

The following algoritm was implemented to drive the solar panel circulation pump.
The main mode is to control the speed of the circulation pump so there is a constant temperature difference between de solarpanels and the boiler.


  • The wanted temperature difference and a hysteresis value are configurable. Default these are 5 and 2 degrees Celcius.
  • The minimum speed of the solarpump in configured, most of the time this is about 30% of nominal speed.


I use a satellite dish with a TV Vlaanderen subscription on a MythtV backend.This works reliable for me.ssh-keygen -b 4096 -t rsa -C Moi_Keyssh-copy-id -i /root/.ssh/ root@<MOI_Streaming_Box>

Controlling underfloor heating


What is needed to control the temperatures in the house:

  • Temperature sensor to measure outside temperature (TS_Outside)
  • Mixing valve to mix water of the correct temperature
  • Output(s) to control mixing valve
  • Temperature sensor to measure the temperature of the mixed water (TS_Floor_)
  • Temperature sensor to measure the temperature of the return water (TS_Floor_Return)
  • Output to control circulation pump (OUT_Circulation_Floor)
  • Temperature sensor(s) to measure inside temperature (TS_Inside)

Controller (Overview)

Design requirements

  • Standalone. The controller must be able to work autonomously.
  • Interfacable. The controller must interface with my homeautomation system.
  • Comfort. The controller must povide comfort.
  • Harvest as much as possible. The controller must try to harvest as much energy as possible.
  • Ecological. The controller must not consume energy when nog needed.


There are several modes possible.

  • Holiday. Only protection against frozen pipes, stuck valves/pumps, overheating, etc...

Heating system

I do not believe in "single source" heating systems.
Due to very volatile market prices of everything energy related, this is not feasible anymore.
History has also learned us it is never a good idea to bet all on a single horse. (Oil crisis, etc...)

I believe the future will be hybrid systems where the energy for heating a house is taken from whatever source that is available. (Sunlight, earthwarmth, pellets, heat pump, etc...)

Unfortunately, it seems it is very hard to "buy" such a system.
If you want is, you need to create it yourself.

Weather Array


If you measure outside temperatures, humidity, or other weather related things, you should store these measurements in a special array in MisterHouse.
This way, all already existing modules can make use of this information.
There are also some existing modules to get the Weather array populated.

This part tells how to manually populate the Weather array and how to use it.

Important: If you change the Weather array, you MUST call the "&weather_updated" function in order to process the data as some fields are automatically calculated.

Weather measurements

For home automation, acurate wheater data can be very important. Or at least that's what I think. ;-)

It doesn't only gives you nice statistics and graphs, which can help you plan further improvements, like Solar insolation for planning a photovoltaïc array.
It also gives you data which can be used for real-time decissions:

  • Open the sunscreens because there is too much wind
  • Give an alert when it's almost freezing
  • Give an alert because it starts to rain
  • etc...

We can even try to predict the near future by looking at historical data.

Syndicate content