Repository navigation
Replies: 6 comments 8 replies
|
Hi Shane — thank you for writing this up so carefully, and for the kind words. This is exactly the shape I was hoping someone would arrive at. You've read both On the other half being resolved in the integration: I'd rather it wasn't, and I What I would like to do is give it a home. I've just added a Converting it isn't quite mechanical, so here's what it would actually involve —
Three things I noticed reading it, all small:
One upgrade note: And yes please to the testing offer — four heads on one outdoor unit is a system I |
|
Yes. I agree. Thank you — that is a much better home than a gist. I am happy for you to add my name. In case you missed it, I made the gist more simple after your review, and this changes your items 1 and 2. There is now one automation only. The watchdog and the Please do the conversion. I am a web developer, but I have not written a blueprint. I would only guess at the correct method. On the fleet list, I cannot advise you and have no opinion on slots against automatic selection. Please choose. One thing from my system may help decide... If a head loses its judge sensor, it stops voting. The automation then finds no conflict and stays quiet. That looks exactly the same as "there is no lockout" — the room becomes uncomfortable slowly, and no person thinks the automation is the cause. So whichever method you use, it is better if a head with missing sensors is reported and not ignored. An observation on AUTO, as an aside I am testing how AUTO behaves at the ends of its range. It appears to apply a fixed band around the set point. With the set point at 22 °C:
That is 1.5 °C of hysteresis on each side of the set point. I have an external temperature source configured, with Overshoot Cool at 2 and Overshoot Heat at 1. I cannot yet see a difference from the default values? I would guess a single-split in AUTO does the same thing, but I have no way to test that, and it may not be something that can be changed. I report it only in case it is useful. Thanks again! Shane :) |
|
Morning Daniel, I will test this and report back. I expect a hysteresis of 1.5 °C each side of the set point in auto mode. Both overshoot offsets are set to +1.5 °C at the moment, cooling and heating. There is a PR waiting for you — #344. The integration had trouble with a 1.5 °C overshoot: a changed value did not reach the unit until the mode changed. I traced it and sent a fix. The same PR turns the overshoot field into a number box with a 0.25 °C step, which is the resolution of byte 5. 1.5 is already on that grid, so my own setting does not move. Apologies, I do not have a full test harness set up yet, so please check it. Still getting used to everything :) Thanks again, |
|
Hiya! I've had a chance to test the system in AUTO mode with an external thermometer, and what we got was some yo-yo-ing! Setup
I activated AUTO, boosted the thermostat to kick it into heating, then set it to 23 °C and waited. What it does
Then round it goes again. Each loop lasts about two hours in total, and the swing is roughly 4 K peak to peak. ThoughtsNow, I don't know if this is perhaps an inherent defect in the unit's firmware itself, or a side effect of having external temperature sensors running, but I do think at this point that if we were to artificially correct the temperature inputs we could prevent the yo-yo-ing. Also, this was a test on one head only, with the other three switched off. Bearing in mind that the four heads obviously share one outdoor unit and one reversing valve: while this head runs in heat, any other head calling for cooling gets hot refrigerant instead, so it blows warm air into the room it is meant to be cooling — exacerbating the yo-yo effect. I surmise the EEVs on the idle heads are held part open while they wait for the direction to change, so hot gas keeps bleeding into their coils. The EEV Pulses / EEV Position diagnostics should show that. I can enable them on the idle heads and run a longer test if that would help, though I suspect you already know far more about this than I do! No idea whether it is even resolvable, as I am acutely aware that I am suggesting ideas that fight against the heads' own firmware — all ideas welcome! I include the screenshot of the yo-yo-ing for your reference. As an aside, the ~0.4 °C gap between HA and the app appears to have been discussed in #218 — byte 5 in 0.25 K steps against the 0.1 K indoor table — and is expected?
|
|
Hi Daniel, Just a small heads up — I've opened a PR with my AUTO mode replacement blueprint. The testing has been extensive and I think it's at the point where it just needs time in service to turn up anything I've missed. The full details of how it works are in the PR. Getting the method right took dozens of attempts, mostly because of the EEV behaviour: in cooling the valves of the units that aren't cooling close, but in heating they all stay open, so a unit waiting for cooling sits there blowing warm air into the room it's meant to be cooling. Working with that rather than against it is what most of the redrafting was about. Also, nice work on 2026.10-beta1. I've been running it and the external temperature sensors hold much more reliably now — possibly thanks to the work around the override (#388, #378). Thanks again, |









Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Multi-split AUTO mode lockout — findings, and an automation that resolves it
System: 4 × SRK25ZS-WF indoor units on a single SCM80-series outdoor unit.
Integration version: 2026.9.6
First, thank you for this integration — and particularly for the External Temperature Source work in the recent release. That turns out to be one half of a complete fix for AUTO mode on multi-splits, and I think the other half could be resolved within the integration. I wanted to share what I've been working on in case it's useful.
The problem
On a multi-split, one outdoor unit serves several heads and can obviously only run in one mode at a time. Whichever head claims the compressor first wins, and any head asking for the opposite mode is locked out — its room drifts while the entity still shows
autoand looks perfectly healthy. Until yourcool_hot_judgesensor, nothing surfaced this in HA.Sadly it's worse than a simple first-come-first-served race, because MHI's AUTO mode latches its heat/cool decision. On my system a lockout will persist while the head holding the mode sits idle, needing nothing itself.
What works
The units already decide heat-versus-cool per room, with their own inbuilt hysteresis and their own sensor. Second-guessing that from the same sensor is just running a competing thermostat — I tried, and it oscillated every 15 minutes chasing the overshoot from its own previous switch.
However, three signals, all from your integration, are enough:
cool_hot_judge— what a head is asking the outdoor unit for. This is the demand signal.That last one is critical rather than cosmetic. On my bedroom head a
coolsetpoint of 23.5 held the room at about 21 measured independently — roughly 2.5 °C out. That bias doesn't just affect the display, it appears to feed the unit's own AUTO decision, which is the vote everything else depends on. Provide stability to the temperature inputs and the vote becomes trustworthy. A genuinely excellent addition!The approach
Using the first two signals, and reading no temperatures or setpoints at all:
fan_onlyfor four minutes, dropping its latch, then back to its previous mode.Which side ran most recently comes from the demand sensors'
last_changed, so nothing needs storing between runs.My Automation Code: GIST LINK HERE
It's early days — only a few hours of runtime so far — but it's resolved every lockout I've thrown at it, and the head that stands down (goes to
fan_only) rejoins on whatever mode is now running rather than reclaiming its own.Happy to test anything on a real four-head multi-split if that's ever useful. I'm a web developer by trade and although I haven't got a dev HA instance running, I would be able to get my head around it if you were to bear with me.
Looking forward to hearing your thoughts... thanks!
Shane :)
All reactions