Replies: 23 comments 29 replies
-
The climate will only read back state from Heatpump at 60s interval max. That has not changed. Which date did you build and flash? So I assume this was working before? Remember that it can take up to 60s to see a state change. Monitor the underlying h/c zone 1 set point value or room value (depending on the heating mode) to see if it changed. I adjusting polling recently, so could be a timing. But my automations seems to be working fine :/ You can test this action/automation within HA. It will execute without checking the conditions Then look at the traces to see why it fails. I think it's timing, since we poll a bit faster now You can also look at the past traces to see what it did Also keep in mind that the climate only accepts one cmd per 60s, this was always the case. It needs to read back the value from the Heatpump before setting a new value. So you probably need a delay of 60s after each climate action. |
Beta Was this translation helpful? Give feedback.
-
Hi, I'm out now, typing this for the third time on mobile. Bloody phones! I pulled built and flashed last night before it did it again. I keep pretty close to main branch. Didn't know about delay. Would it be ok to send the same temp twice in 60s? I don't think I'm doing that though. Traces don't look weird... I'll upload a screenshot when I get home and my phone stops eating my text... Thanks! |
Beta Was this translation helpful? Give feedback.
-
I do see a climate log within 2 seconds. But I did just test my automation, it also sets the climate and it seems to work. Don't see why it would not work for you |
Beta Was this translation helpful? Give feedback.
-
So from your logging I do see that it went from IDLE to HEATING, whats the problem then btw? A new setpoint is not set ? |
Beta Was this translation helpful? Give feedback.
-
Yes exactly. I have an entity history card (graph) which shows a spike to the correct temp but then immediately back to the previous setting. The heat pump turns on but nothing happens because the flow temp is still set to 20. |
Beta Was this translation helpful? Give feedback.
-
Ah yeah timing. but this always worked like this. try 60s delay between each climate set. should work. It can take up to 60s to be completely processed by the heatpump |
Beta Was this translation helpful? Give feedback.
-
I've updated the automation to only have one trigger. We'll find out in 4 minutes whether it fails. If it works, well let's just say I hate debugging timing issues 🤣 |
Beta Was this translation helpful? Give feedback.
-
yup, but you know that you can test the actions without the conditions? (in automations, and select the automation, there's a sub menu where you can run the actions) |
Beta Was this translation helpful? Give feedback.
-
Thanks, yes I tried that but it worked every time. I think the problem is two triggers so just running the actions doesn't reproduce the problem. The 1300 run worked btw so likely that was the problem |
Beta Was this translation helpful? Give feedback.
-
ah cool, yeah you probably got lucky. It always worked like this. Maybe the adjusted timing triggered it for you |
Beta Was this translation helpful? Give feedback.
-
Well, that's two successful triggers in a row. I think it's safe to close this now. I was tempted to make a PR to document the fact that only one update can be made within the refresh interval, but I couldn't find a convenient place to put it. On the other hand, is there any locking mechanism which will allow a second update to override the first? |
Beta Was this translation helpful? Give feedback.
-
I disabled it because it was causing issues. If we did not get the confirmed value, but still send a new value, it will lead to issues. The UI has the latest state, but then the first cmd is processed and returned. So now the UI is in an inconsistent state (displaying new setpoint, but Heatpump has first setpoint). Otoh, it does not really make sense to spam a climate with so many updates. It's partly due to esphome and handling via the UI. I haven't found a smart/clever way to get around it. |
Beta Was this translation helpful? Give feedback.
-
I will convert this to discussion for future reference |
Beta Was this translation helpful? Give feedback.
-
@bwduncan So I did find out that I introduced some extra delay when doing the fast/regular loops. I've moved the defrost state and compressor frequency to the regular loop. It did not add much value at the high interval. And the timing should be as before. The feed temps and flow rates remain in the fast loop. So you probably did 2 updates within 30-60s interval. In the old scenario, that would work, in the new it needed to be 60s. That has been restored. But Much better to do it in one go. Does not make sense to update it so frequently |
Beta Was this translation helpful? Give feedback.
-
It happened again 😢
I flashed the latest The automation only has one trigger (off peak electricity binary sensor) and there is only one trace for 13:00, and yet... Help! |
Beta Was this translation helpful? Give feedback.
-
after flashing, first read back happens within 60s. Then update are blocked for about 30s - 60s. So you probably timed your update poorly :) Did you have 73aaa42 included? Timing is the the same as before introducing the more frequent polling of feed temps. Monitor it closely. I will see if there's an elegant way of handling these updates At 13:07 we see readback of 20c. Does it eventually get the 38.5c? after a minute or so? |
Beta Was this translation helpful? Give feedback.
-
I think that should have been OK?
Is there any more debugging I can apply? I am certain I'm only sending one update, but it's hard to see it. Next time I will watch the FTC display. I'm pretty sure whenever I've watched it before it updates instantly, so it will be interesting to see when it reverts... Yes I have 73aaa42 moved polling of defrost and compressor freq to regular queue. regular queue will become twice as fast |
Beta Was this translation helpful? Give feedback.
-
you could debug peint msg wen you set a flow temp, on commands.cpp and see how many are triggered at what time |
Beta Was this translation helpful? Give feedback.
-
Thanks I'll try that. Got to go to work now but hopefully will be able to check before the next 10pm off-peak trigger :) |
Beta Was this translation helpful? Give feedback.
-
Add some more logging there and report back. My automations never failed so far. I assume you don't have external stuff that sets flow temp It's clearly a read back, so you are triggering it somewhere :) |
Beta Was this translation helpful? Give feedback.
-
Here we go:
Not much in the way of debugging, but there was only one CMD for each setting. Before this log there are hours and hours of zero updates (only "Could not publish state of sensor blah" which I've clipped from these logs. can we bin those btw?). I turned the HP on using the "main" switch in HA at 21:59:27. This is reflected in the Climate changing to HEATING action. Then, 58 later, my automation fires and commands a flow temp of 38.55. 60s later there is another update which has the old flow temp of 20. Then at 22:03:00 I ran the automation actions again in HA, and this time at 22:03:19 a successful update is returned from the esphome. Then another update at 22:04:01, for some reason? Argh! |
Beta Was this translation helpful? Give feedback.
-
yeah turn on debugging. I like to know who is causing the setting of the 20c and then you can also see how long it takes for the read back to complete. (but you can write in between, it should be eventually consistent. except when you are doing it too fast, it can get lost) I not 100% certain about the climates when Heatpump is off. I think the climates react on those by turning themself off/idle state. It could also happen when you switch heating modes. I think it also defaults to some value. but let's find out... I never turn off the Heatpump so setting flow to the automations never failed. But the trace you posted works, it is just that 20c is unexpected and we need to find who is causing it I think it failed before when I changed the timings. So the regular cmd are poiled 2x slower. And then you might get unlucky. But I've restored that, so I would expect that your automation are just working like before. |
Beta Was this translation helpful? Give feedback.
-
It gets weirder... I have changed the automation so that it doesn't turn the pump on if it's already on. This should avoid climates having to re-initialise, right? Instead I've been using server control prohibit heating. Well, last night, it set the flow temp, turned off prohibit and... nothing. The unit stayed in frost protection all night and again I woke up to a cold house 😭 This log file is huge. You can see today's oopsie starting on line 1460089 (or search backwards for "04:00:00"). There was also an event on the 23rd where the flow temp wasn't set. That failed (climate reverted to 20) starting around line 664150 and failing around line 664607 Again, apologies I'm just leaving home but I can do more debugging this evening. |
Beta Was this translation helpful? Give feedback.
-
Hi,
Happy new year!
Has something changed in the climate component? I've got an HA automation which turns the heat pump on and sets the zone 1 climate temperature when the electricity rate goes off peak, but it's not working:
For reference the (redacted) automation looks like:
Any ideas? It only seems to be a problem with this automation. I can set the temperature manually in the UI and it works, but not at 4am 🤣
THanks
Beta Was this translation helpful? Give feedback.
All reactions