OT - understanding

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

Moderator: hvxl

Post Reply
boe666
Starting Member
Starting Member
Posts: 7
Joined: Thu Sep 30, 2021 8:48 am

OT - understanding

Post by boe666 »

I would like to understand how communication works in the MCR3 + AD289 + OTWG

In terms of "CH setpoint" everything is normal. OTMonitor set "Remote Override room setpoint" after click Temporary or Constant and set Temperature. After 7 seconds, the setpoint parameters are set. The parameter is visible in OTmonitor at PS = 0 and in the list of values ​​after PS = 1. If I click Schedue on OTMonitor, after 7 second Setpoint is set to the correct value from AD289 thermostat. Strange things happen with DHW Setpoint and Return Water Temperature. If I click on OTMonitor (HEATER section) Comfort Mode and set the temperature to 42, nothing happens. ps = 1 still returns the value from the AD289 calendar settings (i.e. 20 deg). On the "statistic" window i have long interval for this parameter 346s - so I set PS = 0 and wait about 5 minutes (communication continues all the time - parameters fly in PS = 0 mode and OTMonitor reads them)
In LOGS I have:
9: 10: 17.297405 Command: SW = 42.00
09: 10: 17.327614 SW: 42.00
and
09: 13: 48.663869 R90382A00 Write-Data DHW setpoint: 42.00
09: 13: 48.683535 B50382A00 Write-Ack DHW setpoint: 42.00
(in this case - after about 3 minutes it was set).
PS = 1 also returns the appropriate value.
and now I click on OTMonitor in the HEATER "Thermostat controlled" tab and again nothing happens. I expect DHW setpoint to follow the AD289 schedule)
I wait up to 5 minutes again
In LOGS I have:
09: 17: 03.542121 Command: HW = A
09: 17: 03.582713 HW: A
09: 17: 10.710428 PS: 0
after 5 minutes in LOGS:
09: 22: 14.037017 T10381400 Write-Data DHW setpoint: 20.00
09: 22: 14.046826 R90382A00 Write-Data DHW setpoint: 42.00
09: 22: 14.208541 B50382A00 Write-Ack DHW setpoint: 42.00
09: 22: 14.217281 AD0381400 Write-Ack DHW setpoint: 20.00
PS = 1
PS: 1
00000010 / 00000000.8.00.00000011 / 00000011.0.00.0.00.100.00.22 / 20.18.00.0.00.0.00.0.00.0.00.20.77.27
.02.40.20.11.20.27.16.0.00,0.65 / 40.80 / 20.20.00.65.00.00000000 / 00000000.0.0.0.0.0.0.0.0.0.0
OT Monitor points to DHW Setpoint 42 and I understand that it really is 20 (i.e. according to the AD289 schedule)
So I click on OTMonitor in the HEATER "Comfort mode" and I wait tab:
09: 24: 32.105479 Command: HW = 1
09: 24: 32.127918 HW: 1
immediately appears:
T80000200 Read-Data Status: 00000010 00000000
B40000200 Read-Ack Status: 00000010 00000000
after 3 minutes:
09: 27: 08.925691 R80380000 Read-Data DHW setpoint: 0.00
09: 27: 09.002878 BC0382A00 Read-Ack DHW setpoint: 42.00
and next:
09: 35: 34.465210 T10381400 Write-Data DHW setpoint: 20.00
09: 35: 34.468911 R90382A00 Write-Data DHW setpoint: 42.00
09: 35: 34.544747 B50382A00 Write-Ack DHW setpoint: 42.00
09: 35: 34.546221 AD0381400 Write-Ack DHW setpoint: 20.00
the same situation - DHW Setpoint is overwritten with the value from OTMonitor.
When I send the command HW = 0 (Economy mode), it immediately shows up in the logs:
T80000200 Read-Data Status: 00000010 00000000
R00000000 Read-Data Status: 00000000 00000000
BC0000000 Read-Ack Status: 00000000 00000000
A40000200 Read-Ack Status: 00000010 00000000
and that's it

