Evohome + Opentherm + Viessmann Vitodens 100
Re: Evohome + Opentherm + Viessmann Vitodens 100
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.
Re: Evohome + Opentherm + Viessmann Vitodens 100
Like I said, W/C Hybrid...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.
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
Renewable Tech: GSHP, Solar Thermal, Solar PV & 20kWh Battery Storage
Smart Home Platform: Home Assistant, Shelly & Salus Smart Home
Re: Evohome + Opentherm + Viessmann Vitodens 100
So Santa brought me an OpenTherm Gateway.
I just hooked it up, got a log, here is a part:
And quick GUI pic at a different time:
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.
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
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.
Re: Evohome + Opentherm + Viessmann Vitodens 100
Cool! Let us know how you get on. I’ve still to hook up my gateway.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.
Re: Evohome + Opentherm + Viessmann Vitodens 100
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.
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.
Re: Evohome + Opentherm + Viessmann Vitodens 100
I have a gateway I use here... Nice little device!
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
Renewable Tech: GSHP, Solar Thermal, Solar PV & 20kWh Battery Storage
Smart Home Platform: Home Assistant, Shelly & Salus Smart Home
Re: Evohome + Opentherm + Viessmann Vitodens 100
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:
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:
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?
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
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
As seen above, when requesting the boiler temperature the parameter is 0x00 0x00.
Any idea to what is going on here?
Re: Evohome + Opentherm + Viessmann Vitodens 100
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:
It would be interesting to see Honeywell's motivation for this.
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:
So I guess it is up to the boiler to interpret this value.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.
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.
Re: Evohome + Opentherm + Viessmann Vitodens 100
Do you happen to have a log with a non-viessmann that you can share? Especially regarding the #57 commands.The EVOHOME Shop wrote:I have a gateway I use here... Nice little device!