Evohome + Opentherm + Viessmann Vitodens 100

Anything to do with OpenTherm and Honeywell Home products in here! *PLEASE NOTE* Official Resideo technical support is on 0300 130 1299.
Bart
Posts: 92
Joined: Thu Dec 28, 2017 12:18 pm

Re: Evohome + Opentherm + Viessmann Vitodens 100

Post by Bart »

The alernative to opentherm (in case you find it incompatible for your needs) for the viessmann is using TPI, you can add an external sensor for weather compensation as well. Then you can set the maximum flow temp.
User avatar
Richard
Site Admin
Posts: 1192
Joined: Fri Jun 10, 2016 4:08 pm
Location: Mid Wales
Contact:

Re: Evohome + Opentherm + Viessmann Vitodens 100

Post by Richard »

Bart wrote:The alernative to opentherm (in case you find it incompatible for your needs) for the viessmann is using TPI, you can add an external sensor for weather compensation as well. Then you can set the maximum flow temp.
Like I said, W/C Hybrid... ;) :lol:
Home: 2012 Built Oak & Timber Frame Home (EPC Score 95 - A Rated)
Renewable Tech: GSHP, Solar Thermal, Solar PV & 20kWh Battery Storage
Smart Home Platform: Home Assistant, Shelly & Salus Smart Home
Bart
Posts: 92
Joined: Thu Dec 28, 2017 12:18 pm

Re: Evohome + Opentherm + Viessmann Vitodens 100

Post by Bart »

:)
Bart
Posts: 92
Joined: Thu Dec 28, 2017 12:18 pm

Re: Evohome + Opentherm + Viessmann Vitodens 100

Post by Bart »

So Santa brought me an OpenTherm Gateway.
I just hooked it up, got a log, here is a part:

Code: Select all

21:40:25.129902  B40383C00  Read-Ack    DHW setpoint: 60.00
21:40:25.448776  T00395000  Read-Data   Max CH water setpoint: 80.00
21:40:25.768885  BC0395000  Read-Ack    Max CH water setpoint: 80.00
21:40:25.992856  T900E6400  Write-Data  Maximum relative modulation level: 100.00
21:40:26.264841  B500E6400  Write-Ack   Maximum relative modulation level: 100.00
21:40:26.520947  T00000300  Read-Data   Status: 00000011 00000000
21:40:26.776873  B40000304  Read-Ack    Status: 00000011 00000100
21:40:27.064935  T00050000  Read-Data   Application-specific flags: 00000000 0
21:40:27.288930  BC0050000  Read-Ack    Application-specific flags: 00000000 0
21:40:27.608848  T80190000  Read-Data   Boiler water temperature: 0.00
21:40:27.928853  BC0193FE6  Read-Ack    Boiler water temperature: 63.90
21:40:28.152854  T10014800  Write-Data  Control setpoint: 72.00
21:40:28.440875  BD0014800  Write-Ack   Control setpoint: 72.00
21:40:28.696879  T90181400  Write-Data  Room temperature: 20.00
21:40:28.952983  BF0180000  Unk-DataId  Room temperature: 0.00
21:40:29.224967  T10101400  Write-Data  Room setpoint: 20.00
21:40:29.465057  B70100000  Unk-DataId  Room setpoint: 0.00
21:40:29.480936  AD0100000  Write-Ack   Room setpoint: 0.00
21:40:29.768982  T801C0000  Read-Data   Return water temperature: 0.00
21:40:30.104948  B701C0000  Unk-DataId  Return water temperature: 0.00
21:40:30.313042  T00050000  Read-Data   Application-specific flags: 00000000 0
21:40:30.601009  BC0050000  Read-Ack    Application-specific flags: 00000000 0
21:40:30.856949  T80190000  Read-Data   Boiler water temperature: 0.00
21:40:31.113050  BC0193B4D  Read-Ack    Boiler water temperature: 59.30
21:40:31.399993  T10014800  Write-Data  Control setpoint: 72.00
21:40:31.624133  BD0014800  Write-Ack   Control setpoint: 72.00
21:40:31.928066  T00110000  Read-Data   Relative modulation level: 0.00
21:40:32.264075  BC0110000  Read-Ack    Relative modulation level: 0.00
21:40:32.472062  T00090000  Read-Data   Remote override room setpoint: 0.00
21:40:32.776048  BF0090000  Unk-DataId  Remote override room setpoint: 0.00
21:40:32.778052  AC0090000  Read-Ack    Remote override room setpoint: 0.00
21:40:33.016062  T801A0000  Read-Data   DHW temperature: 0.00
21:40:33.288121  B401A3500  Read-Ack    DHW temperature: 53.00
21:40:33.560131  T001B0000  Read-Data   Outside temperature: 0.00
21:40:33.784066  BC01BFAE7  Read-Ack    Outside temperature: -5.10
21:40:34.104130  T80130000  Read-Data   DHW flow rate: 0.00
21:40:34.424195  B70130000  Unk-DataId  DHW flow rate: 0.00
21:40:34.648208  T00120000  Read-Data   CH water pressure: 0.00
21:40:34.936108  BF0120000  Unk-DataId  CH water pressure: 0.00
21:40:35.176169  T00000300  Read-Data   Status: 00000011 00000000
21:40:35.432173  B40000304  Read-Ack    Status: 00000011 00000100
21:40:35.720243  T00050000  Read-Data   Application-specific flags: 00000000 0
21:40:35.960129  BC0050000  Read-Ack    Application-specific flags: 00000000 0
21:40:36.264135  T80190000  Read-Data   Boiler water temperature: 0.00
21:40:36.584169  B40193366  Read-Ack    Boiler water temperature: 51.40
21:40:36.792228  T10014800  Write-Data  Control setpoint: 72.00
21:40:37.095167  BD0014800  Write-Ack   Control setpoint: 72.00
And quick GUI pic at a different time:
Image
So the boiler indeed seems to send a 80 degree reply to the max CH temperature request. I am not sure why the request also has a parameter showing 80 degrees, I have to dig in the protocol probably in order to explain it to myself.
The gateway app has an option for CH max tempetarure override, but I far I understand and see (not) work it would only override this setpoint when the boiler would request it from the thermostat. I need to find out if I can somehow send a setpoint to the boiler so I can reduce it to something below 80, or how to intercept the response from the boiler and send it to the thermostat with an altered value.
Stulin
Posts: 15
Joined: Sun Jul 15, 2018 9:59 am

