OTGW firmware 5.2

This Forum is about the Opentherm gateway (OTGW) from Schelte

Moderator: hvxl

Post Reply
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

OTGW firmware 5.2

Post by hvxl »

Firmware version 5.2 for the OTGW has been released. As usual, it can be found on the OTGW web site. When using OTmonitor to upgrade the OTGW firmware, make sure you upgrade that to the latest version first. Only the latest OTmonitor version will be able to transfer any settings that are stored in EEPROM from the old to the new version.

In addition to some bug fixes, the following changes have been made since 5.1:

Handle Smart Power level changes while in monitor mode.
  • Before, the OTGW would detect a Smart Power request and invert the output of the comparator. In monitor mode, that also invert the output to the boiler, resulting in an invalid Smart Power request to the boiler. Depending on how the boiler interpreted the invalid request, things could stop working, or the thermostat and boiler would still communicate, with the OTGW reporting lots of Error 03. In monitor mode, the OTGW now always passes on the line levels unaltered. This means that the boiler must support Smart Power for a thermostat to be able to use Smart Power when the OTGW is used in monitor mode. The OTGW will still recognize Smart Power requests. But it will now only invert the levels for its own use. This means that it will now be able to correctly decode the messages.
Add support for boilers that generate unsolicited Medium/High power.
  • Some boilers would spontaneously turn on Smart Power without a request from the thermostat, if they recognized the master MemberID code. The OTGW will now invert its receive mode when a boiler switches its idle current level. The OTGW will also invert its receive mode on the thermostat interface when the thermostat switches its idle voltage without first establishing Smart Power support. This should help the OTGW to understand messages from either side when they unexpectedly switch to Smart Power.
Limit the validity of a CS command.
  • Some people use the OTGW to drive the boiler differently than what the thermostat says, using the CS and CH commands. Or maybe they don't even have a thermostat connected. A risk with that is that the controlling program may crash or lose the connection after setting a high control setpoint. That could lead to the house being heated way above the desired temperature and a lot of wasted gas. The OTGW will now clear a remotely provided setpoint after just over a minute. People using this functionality must now make sure the CS command is repeated at least once per minute as long as the modified control setpoint is wanted. This should not be an issue in most cases because a proper PID controller will produce a new control setpoint more frequently than once per minute.

    Due to resource scarceness, this feature uses the same timer as the SC command. So both the CS and SC commands will restart the timer. When using both, it is advised that they are generated by the same application. Otherwise the risk remains that a high control setpoint is kept active by the application that updates the clock after the heating application has gone offline. For this reason OTmonitor v5.2 now implements its own 1 minute timeout if it detects a CS command when OTmonitor is configured to periodically update the clock.
Change the default voltage reference to 1.458V
  • The initial voltage reference value has been changed to 1.458V (4), which translates to a line voltage that lies closer to the midway point between the high and low voltage levels defined by the Opentherm specification. This only affects users with freshly installed gateway firmware. When upgrading the firmware, the old settings will normally be copied, unless the user specifically disables that. Or if they don't use the appropriate OTmonitor version.
Change the voltage to detect a disconnected thermostat to 20.05V.
  • The OTGW used to consider a line voltage above 19.11V as a sign that the thermostat was disconnected. This value was chosen to work with a 20V power supply. However, the calculated voltage was only accurate with perfect component values. With 10% tolerance on most components, some people would get false positives. For a long time the advise has been for the 24V rail to be at least 24V. So the disconnect threshold could be made less tight.
Pass on the response for MsgID 9 and MsgID 100.
  • When the OTGW doesn't have an active setpoint override, it used to respond to an override request with "No override". However, the boiler or a downstream gateway might have a different opinion. In this situation, the OTGW will now pass on the information it receives from the downstream device.
Schelte
MartasBrno
Starting Member
Starting Member
Posts: 5
Joined: Mon Jan 03, 2022 8:23 pm

Re: OTGW firmware 5.2

Post by MartasBrno »

Hello Schelte,

first, thanks for maintaining your project over ten+ years - and wish you all the best in 2022!

As i built and started using OTGW during Christmas days, i am very happy it is working well, but i found weird decoding of message #33 = Exhaust temperature. To be honest, it is a long time i made some simple ASM code = i do not understand all the printout treatment in gateway.asm. I dig in the specification and your source code. #33 is declared to be a signed int16, to carry values from -40 to +500. Only this one use this type, no other in all specification! Firmware takes actual value as other type, dividing it by 256, so i read i.e. 0.09°C instead of 24°C.

Code: Select all

19:36:18.331118	T00210000	Read-Data 	Exhaust temperature: 0.00
19:36:18.595656	BC0210018	Read-Ack  	Exhaust temperature: 0.09
Could you, possibly correct this detail?
i found you use sigshort function, and also signed for #27 i think, while #27 should be f8.8, so signed fixed point as other "floats". I am confused.

My motivation - I am tuning the heating system, now i put indirect heated DHW tank looking for best efficiency to save some energy. It is fine to see correct return and exhaust temperature to find best condensation even in DHW mode.

Thanks
Martin
Martin
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: OTGW firmware 5.2

Post by hvxl »

The reason you couldn't find the error in the assembly code is not due to your rustiness with assembly. The part you were looking at is for the PS=1 output. If you would run that command, I think you will find the value to be correctly reported as 24.

The wrong value you quoted is from the OTmonitor log. That value is extracted from the BC0210018 message by OTmonitor. So the wrong translation would have to be fixed in OTmonitor, which is written in Tcl. Something along the lines of the attached patch. My boiler doesn't produce MsgID 33, so I haven't tested it. It would be nice if you could.
Attachments
exhaust-patch.txt.gz
otmonitor patch
(489 Bytes) Downloaded 127 times
Schelte
MartasBrno
Starting Member
Starting Member
Posts: 5
Joined: Mon Jan 03, 2022 8:23 pm

Re: OTGW firmware 5.2

Post by MartasBrno »

My apologize - after an update of OT monitor to latest version, it is already reporting correct value.
So we do not need such patch as well as i am an windows user probably could not use it i think.

There is second thing i would find useful, to add the ExhaustTemperature in top section of OT monitor and as next trace in graph section. Is this possible, makes this sense to you also from other users perspective?

Thanks
Martin
Martin
MartasBrno
Starting Member
Starting Member
Posts: 5
Joined: Mon Jan 03, 2022 8:23 pm

Re: OTGW firmware 5.2

Post by MartasBrno »

Today i experienced two things.
OT Monitor crashed like "Fatal error in Wish- unable to locate 8028 Bytes" or so, and also i must restart the gateway earlier, as it does not respond to any commands. Any thoughts, what i can do? Thanks.
Martin
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: OTGW firmware 5.2

Post by hvxl »

Do not paraphrase error messages! An "or so" report is quite useless. I think another user reported the same problem. But because you didn't report the exact error message, a search for that thread comes up empty.

The message seems to indicate that your computer ran out of memory. This can happen if your PC doesn't have much memory and OTmonitor is running for a long time, collecting logs and graph data. You can try:
  • Increase the amount of memory in your PC
  • Periodically restart OTmonitor.
  • Run OTmonitor without a GUI.
  • Modify the OTmonitor sources to reduce the logsize and/or span variables.
When the OTGW didn't respond to commands, were the LEDs still flashing and was the thermostat happy? Then it may have just been your communication path that experienced a problem. It's impossible to tell based on the information you provided.
Schelte
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: OTGW firmware 5.2

Post by hvxl »

MartasBrno wrote:My apologize - after an update of OT monitor to latest version, it is already reporting correct value.
So we do not need such patch as well as i am an windows user probably could not use it i think.
The patch would still be needed for reporting the information via MQTT etc. The OS is irrelevant for the patch.
MartasBrno wrote:There is second thing i would find useful, to add the ExhaustTemperature in top section of OT monitor and as next trace in graph section. Is this possible, makes this sense to you also from other users perspective?
I don't think this value is interesting enough for everyone to take up space in the summary area or the graph. But the OTmonitor sources are available. You can always add it yourself.
Schelte
Post Reply

Return to “Opentherm Gateway Forum”