Replies: 8 comments 25 replies
-
An alternative scheme, which I think would be really useful for AC units with extremely poor self-regulation would be something like the logic below. Would you consider adding a mode like this? Or maybe adding parameters to the expert regulation such that this could be achieved with the right parameter choice? Thanks again for a great extension.
|
Beta Was this translation helpful? Give feedback.
-
You can see the issue graphically below. See that the VTherm target in yellow does a good job of ramping up high to force the heating on, which then drags the room temperature (red) up to the desired temperature (green). However, see what happens at around 16:50, the desired temperature is reached so VTherm reduces the target to the underlying in yellow but because of the poor regulation of the underlying AC system it's not low enough because it fires up again (see blue line which is temperature of the actual AC) even though it's over target. |
Beta Was this translation helpful? Give feedback.
-
Thanks very much for the reply @jmcollin78. You are right in that the self-regulation generally does converge after it's up to temperature, but it can take quite a while because the underlying continually fires up every ten minutes or so which sends the temperature above target but eventually the integrated error accumulates high enough to force the target low enough to keep the heating off. I suppose my fundamental question is why is the "use internal temperature" option asymmetric, i.e. why does it act to force heating but not act in the opposite way to prevent heating? The internal regulation of my underlying is equally bad in both directions sadly! I did consider specifying it as a switch as you suggest (after all it really is a binary device, i.e. so-called bang-bang control in essence, just through the added complication of the temperature targets) but I couldn't work out how to achieve the other features you get with the climate control - most importantly getting the units to actually turn on and off when needed, either manually or by scheduler. |
Beta Was this translation helpful? Give feedback.
-
Here's an example of the behaviour I mean. Here you can see that the room temperature (red) goes over target (green), with the internal temperature (blue) showing that the unit is still periodically firing out heat even though the regulated temperature (yellow) from VTherm is below target. You can see that over a period of three hours or so, the integrated error eventually drives the regulated temperature (yellow) low enough that it forces the heating off so the self regulation does work, it's just it would work much more efficiently if it sent a lower target to force the heating off sooner so it didn't rely on the error integration to force the target low enough. |
Beta Was this translation helpful? Give feedback.
-
I'm wondering if something is actually wrong. See the plot below where I've used the same colour scheme as previously but I've added the regulated temperature as provided by VTherm in purple. I was expecting this to match the yellow which is the actual target reported by the underlying. Have I misunderstood or is something actually wrong here? |
Beta Was this translation helpful? Give feedback.
-
Here's another example of the same thing. The regulated temperature (purple) looks very sensible but it doesn't translate through to the actual target sent to the underlying (yellow) because the internal temperature offset just can't cope with the fast swings in the underlying temperature so it ends up still pumping out heat and overshooting even it's well above target and the regulated temperature well below. Possible solutions I can think of are:
I'd love your input @jmcollin78 and if it helps convince you that (4) would be a worthwhile addition to your great integration then I'd be very willing to make a decent donation! |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
Ok, I've done some initial playing with some fairly encouraging and interesting results. One thing to note, is that in order for VTherm to correctly update the expert parameters in the configuration.yaml, it seems to require a complete restart of Home Assistant - neither reloading the yaml, nor reloading the VTherm integration seems to do it. I don't know whether this is expected, or is specific to my setup - I'm running in docker if that makes any difference to anything. Anyway, I've turned the internal temperature compensation off as you suggested because it's clear that it can't cope with the big and frequent swings in my units internal temperature which was causing the overshoot we saw previously. This means that I have to rely on very big gain in the self-regulation to force my units to reliably either heat or not heat to overcome the big swings in internal temperature. My initial experiment at this has been to simply set the kp value to 5.0(!). This actually works quite well as you see below. When the heating comes on at 8am, the error is big enough to basically force the unit to constantly heat to quickly get to target by about 0830. It then keeps it quite well at target, although it does involve quite big swings in the regulated temperature to do so and with some oscillation. This is much better than it was as it is able to quickly get to target and not overshoot too much. I do still think adding a 'threshold' parameter to the expert regulation such that it doesn't update the regulated temperature when it's within +/-threshold of target might be a valuable addition as it would enable high gains without swinging around when close to target which would reduce the frequency of the heating cycle and therefore maybe increase efficiency and reduce wear on the heating units. |
Beta Was this translation helpful? Give feedback.
-
Firstly, thank you for making such an excellent thermostat integration. I have aircon units but the internal temperature control is terrible, so your integration is extremely useful.
I have checked the option to use the internal temperature of the units to 'force' heating when it is required which solves the problem of the internal temperature sensor heating up and turning off the heat even though room temperature is below target. However, the internal control of the unit is so bad that I also have the same issue in the other direction, i.e. when not calling for heat. For example, the target temperature is 20, the room temperature is 21 so VTherm sends a target to the unit of 20 or similar but the unit starts heating anyway! Is there a setting to somehow fix this, i.e. send a very low temperature when no heating is required to prevent erroneous heating?
Maybe one way to do it would be to have an option to treat the control over climate more like a switch and just specify a very high target number (e.g. 30) when VTherm detects heat is needed and another very low target (e.g. 6) when heat is not needed just to guarantee the unit is in the right state?
Beta Was this translation helpful? Give feedback.
All reactions