-
Notifications
You must be signed in to change notification settings - Fork 16
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
How to cope with schedule in thermostat? #6
Comments
@mvn23 any ideas how I can deal with setting the data either on termostat (wall-mounted) and in HA so they are showing the same and acting the same without the 'jumps' recorded in the gif? |
Like #4, this is an issue with the HA integration, not with pyotgw. Please report it as such (in the home-assistant repo) and maybe @mention me there. |
I'm not so sure if it's only HA side, as it's component not pushing some specific parameter and termostat still sends the 'old' value? |
pytogw supports both TT and TC. The HA integration sends TT by default, so it should allow for programmed changes. Please show me what pyotgw is sending to HA by running the usage example when this is happening and posting the output here. Change edit: make sure HA is not using the port while running the script. |
@mvn23 here you go - HA right now shows '22' (as I was lowering the temperature during the day) and schedule from thermostat is currently while heating phase (meaning 24.5) |
OK, it seems there's a conflict between the otgw and the thermostat. The |
I can. For how long do you need the dump with 'raw'? 1-2 minutes will be enough? |
More than enough. Probably 10 seconds will do the trick, but make it ~30 to be sure. |
Raw dump for like less than minute for sure. Is the format enough? |
The problem here is that the thermostat is changing the room setpoint (data id 16) but the gateway does not clear the room setpoint override (data id 9).
|
I will test those scenarios probably today's evening. Will get back to you, but what I remember is it fits scenario when: I set setpoint in HA and then, some time later, schedule kicks in. |
@mvn23 Way to reproduce:
The value will jump between 21 and 22 like in gif in 1st post. |
OK, just one more thing to diagnose the exact cause of the issue then: can you provide a raw dump during a manual (or programmed) change on the thermostat after a change via the gateway? Make it ~30s both before and after the change of the thermostat. |
No problem, just wondering - how should I do this? Reset via HA, stop HA, dump RAW, start HA, change temp, stop HA, dump raw further, change from thermostat? |
Try this:
|
reset -> changed temp in HA from 22.5 (default) to 21.0 -> stopped HA -> [begin dump, 30s] -> changed thermostat to 22 -> [30s, end dump] |
I notice the following in the dumps you provided: The cause of the quick jumps is that your boiler responds to message id 9 (room setpoint override) with a value of The gateway does not seem to respond to a change in setpoint made on the thermostat while the override is active. In my setup, once the room setpoint (message id 16) is no longer equal to the room setpoint override (9), the gateway cancels the override and responds to future requests for this override with value As far as the library is concerned: apart from the quick jumps it shows exactly what the current state of the gateway is when the problem occurs. The gateway still considers the override active, so the library provides an override value in its status dict. |
Should be fixed in a051dc5 |
Ok, I've just set the parameter FT from iSense to 'general' (FT=D). |
So from scheduled 22,5 -> UI set to 21 -> thermostat change to 21.5 [till now everything is ok] -> UI change to 21 and wait few seconds -> it resets back to 22.5 |
What is the response to command |
I will be able to use OTMonitor in the evening to check that. What I have read on thread you've mentioned is the 'iSense' hack parameter changes behaviour of the overriding this value. |
@mvn23 Ok, just did back the steps to reproduce and:
|
Right, so the messages to the thermostat don't match with the internal state of the gateway when it's using the workaround for the iSense. I can make a workaround for this case, but it will be slower than usual. |
Can you try the isense_quirks branch? |
@mvn23: I've changed the protocol.py with the file from isense_quirks branch and restarted HA.
During whole this operation the scheduled value was 21,5 so also iSense didn't kick in with resetting anything like it would when I changed from 'iSense mode' to generic in gateway. Long story short: it seems fixed! |
Fixed in dac9d51 |
Right, of course. Maybe it's worth noticing that in docs. |
@mvn23 - one thing regarding new code - there is no jumps, but there are some value changes like: Didn't see that earlier as it needs some time to happen, but you can clearly see the moment of implementation. |
What is the |
22 is the continuation from this post - I didn't change anything in meanwhile. |
Please do so. |
As you can see, only the first few messages contain a false |
Currently have no real idea. Just wondering how it was done in py-otgw-mqtt, but I think it could be different somehow as there are topics to set and to receive temperatures. |
Now that I think about it, I implemented the edit: Problem with this solution is that the HA UI will not show the new room setpoint until it is accepted by the thermostat... edit2: proposed solution here |
Just seen the edits, will test them in few hours. |
@mvn23 I've tried (the solution from edit2) and:
I know I already wrote it once, but: seems to be fixed! :-) |
That should not happen, after a change in HA and a change on the thermostat have been propagated between the thermostat and the gateway the 22.5 should not be present in the system anymore. Were all changes visible on both the thermostat and in HA before making the next change?
Upon reset, pyotgw immediately requests the last known values from the gateway like it does when connecting. The gateway reports 0, so the library does the same. |
Yes. I've made it repeat two times now, the 'jump' was short - the value of 22.5 lasted for like 1-2 seconds before going for final one and being stable. |
Here find the record - value 22 is after click (where the movie starts), no further clicks done during the video. |
I am 99% sure that the jumps are actually reported as such by your thermostat. If that's the case I will leave it as is. Can you confirm by providing a log with protocol.py from the debug_raw branch and the proposed solution earlier in this thread? Please enable debug logging in HA for the following items:
I have seen this as well, but I suspect a graphing issue. If you put your mouse over the graph you will see that the information is still there when the system is heating. |
Here find the dump of logfile. In my opinion it can be released further. |
It's actually caused by the OpenTherm gateway explicitly canceling the setpoint override before setting a new one. This seems to cause the thermostat to revert to its programmed setpoint for a few seconds before the new setpoint override becomes effective. I think I may leave this as-is since it is showing exactly what the thermostat is doing. |
It was the easiest to describe the issue by sharing the gif-video:
As you can see, while testing the OTGW integration, I've set temperature to 22.
Meanwhile the schedule from iSense thermostat kicked in and set the temperature for 24,5 and started heating.
Right now the situation with 'jumping' value will remain until the value will go to previous value.
It will make those values be recorded (database getting bigger too) and mess with the chart a little.
The 'jump' happens every time value from thermostat is reported to HA (so like every ~20-30 seconds)
The text was updated successfully, but these errors were encountered: