Add Alternative OTGW

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

Moderator: hvxl

Add Alternative OTGW

Postby Domotix » Tue Mar 24, 2020 8:41 am

Hi to all,

First of all my compliments for the creator of the OTGW. Very nice job!!

After using the OTGW for a couple of weeks now i am wondering how the whole concept of adding alternatives (AA command) etc. works. There is nothing i can find on fora or on the otgw website itself.

Can anyone explain how this works? How can i add or delete data id's? I would be very greatefull for that. Perhaps someone has a manual off the OTGW?

Kind regards,

René
Domotix
Starting Member
Starting Member
 
Posts: 3
Joined: March 2020

Re: Add Alternative OTGW

Postby hvxl » Tue Mar 24, 2020 6:48 pm

An opentherm bus has a master on one end and a slave on the other end. A thermostat is an opentherm master, a boiler is a slave. The thermostat, being the master, decides which messages to send. The boiler only responds to these messages. It has to give one of four possible types of answers:
  1. Provide the requested information (Read-Ack).
  2. Confirm it will execute the requested action (Write-Ack).
  3. Indicate it is unable to comply at the moment (Data-Invalid).
  4. Indicate that it doesn't support the command (Unknown-DataId).
Now when you add an OTGW into the connection between the thermostat and the boiler, it acts as a slave towards the thermostat and as a master for the boiler. Normally, the OTGW will just pass any message it receives from the thermostat to the boiler, so it can get the requested information and provide an appropriate answer.

Most thermostats are a bit like goldfish and keep sending requests for message IDs three seconds after the boiler has already indicated that it doesn't support that message. The OTGW on the other hand learns that there is no use to keep asking for a message ID when it receives a response from the boiler that it doesn't support that certain message.

Whenever the thermostat asks again for such a message ID, the OTGW can use this slot to request some other information from the boiler. It will still respond to the thermostat that the message is not supported. But in the mean time it can get some useful information from the boiler. The message that the OTGW sends instead of the message requested by the thermostat is called an alternative.

Initially, the OTGW has a list of alternative messages it will send in the available slots. You can add others using the AA command. You can also add the same message ID multiple times to increase the frequency it is going to be used to fill a slot. The initial list is: 116, 117, 118, 119, 120, 121, 122, 123.

As you may have noticed, you only specify a message ID and no data value. The OTGW will send the message ID as a Read-Data request, with a data value of 0. This means this feature can really only be used to obtain information from the boiler. For controlling the boiler, other commands are available.

The OTGW can store up to 32 alternative message IDs. If you try to add more than that, the OTGW will respond with NS (No Space Left). You will have to delete one or more alternatives before you can add another.

The alternative messages are stored in EEPROM, so they will survive a reset and even a power cycle. This means that you should normally only add an alternative once. Don't keep adding the same alternative message ID in a loop. That will cause the OTGW to run out of space for alternatives quickly.

From the above description you will hopefully understand that the alternatives feature works on the opentherm connection between the OTGW and the boiler. It cannot help to obtain information from the thermostat, like the room temperature or setpoint. In fact, there is no way to request such information from the thermostat. The thermostat is the master, so it does exactly what it wants and doesn't take requests from the slave.

If your thermostat doesn't offer certain information, there is little you can do about it, other than getting another thermostat. This is the purpose of the equipment matrix. It shows which messages different thermostats use so you can make an informed choice when picking a thermostat.
Schelte
hvxl
Senior Member
Senior Member
 
Posts: 1277
Joined: June 2010

Re: Add Alternative OTGW

Postby Domotix » Tue Mar 24, 2020 10:50 pm

Dear Schelte,

Thank you very much for your explanation. It explains a lot. Is there a way to see which slots are used and which data-ID they contain?

Kind regards and thanks again for your time.
Domotix
Starting Member
Starting Member
 
Posts: 3
Joined: March 2020

Re: Add Alternative OTGW

Postby hvxl » Tue Mar 24, 2020 11:46 pm

You can deduce which alternative messages are defined by looking at 'R' messages in the log. Available space in the PIC is very scarce and I don't think it should be wasted on commands to dump the defined alternatives. I expect people add alternative messages for a reason, so they will know what they added.

Currently the only actual way to get the list of defined alternatives is to reflash the firmware with the "Transfer old EEPROM settings to the new firmware" option checked. After the "upgrade" completes, a button appears that you can click to see which EEPROM settings were transferred. This includes the alternative messages. Obviously this is not something that you want to do frequently.
Schelte
hvxl
Senior Member
Senior Member
 
Posts: 1277
Joined: June 2010

Re: Add Alternative OTGW

Postby Domotix » Wed Mar 25, 2020 3:17 pm

Thanks again.

Kind regards,
René
Domotix
Starting Member
Starting Member
 
Posts: 3
Joined: March 2020


Return to Opentherm Gateway Forum

Who is online

Users browsing this forum: No registered users and 1 guest