Unable to set Max CH water Setpoint

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

Moderator: hvxl

Post Reply
sorinco
Starting Member
Starting Member
Posts: 5
Joined: Wed Jan 05, 2022 5:10 pm

Unable to set Max CH water Setpoint

Post by sorinco »

Hello,
After setting the Max CH water Setpoint to a certain value (using SH=X) I am not allowed to set it again to a greater value than the current one (for example SH=X+1). Response from gateway is BV(Bad Value)
I am only allowed to set to a value less than the current one (for example SH=X-1).

In the meantime I am allowed to set CS to any value, including greater than SH.
Is this the desired behaviour?
Firmware version is 5.2.
Boiler is Viessman Vitodens 100-W (B1HC), if this is relevant, but I have the impression that the check is performed locally on the gateway and the command is not forwarded to the boiler.
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Unable to set Max CH water Setpoint

Post by hvxl »

I thought it would be obvious that a question like this should be accompanied by a log. Otherwise I can only guess. I'm not going to.
Schelte
sorinco
Starting Member
Starting Member
Posts: 5
Joined: Wed Jan 05, 2022 5:10 pm

Re: Unable to set Max CH water Setpoint

Post by sorinco »

I have attached a log file.

Some relevant timestamps are:
22:08:29.777034 SH: BV
22:08:45.794170 SH: 40.00
22:09:08.778660 SH: BV
22:09:18.776860 SH: BV

where I have issued the following commands:
SH=50
SH=40
SH=44
SH=43

If necessary I can also provide additional information or issue custom commands.
Thank you!
Attachments
otlog-20220107.txt.tgz
(10 KiB) Downloaded 120 times
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Unable to set Max CH water Setpoint

Post by hvxl »

Your boiler is telling the OTGW that it is not allowed to set the max CH water setpoint any higher:

Code: Select all

22:11:39.126642  R80310000  Read-Data   Max CH setpoint boundaries (MsgID=49): 0 0
22:11:39.332021  B40312814  Read-Ack    Max CH setpoint boundaries (MsgID=49): 40 20
The "Max CH water setpoint" is a remote boiler parameter. The opentherm spec says the following about these parameters: "Each remote-boiler-parameter has a upper- and lower-bound (max and min values) which the master should read from the slave in order to make sure they are not set outside the valid range". The OTGW follows this requirement, but your boiler manufacturer seems to have misinterpreted the spec.

It is probably going to be difficult to get Viessman to fix their bug. As an alternative you can try to issue the UI=49 command. That may stop the OTGW from requesting the limits and thus from learning the incorrect information. But maybe it doesn't, because MsgID 6 indicates that the boiler provides the information. I don't remember which one takes precedence. So, you may also have to block MsgID 6. Then reset the OTGW to make it forget the old data.
Schelte
sorinco
Starting Member
Starting Member
Posts: 5
Joined: Wed Jan 05, 2022 5:10 pm

Re: Unable to set Max CH water Setpoint

Post by sorinco »

I have issued the suggested commands (UI=49, UI=6 and also DA=49, DA=6) but the behaviour is the same.
From the log it seems that MsgID=6 is still requested once, but MsgID=47 is not there any more.
I am able to use SH=X only just after I perform a gateway reset (GW=R), afterwards it is only possible to set it to lower values than the current one.

Maybe if there are better approaches, the use case is the following:
1. use the gateway with an On/Off thermostat
2. perform outside temperature compensation using the gateway (because the boiler gradient is fixed at 1.4 and I cannot adjust it)
First I have tried to control the boiler using CS=X (and SH=Y as an upper bound) but realised soon that CS also enables CH regardless of the state of the thermostat terminals, then switched to SH=X.
Would it be possible to use CS=X but with CH reflecting the state of the thermostat terminals?
Attachments
otlog-20220109.txt.tgz
(8.03 KiB) Downloaded 117 times
hvxl
Senior Member
Senior Member
Posts: 1965
Joined: Sat Jun 05, 2010 11:59 am
Contact:

Re: Unable to set Max CH water Setpoint

Post by hvxl »

I was afraid that might happen. The OTGW requests MsgID 6 after a reset without checking the unknown data ID list. When that comes back indicating that the max CH setpoint remote parameter is supported, it requests MsgID 49. Again, without checking the unknown data ID list. So you get both messages once. But after that, it doesn't request them again.

This means that, contrary to what you claim, the behavior should actually be different. The response to MsgID 49 is 46/20. That will be the range that the OTGW accepts from then on. If you issue an SH=42 command, you should then later be able to successfully run an SH=45 command.

I don't know which SH values you tried. This should normally be reported in the logs, but you must have bypassed OTmonitor when running those commands. My guess is those were all values above 46, except for the SH=45 command that succeeded.

To get the full range back, you can do the following:
  • Reset the OTGW
  • Within a few seconds, issue a SH=80 command (or whatever is the real maximum CH setpoint the boiler supports).
  • Wait until you see the following MsgIDs in the log:
    • 49 (returning the old boundaries)
    • 57 (setting the max CH setpoint to 80)
  • Reset the OTGW again
  • The OTGW will repeat the requests for MsgID 6 and 49
  • This time the boiler should respond to MsgID 49 with a range of 80/20
  • You are then free to repeatedly set the max CH setpoint anywhere between 20 and 80
The only problem is that the range will be limited to the last setpoint again if the OTGW resets for any reason. So be careful with that.
Schelte
sorinco
Starting Member
Starting Member
Posts: 5
Joined: Wed Jan 05, 2022 5:10 pm

Re: Unable to set Max CH water Setpoint

Post by sorinco »

Thank you very much for providing all the details. I confirm that using this workaround it works now.
A similar problem, also related to a Viessmann boiler, is discussed here: viewtopic.php?f=75&t=12647
sorinco
Starting Member
Starting Member
Posts: 5
Joined: Wed Jan 05, 2022 5:10 pm

Re: Unable to set Max CH water Setpoint

Post by sorinco »

For the moment I have also performed a change in the code in order to ignore the 'max CHsetp upp-bnd' reported by the boiler in MessageId49 and set it to a hardcoded value.

Code: Select all

;Keep track of the boundaries for central heating reported by the boiler
MessageID49     btfss   MsgResponse
                return
                bcf     InitHeating     ;Received Heating Boundaries response
                btfsc   byte1,5         ;DataInvalid Or UnknownDataID?
                goto    WordResponse    ;Ignore bad responses
;               movfw   byte3
                movlw   MAX_CHSETPOINT
                movwf   chsetpointmax   ;Remember upper boundary
                movfw   byte4
                movwf   chsetpointmin   ;Remember lower boundary
                goto    WordResponse
Post Reply

Return to “Opentherm Gateway Forum”