-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ideal Logic Heat2 H18: Can enable/disable heating but unable to set heating temperature #87
Comments
Hi,
Most likely yes.
Typically, boilers respond with INVALID status to ID 1 request, or the setpoint temperature does not actually change and heating cannot be turned on/off. That is, you can read parameters, but not write them.
Most likely yes.
0x2800 = 10240 (dec) upd: Did you check the settings in the service menu? Perhaps you have weather-compensated control mode (curves) enabled? |
Thanks for your quick response. Good to know that the first hurdle of master member ID is most likely OK since I can turn on and off heating and ID
Of course, my mistake - thanks for clarifying. Both equitherm and PID are disabled - I left most settings at their default, other than adding MQTT, outdoor and indoor sensor support, and disabling 'DHW present'. I had previously tried toggling that and didn't see a difference. I'm confused as to why the boiler would accept the new target temperature but not update the LCD display and not attempt to use the new target temperature. |
I meant the settings in the boiler service menu. Look at this: If you have the curve mode enabled on the boiler, the boiler operates in a different mode and it expects the room temperature setting, not the coolant temperature setting.
In fact, this is normal; when connecting opentherm devices, the setpoint temperature is usually not displayed and does not change on the boiler display. |
Weather compensation is automatically enabled/disabled on the detection of an external sensor on the weather compensation boiler terminals (see the weather compensation kit installation manual) so I can't change it via the service menu.
That's surprising to me - now I know not to use that as a guide. My expectation was that if I set to the target heating temperature to, e.g. 40 °C with a current heating temp of 28 °C, then the boiler would fire up to 40 (with some overshoot) then hold this new temperature, meaning in the gateway UI I should see 'Heating temp' showing this behaviour, and I should see/hear the boiler firing to meet the new target. Is that correct? I'll do some more observations on 'heating temp' while setting different target temperatures and report back with the log data. |
Okay, do you have an external sensor connected?
Yes, the boiler should start heating and maintain the setpoint temperature, but the boiler display may not change the setpoint temperature. |
Sorry, I should've mentioned (that's the problem with your head deep inside a task): no, I don't have an external sensor connected. |
Then this is really strange :) |
Is the physical temperature knob turned to at least the temperature you require? I have an ideal logic h24 and the physical knob always takes priority over what opentherm requests. |
Oo, no, I had the knob set to 30 °C, thinking OpenTherm would be able to override whatever it's set to. Is it common for boilers to behave like that? Did you discover this by chance? |
I saw similar behavior on the Bosch Gaz 6000. The temperature set on the boiler panel was the maximum temperature that could be set via Opentherm. |
I did indeed 🫠 good luck 🤞 |
I just tested turning the boiler's own target temperature up to 80 °C via the physical knob, then set a few target temperatures via OpenTherm and I'm pleased to say that it's now working as expected, so a big thank you to both of you for your help in getting it working! 😄 A lot of useful information has come out of this investigation which I couldn't find documented anywhere in the Wiki:
What is your policy regarding Wiki edits? I'd be happy to add the information above to the FAQs page if that's OK. I think it may help others who face this confusing situation and prevent some simple issues like this from being raised. I'd also like to update the boiler compatibility list for my boiler (if added, that would mean 3 Ideal boilers in 'Other' so maybe at that point it would be worth having an 'Ideal' section?). Also, I have an external pump and would like to be able to drive it via a Shelly relay and HA's Shelly integration, rather than having some GPIO>Bluetooth transmitter to HA, but that means I need the external pump GPIO state published over MQTT and I couldn't find it in any of the entity lists (I have it enabled on the gateway). Am I right in assuming that the state currently isn't published? I do wonder if the 5+ sec delay via MQTT>HA>relay activation might be too slow for the boiler and throw a fault due to heating on but no flow (I saw this happen sometimes during my testing if I had the pump disabled and heating on). |
I'll be glad if you do it :)
You can turn on an external pump by the event of turning on the |
Congratulations 🥳 we have very similar boiler model, you might also find my “wiki” useful Alexwijn/SAT#40 |
In fact, it seems we also have a very similar house configuration (S plan, two CH zones, one hot water cylinder). |
Yes, it’s that firmware. There is more ongoing development if you read around ESPhome, SAT and adapters like yours. All these projects including this one are wonderful. They all take our heating systems to the next level! 🥰 |
I have made the wiki available for editing. If you're still ready - welcome. |
Great, thanks. I've been busy today and yesterday so I planned to make the edits tomorrow when I should have some time. |
The Wiki edits are all done on the Compatibility and FAQ pages so at least I've been able to give something small back 😄 One last question (which may end up with another FAQ contribution...): it looks like I can enable both PID and equitherm simultaneously but are they opposing concepts or can they work in parallel? Am I right in thinking that the K and T equitherm coefficients apply a level of PID-like behaviour by modifying the curve to account for steady-state error if I choose a target temperature other than 20 °C (in the case of K, behaving like an integral term), and for response time (in the case of T, behaving like a derivative term)? My house is only 2 years old and supposedly very energy-efficient, yet I found that with heating target set to 20 °C, N=1.0 is required to keep the temperature at 20 ± 0.5 °C (though I do keep window trickle vents open which will presumably account for some heat loss), whereas I was expecting closer to 0.7 or less as your description suggests. All radiator TRVs are set to ~22 °C and zone thermostats to 23 °C, ensuring that the pump and radiators are all running constantly without restriction. It's no big problem but it is curious to me. Oh, and I couldn't find a description for how turbo mode for heating works. |
Thank you for your contribution! :) Equitherm and PID actually work differently:
When using both modes, PID replaces the correction for the thermostat error (coefficient T). Using PID and Equitherm together is justified when you have a large air exchange: a powerful exhaust hood or you often open windows in winter. Equitherm cannot predict this and in this case Equitherm+PID will help maintain the setpoint. The influence of PID on the calculated temperature from Equitherm can be limited by the PID max temperature parameter. Example:
The coefficients for Equitherm are selected empirically, since there are many factors that can affect heat loss in a house. Therefore, it cannot be said that a larger curve coefficient is bad.
Turbo mode is only relevant when using only Equitherm, it simply temporarily increases the T coefficient to 10. |
Hi,
Problem
I have an Ideal Logic Heat2 H18 heat-only boiler and, with the default settings, I am able to enable and disable the heating but am unable to change the target heating temperature; the target temperature shown on the boiler LCD display never changes and it fires only up to the displayed temperature rather than the one requested via the UI.
I see that very few sensor parameters are populated, with most remaining at zero (modulation, fault and diagnostic codes, heating temp and return temp, flame and fault are the only parameters which I have seen to change during operation).
I'm running on a Wemos C3 mini using Ihor Melnyk's OpenTherm adapter.
Investigation
System:
OpenTherm diagnostic reports the following:
I've tried several different Master MemberID codes (from 0 to 15: restart after each change, enable heating, change target temperature in the UI, wait for 1 minute then check temperature reported on boiler LCD display) with no success in changing the target temperature. I've also tried every combination of Summer/winter mode, Heating CH2 always enabled, and duplicate heating CH1 to CH2, again restarting after each change. Currently, only 'heating CH2 always enabled' is checked and Master MemberID code is set to
0
.With heating enabled, the following regular traces are seen via Telnet (I have DHW disabled because it's a heat-only boiler):
When sending a new target temperature request via the UI, the following Telnet traces are seen:
Questions
SUCCESS
for ID1
indicate that the boiler in theory accepted the new target temperature?1
should be formattedf8.8
according to the spec but, with a target of 40 °C, I can't work out how0x10012800
corresponds with that - I assumed it would be40 << 8 = 0x10240
.At the moment I'm not sure how to diagnose the issue further so would appreciate any help you can provide.
Thanks in advance for your help - I'm very excited to get this working and appreciate all the hard work done by everyone on this project!
The text was updated successfully, but these errors were encountered: