Gateway Firmware Changelog
Version 5.1, released 11 February 2021
- Bug fix: Stand-alone mode: OTGW sends Read-Data for MsgID 1 (Control
Setpoint). Specs say it must be Write-Data.
- Bug fix: Empty Read-Ack on MsgID 20 (Day & Time) resets the thermostat
clock to midnight.
- Bug fix: The outside temperature, provided to the OTGW through an OT
command or by an external temperature sensor, overwrites the DHW temperature
value in the PS=1 output.
- Bug fix: Monitor mode: The 'C', 'F', 'H', 'M', and 'W' LEDs are not
- Bug fix: Monitor mode: Summary data is not updated.
- Bug fix: Incorrect response format for the C2 and H2 commands.
- Bug fix: Command OT=9.999 is not accepted and gives wrong error response:
Version 5.0, released 18 January 2021
Potential incompatibility: The PS=1 output has changed. If using this
function, the program processing the information will have to be adapted
- Add support for a 2nd central heating circuit using the new C2, and H2
- New TS command to select if a connected temperature sensor is used for
the outside temperature (O), or the return water temperature (R). The current
setting can be verified with the PR=D command.
- Support additional commands, like SH, SW and VS, in standalone mode.
- Report additional values in a PS=1 report: 7 (Cooling control), 8
(Control setpoint 2), 19 (DHW flow rate), 23 (CH2 room setpoint), 31 (CH2
flow temperature), 33 (Boiler exhaust temperature), 70 (V/H master status),
71 (V/H control setpoint), 77 (Relative ventilation).
- Use a WriteData request when sending the following IDs as alternative
messages: 1 (TSet), 8 (TSetCH2), 14 (MaxRelMod), and 71 (VSet).
- Repeat alternative messages that didn't receive a valid response.
Version 4.3, released 7 January 2021
- Store Monitor Mode setting in EEPROM, so it survives a restart of the OTGW
- Store DHW setting in EEPROM, so it survives a restart of the OTGW
- Fix freeze in standalone mode when boiler generates a stray signal
- Add a command to obtain the current state of the GPIO input pins
- Prevent unintended heat request in case of thermostat communication
- Fix spontaneous reset in monitor mode
- Add command to obtain the reason of the last reset
- Fix bug: Missing response from the boiler may result in wrong data
being returned by the gateway on the next request.
Version 4.2, released 30 December 2014
- Fix a bug in the presence detection of an opentherm thermostat and the
state detection of an on/off thermostat.
- When the gateway sends a message to the boiler for its own administration,
a successful response should not undo any manual blacklisting of the message
Version 4.1, released 29 November 2014
- Add the FT command for those cases where the gateway is unable to
auto-detect a Celcia 20 thermostat.
- Add support for manually configured responses for MsgID 48 and 49.
Version 4.0.1, released 15 June 2014
- Correct a rounding error in the PS report resulting in invalid floating
Version 4.0, released 9 June 2014
- Smart power support.
- The gateway can be used with an on/off thermostat, or even without a
- Many workarounds for quirks of the Remeha iSense (RF) thermostat.
- Several programmable GPIO functions.
- New serial commands: CH, CR, CS, GA, GB, KI, MM, OH, PM, SB, SR, UI, and
- Greately relaxed the checks performed on the received opentherm signal.
- Improved serial communications.
- Increased immunity against weird input on the serial interface.
- Blacklisting improvements.
- Improved command confirmations.
- Report the contents of messages with parity or stop-bit errors.
- LEDs flash on powerup/reset of the gateway.
Version 3.4, released 13 January 2013
- Setting the setpoint on a Celcia 20 thermostat was broken by firmware
- The gateway should give a thermostat three chances when trying to set a
remote setpoint. It only did that when initially setting the setpoint. But
when changing it to another value at some later moment the gateway
immediately gave up if the first try did not work.
Version 3.3, released 11 November 2012
- Under some unfavorable circumstances the firmware program flow could
exceed its stack space. This resulted in the loss of a return address which
prevented the code from returning to the main program loop and subsequently
the watchdog timer would kick in and put the device in its fail-safe state.
This has been fixed by eliminating some subroutine levels.
Version 3.2, released 15 July 2012
- Some boilers clear out the data bytes when returning an Unknown-DataID
response. This could cause strange behavior like the thermostat clock being
reset to midnight on powerup of the gateway. If the list of alternative
messages was empty, the clock reset would even happen every minute.
Version 3.1, released 15 June 2012
- Switch on the Maintenance LED when the gateway enters fail-safe mode,
i.e. after a watchdog timeout has occurred.
- Deleting alternative Data-IDs was broken since version 3.0
- Watchdog timeouts were being obscured by the self-programming code
(requires self-programming code upgrade).
- Random serial data within 1 second after a reset would put the device
into self-programming mode. Now an <STX> character is needed to do
that (requires self-programming code upgrade).
Version 3.0.1, released 2 June 2012
- The version 3.0 firmware published on the web site was built with the
adjustments needed for an Intergas boiler. For all other boilers it is
better not to have these modifications.
Version 3.0, released 20 May 2012
- Switched to PIC16F88 (requires circuit board changes)
- Added self-programming option for in-circuit firmware upgrade
- Invalidate the received time information after about one minute, so the
thermostat clock isn't continuously reset to the same time.
Version 2.1, released 05 Feb 2012
- Fixed bug in resetting boiler counters.
- The print summary command produced garbage when the outside temperature
went below zero.
Version 2.0, released 14 May 2011
- Due to the addition of several new features, a PIC16F628(A) is now
required. The code no longer fits in a PIC16F627(A).
- Added an option to allow non-significant transitions to happen outside
the range of -10%/+15%. This turned out to be necessary for (some) Remeha
- Added an option to trigger some thermostats to send a remote room setpoint
override request. This is necessary to control the setpoint on certain
thermostats, like the Remeha Celcia20.
- Introduced several new functions that can be freely assigned to the
optional LEDs that may be attached to four PIC output ports.
- Added the option to switch between gateway and monitor mode via a serial
command. This can be very useful for debugging a newly built gateway.
- Accept a deviation of +/-0.125 degrees in the setpoint reported back by
the thermostat after sending a remote room setpoint override response. This
turned out to be necessary for Remeha iSense thermostats.
- Added a new serial command to dump some useful information about the
- Added a check for parity errors in the received messages.
- Floating point values may now be specified with several decimal digits
(although only the first 2 will actually be used).
- The gateway can now report the most interesting parameters on demand,
instead of reporting individual opentherm messages.
- The gateway did not forward the outside temperature to the thermostat if
it was reported by the boiler instead of via the serial interface.
- Timing checks were too strict. The code dit not accept the full range of
-10%/+15% deviation from the perfect transition time.
- Negative temperatures that were specified without a fractional part ended
up as positive.
Version 1.3, released 26 Dec 2009
- Fixed a problem with specifying negative outside temperatures.
Version 1.2, released 22 Nov 2009