During this time, the Return Water Temperature value did not appear in the communication cycle. Perhaps because it does not change too often when the boiler is not working (please confirm that this value is sent when it changes).
As for DWH Setpoint - how do you get the kitten to adopt the temperature from AD289?
Is it possible to increase the responsiveness of all this communication?
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: OT - understanding

Post by hvxl »

I understand "CH setpoint" as the desired temperature of the water in the central heating system (CS serial command). However, the "Remote Override room setpoint" function affects the "room setpoint" (if supported by the thermostat); the desired temperature of the room where the thermostat is located (TT and TC serial commands). The "Remote Override room setpoint" functionality is achieved by sending information to the thermostat. Because the thermostat is involved in this change, it is allowed to revert it in response to user input (or a schedule change in case of the TT command).

The "DHW Setpoint" on the other hand is a setting in the boiler. It specifies the maximum temperature for tap water (SW serial command). For this command, the OTGW interacts with the boiler, without involvement of the thermostat. Nothing much is supposed to happen until someone uses the hot water tap. The water temperature should then be limited to the configured value. The OTGW stores the modified vale and sends this to the boiler every time the thermostat sends a write command for message ID 56. This way the value isn't quickly overridden by the thermostat (that is unaware of the change). To put the thermostat back in control of the DHW setpoint, send the SW=0 command to the OTGW.

The PS=1 output reports value written by the thermostat or read from the boiler. So, after a MsgID 56 WriteData, the value will be what the thermostat tries to set it to. In your case 20 degrees. After a MsgID ReadData the PS=1 output would show the actual setting in the boiler; 42 degrees. But that doesn't last long because the thermostat issues a new MsgID 56 WriteData command. When you use the PS=1 command, individual messages are no longer reported by the OTGW. This makes the interval information on the statics tab unreliable.

The "Return Water Temperature" is a value of the central heating system again. It has no relation with the DHW setpoint. It is just a measurement of the water temperature that comes back into the boiler after it made its round through the pipes and radiators. This cannot be changed. It will be whatever temperature is measured, either by the boiler or a temperature sensor connected to the OTGW.

The "Thermostat controlled" setting on the Heater tab is in the Comfort Setting section. It only affects the Comfort Setting (the HW serial command). There is no button for clearing the DHW setpoint at the moment. That is an oversight in OTmonitor. You will have to manually issue the SW=0 command.

The Return Water Temperature value appears in the communication when the thermostat requests it. The thermostat is the master in the Opentherm protocol, so it decides what information gets exchanged and when. In theory, the thermostat could lower the frequency it requests the Return Water Temperature value when the boiler is not working, but that would complicate the thermostat firmware code with very little benefits. I am not aware of any thermostat that does this.

There are several thermostats that do not request the Return Water Temperature at all because they don't need it for their control algorithm. Not all boilers provide a Return Water Temperature value, which means that the thermostat needs to be able to work without this information. Having different control algorithms depending on whether the Return Water Temperature value is available would again complicate the firmware for little gain.

If the thermostat doesn't request the Return Water Temperature, or doesn't do it frequently enough in your opinion, you can instruct the OTGW to request it in a free message slot using the AA=28 command.
Schelte
boe666
Starting Member
Starting Member
Posts: 7
Joined: Thu Sep 30, 2021 8:48 am

Re: OT - understanding

Post by boe666 »