Re: Evohome + Opentherm + Viessmann Vitodens 100

Post by Stulin »

Bart wrote: So the boiler indeed seems to send a 80 degree reply to the max CH temperature request. I am not sure why the request also has a parameter showing 80 degrees, I have to dig in the protocol probably in order to explain it to myself.
The gateway app has an option for CH max tempetarure override, but I far I understand and see (not) work it would only override this setpoint when the boiler would request it from the thermostat. I need to find out if I can somehow send a setpoint to the boiler so I can reduce it to something below 80, or how to intercept the response from the boiler and send it to the thermostat with an altered value.
Cool! Let us know how you get on. I’ve still to hook up my gateway.
Bart
Posts: 92
Joined: Thu Dec 28, 2017 12:18 pm

Re: Evohome + Opentherm + Viessmann Vitodens 100

Post by Bart »

Looking at the gateway firmware info page on http://otgw.tclcode.com/firmware.html#cmdsr
and the opentherm protocol as found on https://www.domoticaforum.eu/uploaded/A ... 20v2-2.pdf
sending SR=57:65 to the gateway might do the trick to limit CH to 65 degrees. I'll give that a try this evening.
User avatar
Richard
Site Admin
Posts: 1192
Joined: Fri Jun 10, 2016 4:08 pm
Location: Mid Wales
Contact:

Re: Evohome + Opentherm + Viessmann Vitodens 100

Post by Richard »

I have a gateway I use here... Nice little device! 8-)
Home: 2012 Built Oak & Timber Frame Home (EPC Score 95 - A Rated)
Renewable Tech: GSHP, Solar Thermal, Solar PV & 20kWh Battery Storage
Smart Home Platform: Home Assistant, Shelly & Salus Smart Home
Bart
Posts: 92
Joined: Thu Dec 28, 2017 12:18 pm

Re: Evohome + Opentherm + Viessmann Vitodens 100

Post by Bart »

Well no luck yet.
Something has caught my attention. So if I use the SR= reply override command on boiler water temperature (25 decimal, 0x19 hex) to return 50 instead of the real temperature, I see this:

Code: Select all

20:26:26.664795  Command: SR=25:50,00
20:26:26.697977  SR: 25:50/0
...
...
20:26:27.913974  T80190000  Read-Data   Boiler water temperature: 0.00
20:26:28.153970  B40194800  Read-Ack    Boiler water temperature: 72.00
20:26:28.359161  AC0193200  Read-Ack    Boiler water temperature: 50.00
Which is pretty much as expected - the boiler responds with 72 but 50 is send to the thermostat.
But when I try to override the CH max setpoint (57 decimal, 0x39 hex)I get this:

Code: Select all

20:27:15.858871  Command: SR=57:50,00
20:27:15.889538  SR: 57:50/0
...
...
20:27:23.040597  T00395000  Read-Data   Max CH water setpoint: 80.00
20:27:23.280629  BC0395000  Read-Ack    Max CH water setpoint: 80.00
So for command #57 the override is not working. What bothers me is that in this case the thermostat adds a parameter to the read data command of hex 0x50 0x00, which translates to 80,00. This possibly causes the request to bypass the gateway filter, but I wonder why the thermostat includes this parameter in a read request anyway.
As seen above, when requesting the boiler temperature the parameter is 0x00 0x00.

Any idea to what is going on here?
Bart
Posts: 92
Joined: Thu Dec 28, 2017 12:18 pm

Re: Evohome + Opentherm + Viessmann Vitodens 100

Post by Bart »

I've donwloaded the code for the gateway, it seems to have different treatment of the #57 message vs #25 that might explain why it is still passed trough the gateway instead of using the override. But my understanding of assembly is a bit rusty.
Once I can build the code (the included build commands are for an older version of the microchip pic compiler) I'll try to make a custom firmware that will override #57 as well if required when the read data request is coming from the thermostat.
I still don't understand though why Honeywell sends out the read data for #57 with a non-zero value, the thermostat does this even after cold boot. Opentherm states that:
READ-DATA (DATA-ID, DATA-VALUE)
The master is requesting a data value, specified by the data identifier, from the slave. The message type sent
by the master is ‘Read-Data’, as shown above. Typically no data-value is sent and a value of 0x0000 will be
used, but in some circumstances the master may, although it is requesting a value from the slave, also send
a value to the slave with this message e.g. for data-verification. This is defined by the OT/+ Application Layer
protocol.
So I guess it is up to the boiler to interpret this value.

It would be interesting to see Honeywell's motivation for this.
Last edited by Bart on Wed Jan 09, 2019 9:13 am, edited 1 time in total.
Bart
Posts: 92
Joined: Thu Dec 28, 2017 12:18 pm

Re: Evohome + Opentherm + Viessmann Vitodens 100

Post by Bart »

The EVOHOME Shop wrote:I have a gateway I use here... Nice little device! 8-)
Do you happen to have a log with a non-viessmann that you can share? Especially regarding the #57 commands.
Post Reply