-
Notifications
You must be signed in to change notification settings - Fork 47
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
MTS100 - MTS150 reporting Idle even when Heating #331
Comments
Hello @giabett, At first sight, if it's one of the TRVs it looks like it is 'internally' bugged i.e. it is not correctly reporting its own internal state. Screenshots taken with the pre-release version v4.4.0-alpha.1 but I remember this behavior showing since a long time ago. I really guess one of the TRVs is slightly malfunctioning. The strange fact is the 'bugging' valve is effectively opened to heat flowing and so it is currently heating even if it reports 'Idle' (like being closed). Nevertheless, if you could manage to post a trace of the device I could double check what's going on (in order to be sure the valve should be 'Heating' you have to set the target temp higher than the environment one) Last clarification:
|
It is a MTS150 two plus the hub Even if the target temperature is not reached, I receive an IDLE indication. However, on the Meross app on the phone, I receive the correct indication (heating). Both valves seem to be working fine. When the temperature is reached, they either close or open to maintain the right temperature. |
I'd really need the device diagnostic trace in order to inspect for possible bugs |
msh300hk-1699353504 (1).csv |
The trace itself states both the valves were 'idling' when the trace started but this could also be consistent with the fact that both the valves were 'in range' of the target temperature (at least at the time of the trace) I see anyway a possible issue in the fact the devices are maybe not being 'polled' correctly.
This qurestions arise since the software is behaving like it is configured with also the Meross cloud profile and this in turns expects most of the updates coming from the cloud but I don't see any message incoming from there. It might be the trace was too short in time and nothing happened in the meantime on the devices in order to need to be notified through the cloud, but it could also mean something else is broken.. |
At the moment I can't see where the issue could lie. We can setup an experiment like this:
After collecting this first trace it would be nice to have a second try with the same sequence, but now please 'fix' the protocol to HTTP in the hub configuration entry, before starting the new trace so we can test what happens when |
this is the log with suggested indication in auto mode |
this is with HTTP protocol |
Thank you, very helpful! It would be nice to have reports from other users too in order to see if this is a 'wide' issue or it is just related to some devices not behaving as expected. The only option left for |
Thanks, Krahabb, for your report and analysis. What I don't understand is that the Meross App states the correct status. When is heating it correctly shows "Heating",' if the set temperature is equal to the room temperature shows nothing, if higher it shows "Cooling" This suggests that installation issues can be ruled out. As for why we only receive a 0 value, I'm not sure. However, there must be a discrepancy somewhere, as otherwise, the Meross App should consistently display 'Idle.' Your workaround isn't a bad idea, though. When the room temperature is greater than or equal to the target temperature, the device is 'Idling.' When the room temperature is less than the target, the device is 'Heating,' disregarding what we get from the valve. |
Yes...I've also checked the HA component from @albertogeniola and it is implemented like this: Heating when temp < target idle when temp == target....maybe the app is doing the same ;) |
@giabett, |
Same issue here, today morning was working well, this afternoon IDLE. |
I might also suspect the issue could arise if the valve is not properly machanically paired (i.e. the adaptor screw is a bit loose or somehow failing to get in mechanical contact with the hydraulic system of the heater) When I've replaced the battery of my failing MTS100 in fact, the valve did a mechanical initialization procedure (where it starts buzzing a bit and likely trying to sense the mechanical pairing) This turns me into thinking that maybe the problem lies in the length of the hydraulic piston: if it's too long or too short maybe the valve cannot sense it has run enough to actually open the hydraulic circuit |
This is not the case in my situation, as the Meross app on the phone is working perfectly and reporting the right status every time, such as idle heating and cooling when the temperature changes. If there were some mechanical problem or installation problem, the app would also be reporting it incorrectly. |
Hello, I just wanted to add a comment - I have 16 Meross valves in my house, a combination of 100s and 150s, and all of them show “Idle” when they should show “Heating”. Happy to get traces if it’s helpful! Thanks Nick |
Hello @njharrison, |
Hello - no worries. |
Hello @njharrison, Anyway: This is a speculation based on reported behavior of MTS200 (#369), since my (very old) MTS100v3 instead, whenever you manually change the setpoint in HA, automatically switch out of schedule mode and go in manual mode so what you see (as a setpoint) in HA is also actually the current setpoint in the valve. The fact that meross_lan doesnt completely poll the state when the cloud MQTT is available is effectively an optimization which could anyway lead to inconsistences in reported state for several reasons (This has my attention and next release has already some more checks to avoid this extremely optimistic approach) Another totally different reasoning instead is about the timing of your changes: in the trace you set back and forth the setpoint (which, for the previous reason might not have had an impact on the current working mode of the device) in quick succession but the valve, due to the internal firmware behavior, doesn't change its working state at least until a few minutes (maybe 2.. or 3)
Final (by now) consideration: I'm still strongly convinced the software is working ok in reporting current idle/heating of the MTS so I could be very biased in this regard. But I also think the protocol AUTO mode which leads to the aforementioned polling optimizations might be the devil. By setting the device mode to HTTP only we should be able to detect if the issue lies here instead. |
Hey @njharrison, Also, you stated that you have 16 devices overall but assuming that the duplicated entry is not due to a real device having the same id as another one (so it is just some bug in the memory of the hub firmware), the hub is actually only communicating effective data of only 15 devices.. This is also supported by the fact that these 'duplicated entries' carry 0 values in one of the 2. You might need to maybe re-pair the 'incriminated' device in order to tidy up the hub..dunno though |
Hi @krahabb! Thanks for your reply back in January. I managed to get something working that ignores the Idle/Heating state and didn't fancy going back and changing everything! I've since gone back and rebuilt everything "from scratch", including fully clearing out my Meross config. I'm down to a single radiator thermostat and a single hub, and when I test it I still get the same behaviour. Attached is a diagnostic trace, if you manage to get a chance to look at it. The only unusual thing I can see are the messages: "Appliance.Control.Multiple requests=3 (responses=3) expected size=1250 (actual=1295)" - what might explain the differences in the message sizes? Thanks for your time and work! |
Hello @njharrison, What would be relevant, in the log message, is the number of responses against the requests..if they don't match then it means the request was likely too big (or malformed in some way). This actually might happen from time to time but it should be no issue in 'perceived behavior' since meross_lan has some code in order to recover from missing replies, so it just resends the requests for the missing responses. That's why this message is usually not reported when logging level is set to normal/default. As for the 'heating/idle' of the valve I have to admit I've (almost) completely forgot about it ...time to finally implement a sw fix like proposed here (even if I really don't like it) |
Thanks very much for the detailed explanation - I guess that is one possible cause (in my head, anyway) ruled out. The temperature comparison is how I'm doing it at my end, but sometimes the three-minute delay between setting the target and the thermostat responding causes a problem. I assume that you'd do it at the "read" end, which would negate that? Basically, I want to turn on the boiler and pump only when one or more radiator valves are open. There are some workarounds (e.g. always leaving one radiator valve open) but if they all close, the system is hot, and there's nowhere for the water to cool then my crappy old boiler gets confused and trips very occasionally. Anyway, I'll keep an eye on it if you do implement your SW fix! Thanks again for all the info and your hard work! |
Latest release |
No matter what you chose on the thermostat it's always shown IDLE, like here:
why? how to get rid of this idle-?
The text was updated successfully, but these errors were encountered: