kodebach / hacs-idm-heatpump

HACS integration for IDM heat pumps
MIT License
26 stars 2 forks source link

Values are frozen from time to time #89

Closed HoBPirE closed 9 months ago

HoBPirE commented 9 months ago

Last update: 10.02.2034

Configuration

configuration.yaml.log.log

Describe the bug

From time to time, the values from the heating pump are not updated (e.g. temperatures, power (even if the heating pump is running). Adjusting the parameters (single value loading, timing to 5 minutes, ...) are not successfully. Time for interrupts are not equal. Please see screenshot with external temperature attached.

2024-02-20_08h34_33

Debug log

home-assistant_idm_heatpump_2024-02-20T09-31-33.409Z.log

kodebach commented 9 months ago

The screenshot is weird indeed... But it shows the time frame 12. Feb to 18. Feb and the logs you provided are from 20. Feb 07:07 to 10:31. Do these weird gaps happen during the time frame of the logs too? If so when?

Also, can you rule out network issues? At first glance the screenshot seems like the heat pump is not reachable and the Modbus requests from Home Assistant fail.

HoBPirE commented 9 months ago

2024-02-20_11h56_33

Added a screenshot with a more focussed event: Start @~09:06

The heat pump is connected via ethernet and I am not aware of any connection issues. In case I have seen a frozen value in HA, I still have access to the IDM system via the app or the browser.

kodebach commented 9 months ago

Ah okay, I'm guessing you're using an older Raspberry Pi or something similarly slow (or your network connection is incredibly slow). Seems you're hitting the 10 second timeout for an update. I'll see what I can do about that. In the meantime turning of the "Read sensors individually" ("Sensoren einzeln laden") option might at least improve things.

kodebach commented 9 months ago

In v0.8.0 the timeout is now 30s by default and can be configured via the integration's config UI. Also the logs (even without debug logging) now explicitly state when an update was aborted because of a timeout.

Depending on your setup, you may need to set a timeout higher than 30s. If you need an excessively large value to make it work, please open another issue with some details about your setup.