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 working.
  • 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: "OT: MPC".

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 accordingly.
  • Add support for a 2nd central heating circuit using the new C2, and H2 commands.
  • 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 problems
  • 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 ID.

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 point values.

Version 4.0, released 9 June 2014

  • Smart power support.
  • The gateway can be used with an on/off thermostat, or even without a thermostat.
  • 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 VS.
  • 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 version 3.3.
  • 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 Celcia20 thermostats.
  • 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 gateway.
  • 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

  • First published version