Stand-alone operation
Introduction
Several people have inquired about using the gateway without a thermostat. I
personally prefer to use a thermostat for a couple of reasons:
- The thermostat manufacturers have spent years of research to work out
the heating characteristics for the most efficient and comfortable way to
heat a house.
- The thermostat provides a control interface that people are familiar
with, so other members of the household are still able to adjust the
setpoint.
- It provides convenient housing for the room temperature sensor, which is
needed unless you use a heating curve based solely on the outside temperature.
But due to popular demand, the possibility to use the gateway without a
thermostat has been added in the 4.0 series of the firmware.
Gateway operation
When nothing is connected to the thermostat terminals of the gateway (X1),
the gateway will send a fixed series of opentherm messages to the boiler.
The sequence is:
- MsgID 0: Master and Slave Status flags
- MsgID 25: Boiler flow water temperature
- MsgID 1: Control Setpoint
- UserDefined
- MsgID 17: Relative Modulation Level
- MsgID 27: Outside temperature
- MsgID 28: Return water temperature
- MsgID 14: Maximum relative modulation level setting
- UserDefined
- MsgID 0: Master and Slave Status flags
- MsgID 25: Boiler flow water temperature
- MsgID 1: Control Setpoint
- MsgID 56: DHW Setpoint
- MsgID 57: Max CH water Setpoint
- UserDefined
- MsgID 18: Water pressure in CH circuit
The 'UserDefined' slots are filled from the list of alternatives. If the
gateway learns (or was told via the UI command) that some of the other
messages are not supported by the boiler, it will fill those slots with
messages from the list of alternatives as well. If the list of alternatives
is empty, it sends MsgID 0.
The data bytes the gateway puts in the messages by default will not normally
cause the boiler to start heating. To actually heat the house with this
configuration, the gateway has to be instructed what to send to the boiler
via serial commands.
External control
An external program that is used to control the central heating system via
the gateway can use the following serial commands:
- CS=<temperature>
- This command controls the control setpoint the gateway will send to the
boiler in MsgID 1. The control setpoint represents the desired temperature
of the water as supplied from the boiler.
If a temperature other than 0 is specified in the CS command, the gateway
will also control the CHenable bit (bit 0) in the master status byte of
MsgID 0. Initially this bit is set, which is necessary to allow the boiler
to actually heat the water. The CHenable bit can be manipulated using the CH
command.
External control of the control setpoint is switched off by specifying a
temperature of 0 in the CS command. The gateway then falls back to sending
its internal default control setpoint of 10 degrees. It also clears the
CHenable bit in the master status byte of MsgID 0.
- CH=<state>
- The CH command can be used to control the CHenable bit in the master
status byte of MsgID 0. When a control setpoint other than 0.0 has been set
using the CS command, the last state configured in a CH command will be sent
as the CHenable bit. If external control of the control setpoint has been
switched off, the CH setting is irrelevant.
- MM=<percentage>
- The maximum relative modulation level setting of the boiler can be used
to throttle the heating capacity of the boiler. The MM command is available
to specify the value the gateway sends to the boiler in MsgID 14. If no
level has been specified via the MM command, the gateway falls back to its
internal default of 100%.
- AA=<number> & DA=<number>
- The AA and DA commands can be used to configure which additional pieces
of information will be requested from the boiler. For example, the control
algorithm may want to obtain the boundaries for the control setpoint by
adding MsgID 49 to the list of messages the gateway will send in the
'UserDefined' slots.
On/off thermostat
As indicated, the gateway by default will instruct the boiler not to do any
heating when the thermostat terminals are left open. However, when the
terminals are tied together, the gateway sends its internal maximum central
heating setpoint value to the boiler and sets the CHenable bit in MsgID 0.
This allows the use of a simple on/off thermostat in combination with the
gateway and an opentherm boiler.
The internal maximum central heating setpoint value starts out at 90
degrees. If the boiler has specified different boundaries via MsgID 49, the
provided upper boundary will be used. The MM serial command can be used to
prevent the boiler from always burning at maximum capacity when the
thermostat indicates a heat demand.
Considerations
Making a program to control the central heating may appear simple at first
glance. But simply telling the boiler to start heating when the room
temperature drops below the desired temperature and shutting it off when it
reaches the setpoint again won't work very satisfactory. That method will
result in large temperature swings, because a central heating system
inherently has a big response delay.
So the controlling program has to account for the time and amount the
temperature will continue to rise or fall after the boiler has been
switched off or on. To make things worse, those figures are influenced by
external factors like outside temperature, open or closed doors and windows,
curtains being drawn, other heat sources, hot water use, etc.
In addition to keeping the temperature as constant as possible there's also
the matter of doing it in the most energy efficient way. Modern boilers are
generally most efficient at low temperatures. So, when maintaining a desired
room temperature it may be wasteful to use relative short burns with a high
control setpoint rather than longer burns with a lower control setpoint.
Finally there's the matter of reliability. If the controlling program crashes,
or the system running the program decides to reboot and install patches after
the control setpoint has been set to 80 degrees, the house may get quite warm.
|