LavermanJJ / home-assistant-solarfocus

🏡 Solarfocus eco manager touch integration for Home Assistant
Apache License 2.0
14 stars 4 forks source link

Terminator integration and pull-timeout / requests problem #25

Closed ragesoft closed 1 year ago

ragesoft commented 1 year ago

Hi,

i've watch the new version and it seems to be stable. all readings (i need so far) are ok. But: during setup i set an interval of 60 seconds (1minute-interval), to reduce the pull-requests.

On the kessel, i see multiple requets in 30secs with 8-readings each time (at least 2 requests with 30sec gap). So within a hour i got mor than 2000 readings counted. Today my integration / modbus tcp on therminator stopped working again with a count of over 8mio reads since last restart.

is there an issue with the timeout from settings being ignored? can we reduce the readings-count by calling the values in one block or something like this?

Greetings!

ragesoft commented 1 year ago

Video of pulling requests https://user-images.githubusercontent.com/3265070/199915095-e2b50617-cabd-4076-ae1f-2b46ddebdb8c.mp4

LavermanJJ commented 1 year ago

Reducing the number of calls to Solarfocus was the goal of the Pysolarfocus lib.

Usually, it's one call per component. In Addition, some components are split, as the registers are not consecutive.

It would be great if you could share you configuration i.e., number of components. Moreover, are you sure there is no other app retrieving data via Modbus from your heating system (eg ModbusExaminer)?

LavermanJJ commented 1 year ago

The update interval (aka SCAN_INTERVAL) is set by the component when initializing, and then executed by HA. I would expect that to work as expected.

LLukas22 commented 1 year ago

@ragesoft I don't quite get why you are concerned about the number of reads the API is performing. Each request is literally requesting a few bytes -> the load on the system should be minimal. Another option would be to request the whole register every X seconds and then parse the information once, this would decrease the number of reads but we would have to execute one very huge read. Another problem is that the data is located in two different registers (holding and input).

If the number of reads are causing any problems for you please let me know.

ragesoft commented 1 year ago

since last update and a network-fix on my side, it seems quite stable right now! I close this request. Timeout and request counts is now in "normal" flow. every 30sec 8 requests. :)