Thanks for explanation.
However, I have a number of questions:
1. Does the OTGW have a function to query the boiler for Return Water Temperature? In my case, this value can update every 30-40 minutes - which is too long. By analyzing the logs, I can see that it is possible because OTGW intercepts everything, so it could send a command and receive a response - without communicating with the controller
2. DHW Setpoint.
- I understand that HW is the DW mode of operation?
HW = 0 is economical mode (works according to the Driver Schedule)
HW = 1 is the comfort mode - it works all the time.
HW = ANY - automatic mode, i.e. it should work like WH = 0?
- I understand that SW is a Hot Water setpoint.
- eg SW = 45 means that it is the set value.
- while SW = 0 means that OTGW will not overwrite this value?
To cancel OTGW in the DW control process, two commands must be sent, i.e. SW = 0 and HW = 0 ??? I understand well ??
Could you please explain the logs below?
09: 35: 34.465210 T10381400 Write-Data DHW setpoint: 20.00
09: 35: 34.468911 R90382A00 Write-Data DHW setpoint: 42.00
09: 35: 34.544747 B50382A00 Write-Ack DHW setpoint: 42.00
09: 35: 34.546221 AD0381400 Write-Ack DHW setpoint: 20.00
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: OT - understanding

Post by hvxl »

1. Yes. As I mentioned in my previous post, you can instruct the OTGW to request the Return Water Temperature in a free message slot using the AA=28 command. A message slot is considered free when the thermostat requests a message ID that the OTGW knows the boiler doesn't support.
2. No. There are two different things at play. The HW command is used to tell the boiler whether to keep some amount of water heated, ready for immediate use. HW=0 means not to keep the water heated. HW=1 requests to keep a supply of heated water. HW=ANY lets the thermostat control this option. The SW command sets a parameter in the boiler that controls the maximum temperature of the hot tap water. These commands can be used independently. Of course, when the boiler keeps a supply of preheated water, it will normally be kept at around the configured maximum water temperature.
If you instructed the OTGW to control both settings and you want to revert that, you will have to cancel each setting individually.

As explained on the OTGW web site: "A report consists of a letter indicating whether the message was received from the thermostat ('T') or the boiler ('B'), followed by 8 hexadecimal digits representing the four data bytes of the message. If the gateway changes the message before sending it on, the changed message is also reported on the serial interface. In this case the first letter indicates if the message is a request sent to the boiler ('R'), or a response (answer) returned to the thermostat ('A')."
Applying that knowledge to your log lines reveals that:
  1. The thermostat is sending a WriteData message to set the DHW setpoint of the boiler to 20.
  2. The OTGW changes that command on your request to 42 degrees and forwards it to the boiler.
  3. The boiler confirms that it has set the DHW setpoint to the requested value of 42.
  4. However, since the thermostat asked for 20 degrees, the OTGW can't confirm with a value of 42. That might lead the thermostat to conclude that something went wrong and it could repeat the command indefinitely. So the OTGW changes the value back to what was requested in the acknowledgement it returns to the thermostat.
Schelte
boe666
Starting Member
Starting Member
Posts: 7
Joined: Thu Sep 30, 2021 8:48 am

Re: OT - understanding

Post by boe666 »

Thanks for the precise explanation.
My main point is that, like in DOMOTICZ, I will put something up, but finally I will say that OTGW is to stop controlling anything (i.e. as if it was not there) - I should give the command SW = 0 and HW = 0 - in the case of Hot Water and TT = 0 - in the case of heating.

I use domoticz in my installation. It works on the basis of data received after the PS = 1 instruction and all required parameters are always there. I noticed that the CH Water Presure parameter is given very rarely (once a day) and has quite strange values, e.g. 18BAR or 30 Bar.
This value can also be read more often?

And there is also the issue of logs. Thanks for the explanation, but then we have two data sources. The driver thinks DWH is set to 20 deg. and the boiler is convinced that 42 deg - it heats the water to 42 deg. The command PS = 1 gives the parameters from the boiler or controller?
boe666
Starting Member
Starting Member
Posts: 7
Joined: Thu Sep 30, 2021 8:48 am

Re: OT - understanding

Post by boe666 »

