Viega Fonterra Smart Control

Viega Fonterra Smart Control is a great product, it’s actually the best system for floor heating I’ve ever seen:

  • You never have to fine tune the flowmeters (it’s done automatically!)
  • It constantly adjusts itself, this increases comfort and saves a lot of energy.
  • It can be combined in a classic system (heater on >75C with radiators and floor on max. 40 degrees) or in a solely Low-temperature system in combination with alternative heat sources.
  • Even when additional components fail (e.g. KNX or internet connection is lost) the system works autonomously.
  • It’s a complete system, not only a distributor. Viega also has the tubes, connectors, etc. and is known to have the “Höchster Qualität Verbunden” which I have to admit is really true. They have the highest quality in tubes and connectors. It might be a bit more expensive than other vendors but it’s build to last… a long time.

Set the temperature from any KNX tastsensor, glasstaster or Visu (QuadClient)

To fully integrate the system into KNX I created three building blocks. This gives many new advantages:

  • Operating mode or temperature setpoint can be set from a KNX touch sensor or Visualisation (e.g. QuadClient).
  • Heating can be centrally shut down when on holiday or leaving the house (i.e. by using a ‘central off’ button or presence detection).
  • A connection can be made to the heater or boiler (e.g. by using a Theben Opentherm KNX OT box) to ensure that the heater is going to heat xx% when there is a demand from the floor heating system.

Gira Homeserver - Viega Fonterra Smart Building Blocks

I made the next three building blocks (Gira Homeserver Logic Baustein) and they are completely FREE!

  • Get temperature (to get the actual and setpoint temperatures from the Viega system)
  • Set temperature (to set the setpoint temperature)
  • Set Operation Mode (to set the system in Comfort, Night, Leaving Home, Standby, etc. mode)

Alternatively you can also buy an ISE module which does basically the same, although it isn’t updated frequently and is really expensive! If you don’t have a Gira Homeserver or Gira X1 this might be worth looking at. If you own a Homeserver or X1, better spend your money on the real hardware (Viega pipes, connectors or an Opentherm box).

Download Gira Homeserver – Viega Fonterra Smart Building Blocks v1.2.zip

Download X1 Logic – work in progress, will be available soon!

Gira Homeserver or Gira X1

Version Changes Compatible with Viega version
v 1.2 username/password support, bug fixing > 2.8-4.43
v 1.0 Initial release 2.8-4.42
2.8-4.41
2.8-4.33

Note: At this moment it isn’t possible to leave the Viega room thermostats out and push the actual temperature from a KNX room thermostat (most houses will have touch sensors with build-in temperature sensors already). In my opinion this is a big shortcoming so I contacted Viega and they gave me the opportunity to visit their office in Attendorn (Germany) to explain the need for this. To make a long story short: I have good faith this will be updated in the next version. So for now, you have to use the Viega room thermostats, but soon you’ll be able to just use your KNX touch sensors only.

Network Topology - Viega Fonterra Smart, IP, Gira Homeserver, KNX, OpenTherm

Examples:

Gira Homeserver Logic Examples for Viega Fonterra Smart

References

Set Operation Mode (BS: 13662)

Input Name Initialisation / Type Description
1 * IP Address “” (text) (local) IP Address or host name of Fonterra Smart Control WLAN-module.
2 Username “” (text) Username (if set) of the Fonterra Smart Control. (not the cloud username!)
3 Password “” (text) Password (if set) of the Fonterra Smart Control. (not the cloud password!)
4 Cooling temp-mode 0 (0/1) Set to Cooling mode, controlled by thermostat. (trigger = 1)
5 Cooling profile-mode 0 (0/1) Set to Cooling mode, controlled by room profiles. (trigger = 1)
6 Standby/Off 0 (0/1) Set system to Standby mode (anti-frost is active). (trigger = 1)
7 Heating temp-mode 0 (0/1) Set system to Heating mode, controlled by thermostat. (trigger = 1)
8 Heating profile-mode 0 (0/1) Set system to Heating mode, controlled by room profiles. (trigger = 1)
9 Heating night-mode 0 (0/1) Set system to Heating Night mode (current setpoint will be lowered by 3°C). (trigger = 1)
10 Leaving-home 0 (0/1) Set system to Leaving Home mode (setpoint will be set to 18°C, but can be configured per room). (trigger = 1)
11 Returning-home 0 (0/1) Set system to Return Home mode (last/previous mode will be active). (trigger = 1)

Output Name Initialisation / Type SBC (Send By Change) Description
1 * Status 0 (byte / 0-255) No See status list (error codes) below

* = required

Set Temperature (BS: 13661)

Input Name Initialisation / Type Description
1 * IP Address “” (text) (local) IP Address or host name of Fonterra Smart Control WLAN-module.
2 Username “” (text) Username (if set) of the Fonterra Smart Control. (not the cloud username!)
3 Password “” (text) Password (if set) of the Fonterra Smart Control. (not the cloud password!)
4 * BaseStation 0 (byte / 0-255) Basestation, this is always 1 because (for now) you can have only 1 WiFi module per Smart Control.
5 * Room 0 (byte / 0-255) The room number, this (combined groups count as 1 room), between 1 – 14.
6 Temperature 0 (float) The setpoint temperature for the room, i.e.: 21 or 18.5. (trigger)
7 PowerLevel 0 (byte / 0-255) Set the PowerLevel for PowerLevel (non thermostat) powered rooms, between 1 – 10. (trigger)

Output Name Initialisation / Type SBC (Send By Change) Description
1 * Status 0 (byte / 0-255) No See status list (error codes) below

* = required

Get Temperature (BS: 13660)

Input Name Initialisation / Type Description
1 * IP Address “” (text) (local) IP Address or host name of Fonterra Smart Control WLAN-module.
2 Username “” (text) Username (if set) of the Fonterra Smart Control. (not the cloud username!)
3 Password “” (text) Password (if set) of the Fonterra Smart Control. (not the cloud password!)
4 * BaseStation 0 (byte / 0-255) Basestation, this is always 1 because (for now) you can have only 1 WiFi module per Smart Control. (trigger)
5 * Room 0 (byte / 0-255) The room number, this (combined groups count as 1 room), between 1 – 14. (trigger)

Output Name Initialisation / Type SBC (Send By Change) Description
1 Temperature 0 (float) No The current Setpoint temperature for the given room.
2 ActualTemperature 0 (float) No The actual temperature from the room thermostat for the given room.
3 TemperatureMin 0 (float) No The configured minimum possible setpoint temperature for the given room.
4 TemperatureMax 0 (float) No The configured maximum possible setpoint temperature for the given room.
5 TemperatureLeave 0 (float) No The configured Leaving-Home temperature for the given room.
6 PowerLevel 0 (byte / 0-255) No The current PowerLevel for the given room, between 1-10.
7 PowerLevelMin 0 (byte / 0-255) No The configured mininum possible PowerLevel for the given room.
8 PowerLevelMax 0 (byte / 0-255) No The configured maximum possible PowerLevel for the given room.
9 PowerLevelLeave 0 (byte / 0-255) No The configured Leaving-Home PowerLevel for the given room.
10 Status 0 (byte / 0-255) No See status list (error codes) below

* = required

Error reporting / Statusses

Output status
byte
0-255
Set operation mode (A1) Set Temperature (A1) Get Temperature (A10)
0 Successfull Successfull Successfull
1 Error: IP was not set Error: IP, Basestation or Room was not set Error while creating connection using password
2 Error: Nothing set to do (all inputs zero?) Error: No Temperature and No Powerlevel was set Error while creating connection without password
3 Error: Wrong Temperature or Powerlevel was set (maybe zero?)
4 Error while creating first connection to get auth. token Error while creating first connection to get auth. token
5 No auth. token could be retrieved No auth. token could be retrieved
6 Error while making second connection to set primary mode (standby/leaving/home) Error while making second connection to set temperature
7 Error while making second connection to set secondary mode (heating/cooling) Unexpected result when trying to set temperature
8 Error while making second connection to set tertiary mode (profile/temp)
9 Unexpected result when trying to set tertiary mode (profile/temp)