Once again.
if I understood correctly.
I enable PS = 1
I enable GW = 1
The boiler does not heat water (setpint 20, temperature 39.8), nor does it heat the house because the temperatures are approx.
I enable HW = 1
I turn on SW = 45
And nothing happens for a while. DWH Temperature drops below 39.2 and the boiler starts to heat it up. Still DHW Setpoint = 20 after command PS = 1.
I turn off domoticz, turn on OTMonitor, give PS = 0 and wait.
No DWH Temperature or DWH Setpoint data is in the logs - it just isn't.
I'm waiting 5 minit and nothing, still no reading at PS = 0 DWH Setpoint and DWH Temperature, Oddly, Control Setpoint is 21 deg and Boiler water temperature changes and is over 64 deg (this is the temperature in the primary circuit of the boiler and Control Setpoint this seems to me to be the set temperature of this circuit).
After 7 minutes, I have something like this in my logs:
11: 02: 37.916079 T801A0000 Read-Data DHW temperature: 0.00
11: 02: 37.987746 B401A29B3 Read-Ack DHW temperature: 41.70
1: 05: 26.517000 T10381400 Write-Data DHW setpoint: 20.00
11: 05: 26.521434 R10382D00 Write-Data DHW setpoint: 45.00
11: 05: 26.621002 BD0382D00 Write-Ack DHW setpoint: 45.00
11: 05: 26.625143 AD0381400 Write-Ack DHW setpoint: 20.00

I understand that after these 7 minutes communication only appeared, because the boiler started up without any communication. During reheating, I command HW = 0 - the boiler stops working immediately (it does not heat the water). Then after 1 minute I give HW = 1 - the status changes but the boiler does not start. I understand that I will wait a few minutes again before it boots up. However, suddenly the status changes and the heating is turned on, more precisely Cental Heating Mode and Central Heating enable - the burner does not turn on, but the circulation pump. It is 17 deg outside, in room 20.5 and the preset is 20. Temperature in the primary circuit is above 40 deg. - I don't understand why it works like that.
So far, the pump was turned on when the Return Water Temperature dropped below a certain value or the outside temperature - fell below 5 deg - such action is understandable, but with the above parameters - it should not turn on.
With PS = 0, all this time there are no Return Water Temperature parameters. Even though I gave AA = 28 - still neither the driver nor OTGW asks for it. After 8 minutes, the water heating still did not turn on - after issuing PS = 1 DWH Setpoint is 20 deg:
1: 18: 53.125164 T10381400 Write-Data DHW setpoint: 20.00
11: 18: 53.147586 R10382D00 Write-Data DHW setpoint: 45.00
11: 18: 53.165597 BD0382D00 Write-Ack DHW setpoint: 45.00
11: 18: 53.179871 AD0381400 Write-Ack DHW setpoint: 20.00

And still PS = 1 gives DWH Sepoint as 20 deg - and that's what the boiler holds.
Now, if I give HW = 1 and SW = 45 - no boiler response, no communication in this regard.

According to me, in order to have control over it, OTGW has to force certain actions. Ie Eg sequence
GW = 1
HW = 1
SW = 45
it should immediately give the appropriate values ​​at PS = 1, and the boiler should change its status and start heating the water.
If we give
HW = 0 and possibly SW = 0
in PS = 1 the parameters from the controller calendar should appear immediately and the boiler should stop.
This is not how it works.
Moreover, if AA = 28 is active, OTGW should interrogate the boiler and expect a response. Meanwhile, on OTMONITOR for 20 minutes this information did not appear and thus PS = 1 gives this value invalid.
Unless I'm doing something wrong.
In the case of central heating, there is no problem because there is an additional setpoint that supports my boiler and it works very predictably. In the case of DHW, it seems to me that this is a bit of a pointless action - I have no control over it.
Please write where I am making a mistake.
Dedietrich MCR3 T24 boiler, A289 iSense controller.
blb
Member
Member
Posts: 145
Joined: Fri Nov 19, 2010 2:01 pm

Re: OT - understanding

Post by blb »

Hi,
hitchhiking this tread a bit, but also about understanding the OT protocol. I see the modulation value is only set/updated when the boiler is in DHW mode, not in CH mode. I thought this was something strange from my old Daalderop Combifort heater, but I see the same behavour with my new (second hand) Remeha Avanta. My idea was in CH mode the Thermostat is giving the control setpoint to the boiler and the boiler is returning the relative modulation level back in return but that seems not to be the case. Is this expected behavior?
Bernard
boe666
Starting Member
Starting Member
Posts: 7
Joined: Thu Sep 30, 2021 8:48 am

Re: OT - understanding

Post by boe666 »

I think that OTGW is a great project and a great achievement of the goal - a reliable OT protocol sniffer with the ability to interfere with transmissions. But it seems to me that in a situation where OTGW is to be used as a control element - that is, it must be possible to change and read the parameter on request - the author would have to go crazy with the code.

The most interesting thing is that it seems quite possible and the OTGW would be a really good solution.

In my case, I am not able to get CH return water tem. and sometimes even DHW temperature because the controller does not want to ask about it and that's the end of it.

DHW control is simply impossible, and certainly not by "domoticz" which reads parameters from PS = 1.
boe666
Starting Member
Starting Member
Posts: 7
Joined: Thu Sep 30, 2021 8:48 am

Re: OT - understanding

Post by boe666 »

Finally, in my opinion:
OTGW should:
1. Independent of the thermostat, frequent reading of actual parameters (Outside and room temperature, modulation, CH water presure, DHW Temperature, Return water temperature, etc.) and put this in PS = 1 mode - because now data from PS = 1 can be outdated even by Thirty minutes.
2. If SH is set, OTGE should send to the boiler immediately.

The rest of the design and software - GREAT! without any doubt.
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: OT - understanding

Post by hvxl »

I'm sorry, but you seem to have unrealistic expectations for the OTGW. The Opentherm protocol is slow. It exchanges about one piece of information per second. So it takes time to refresh all values. And that is not a big deal. Most things don't change very quickly in a central heating system.

To address your points:
  1. As I have indicated before, you can instruct the OTGW to request certain information more frequently than the thermostat is doing using AA commands.
  2. When SH is set, the OTGW sends it to the boiler at the first possible moment.
If you believe the above is not happening, provide a log (with PS=0).
Schelte
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: OT - understanding

Post by hvxl »

blb wrote:I see the modulation value is only set/updated when the boiler is in DHW mode, not in CH mode.
Same goes for this type of question: Provide a log.

My guess at the moment is that the thermostat has set the Maximum relative modulation level, so the boiler is not supposed to use a higher modulation level. You have to understand that the modulation level is relative. So 0% doesn't mean the heating is off. It just means the minimum possible, while still on. This is frequently used by thermostats to maintain the room temperature.
Schelte
boe666
Starting Member
Starting Member
Posts: 7
Joined: Thu Sep 30, 2021 8:48 am

Re: OT - understanding

Post by boe666 »

hvxl wrote:I'm sorry, but you seem to have unrealistic expectations for the OTGW. The Opentherm protocol is slow. It exchanges about one piece of information per second. So it takes time to refresh all values. And that is not a big deal. Most things don't change very quickly in a central heating system.

To address your points:
  1. As I have indicated before, you can instruct the OTGW to request certain information more frequently than the thermostat is doing using AA commands.
  2. When SH is set, the OTGW sends it to the boiler at the first possible moment.
If you believe the above is not happening, provide a log (with PS=0).
When I look on logs - it isn't slow. Ie. the Maximum relative modulation level is in log every minute, status - every 10 second - but room setpoint or SH Setpoint - one time per hour.
To show You the problem i have to wait for logs from OTGW and my internal sensors (Domoticz)- you will see the delay on the graph.
I can send here 2 hour logs from OTGW but I think it is too much for one post.
Post Reply

Return to “Opentherm Gateway Forum”