home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
71.37k stars 29.9k forks source link

Fronius integration timeouts with inverter #61783

Closed Gollam closed 2 years ago

Gollam commented 2 years ago

The problem

Since I switched to the refactored fronius integration, quite frequently a lot of the data becomes 'unavailable'. This wasn't happening with the older integration code, I guess it is now more sensitive to errors. I discovered that when this is happening, the inverter api returns some kind of error response like on this pic:

image

And I think this transfer timeout is the reason for the entities becoming unavailable. Now my question is, are these transfer timeouts normal, or do they indicate a problem with the inverter firmware maybe? I don't know if these transfer timeouts happened all the time before, our inverter is around 1 years old.

What version of Home Assistant Core has the issue?

core-2021.12.1

What was the last working version of Home Assistant Core?

core-2021.11.4

What type of installation are you running?

Home Assistant Container

Integration causing the issue

fronius

Link to integration documentation on our website

https://www.home-assistant.io/integrations/fronius/

Example YAML snippet

No response

Anything in the logs that might be useful for us?

These are quite frequent since the update:

Error fetching fronius_power_flow_http://192.168.0.102 data: Connection to Fronius device failed at http://192.168.0.102/solar_api/v1/GetPowerFlowRealtimeData.fcgi.
Error fetching fronius_inverter_1_http://192.168.0.102 data: Connection to Fronius device failed at http://192.168.0.102/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceId=1&DataCollection=CommonInverterData.
Error fetching fronius_inverter_1_http://192.168.0.102 data: BadStatusError at GetInverterRealtimeData.cgi?Scope=Device&DeviceId={}&DataCollection=CommonInverterData. Code: 8 - LNRequestTimeout. Reason: Transfer timeout..

Additional information

No response

probot-home-assistant[bot] commented 2 years ago

Hey there @nielstron, @farmio, mind taking a look at this issue as it has been labeled with an integration (fronius) you are listed as a code owner for? Thanks! (message by CodeOwnersMention)


fronius documentation fronius source (message by IssueLinks)

farmio commented 2 years ago

Hi 👋! Thank you for raising this issue! It seems that the internal connection of the Datalogger and the inverter (I assume you run a Symo or Primo) is kind of unstable. I just ran some tests: 8 out of 1000 requests raised Code: 8 - LNRequestTimeout. Reason: Transfer timeout.. I guess we should catch that directly and just try again before setting the entity to unavailable.

Can you confirm that this only happens to the fronius_inverter_1_http://<host> endpoint? My setup also queries power_flow and meters, but only inverterseem to raise this error.

Gollam commented 2 years ago

Sadly we do not have smart meter installed, so I cannot tell :/

farmio commented 2 years ago

You still have logger and power_flow - do these raise any unexpected issues or do all begin with fronius_inverter_1_? Especially power_flow is queried 6 times more often than the inverter endpoint but doesn't error on my system 🤔

Gollam commented 2 years ago

I also have this kind of logs:

Error fetching fronius_power_flow_http://192.168.0.102 data: Connection to Fronius device failed at http://192.168.0.102/solar_api/v1/GetPowerFlowRealtimeData.fcgi. 2021-12-14 07:59:29 ERROR (MainThread)

I cannot see any error logs starting with logger.

farmio commented 2 years ago

Oh, I see you wrote this in the original issue description too. Are there as many occasions as for the inverter error (BadStatusError), or just a few? This will also happen when your inverter powers off when not producing (eg. sunset - if it is setup to do so).

Gollam commented 2 years ago

Okay, I collected all errors from today.

2021-12-14 07:56:36 Error fetching fronius_power_flow
2021-12-14 07:59:29 Error fetching fronius_inverter_1
2021-12-14 08:06:36 Error fetching fronius_power_flow
2021-12-14 08:18:47 Error fetching fronius_power_flow
2021-12-14 08:20:40 Error fetching fronius_inverter_1
2021-12-14 08:29:47 Error fetching fronius_inverter_1
2021-12-14 08:31:54 Error fetching fronius_power_flow
2021-12-14 08:38:49 Error fetching fronius_inverter_1
2021-12-14 08:50:57 Error fetching fronius_inverter_1
2021-12-14 08:58:01 Error fetching fronius_inverter_1
2021-12-14 09:03:08 Error fetching fronius_inverter_1
2021-12-14 09:03:14 Error fetching fronius_power_flow
2021-12-14 09:14:11 Error fetching fronius_inverter_1
2021-12-14 09:16:18 Error fetching fronius_power_flow
2021-12-14 09:18:16 Error fetching fronius_inverter_1
2021-12-14 09:25:23 Error fetching fronius_power_flow
2021-12-14 09:32:23 Error fetching fronius_power_flow
2021-12-14 09:44:28 Error fetching fronius_power_flow
2021-12-14 09:47:28 Error fetching fronius_inverter_1
2021-12-14 09:51:32 Error fetching fronius_inverter_1
2021-12-14 10:01:41 Error fetching fronius_power_flow
2021-12-14 10:02:38 Error fetching fronius_inverter_1
2021-12-14 10:17:44 Error fetching fronius_inverter_1
2021-12-14 10:21:53 Error fetching fronius_power_flow
2021-12-14 10:25:47 Error fetching fronius_inverter_1
2021-12-14 10:34:56 Error fetching fronius_power_flow
2021-12-14 10:38:55 Error fetching fronius_power_flow
2021-12-14 10:43:55 Error fetching fronius_power_flow
2021-12-14 10:54:53 Error fetching fronius_inverter_1
2021-12-14 11:10:15 Error fetching fronius_power_flow
2021-12-14 11:20:10 Error fetching fronius_inverter_1
2021-12-14 11:22:18 Error fetching fronius_power_flow
2021-12-14 11:25:21 Error fetching fronius_inverter_1
2021-12-14 11:36:27 Error fetching fronius_inverter_1
2021-12-14 11:40:29 Error fetching fronius_inverter_1
2021-12-14 11:42:36 Error fetching fronius_power_flow
2021-12-14 11:58:45 Error fetching fronius_inverter_1
2021-12-14 12:00:51 Error fetching fronius_power_flow
2021-12-14 12:06:58 Error fetching fronius_power_flow
2021-12-14 12:14:55 Error fetching fronius_inverter_1
2021-12-14 12:17:01 Error fetching fronius_inverter_1
2021-12-14 12:26:12 Error fetching fronius_inverter_1
2021-12-14 12:30:15 Error fetching fronius_inverter_1
2021-12-14 12:32:21 Error fetching fronius_power_flow
2021-12-14 12:35:21 Error fetching fronius_inverter_1
2021-12-14 12:35:27 Error fetching fronius_power_flow
2021-12-14 12:38:28 Error fetching fronius_power_flow
2021-12-14 12:42:30 Error fetching fronius_power_flow
2021-12-14 12:58:34 Error fetching fronius_power_flow
2021-12-14 13:08:35 Error fetching fronius_inverter_1
2021-12-14 13:08:40 Error fetching fronius_power_flow
2021-12-14 13:12:46 Error fetching fronius_power_flow
2021-12-14 13:19:48 Error fetching fronius_inverter_1
2021-12-14 13:26:55 Error fetching fronius_power_flow
2021-12-14 13:34:57 Error fetching fronius_power_flow
2021-12-14 13:43:55 Error fetching fronius_inverter_1
2021-12-14 13:51:59 Error fetching fronius_inverter_1
2021-12-14 13:57:06 Error fetching fronius_inverter_1
2021-12-14 14:07:08 Error fetching fronius_inverter_1
2021-12-14 14:14:17 Error fetching fronius_power_flow
2021-12-14 14:21:18 Error fetching fronius_power_flow
2021-12-14 14:29:18 Error fetching fronius_power_flow
2021-12-14 14:31:11 Error fetching fronius_inverter_1
2021-12-14 14:40:11 Error fetching fronius_inverter_1
2021-12-14 14:47:27 Error fetching fronius_logger
2021-12-14 14:48:20 Error fetching fronius_inverter_1
2021-12-14 14:57:26 Error fetching fronius_inverter_1
2021-12-14 15:00:26 Error fetching fronius_inverter_1
2021-12-14 15:15:39 Error fetching fronius_inverter_1
2021-12-14 15:17:46 Error fetching fronius_power_flow
2021-12-14 15:20:47 Error fetching fronius_power_flow
2021-12-14 15:22:41 Error fetching fronius_inverter_1
2021-12-14 15:23:47 Error fetching fronius_power_flow
2021-12-14 15:34:59 Error fetching fronius_power_flow
2021-12-14 15:35:56 Error fetching fronius_inverter_1
2021-12-14 15:38:56 Error fetching fronius_inverter_1
2021-12-14 15:43:09 Error fetching fronius_power_flow
2021-12-14 16:17:16 Error fetching fronius_inverter_1
2021-12-14 16:28:31 Error fetching fronius_inverter_1
2021-12-14 16:33:32 Error fetching fronius_inverter_1
2021-12-14 16:40:32 Error fetching fronius_inverter_1
2021-12-14 16:45:32 Error fetching fronius_inverter_1
2021-12-14 16:47:39 Error fetching fronius_power_flow
2021-12-14 16:54:12 Error fetching fronius_power_flow
2021-12-14 16:54:15 Error fetching fronius_inverter_1
2021-12-14 17:47:32 Error fetching fronius_logger

Actually now I see there were 2 logger issues.

2021-12-14 14:47:27 ERROR (MainThread) [homeassistant.components.fronius] Error fetching fronius_logger_http://192.168.0.102 data: Connection to Fronius device failed at http://192.168.0.102/solar_api/v1/GetLoggerInfo.cgi.

Also I have

Loading Fronius via platform setup is deprecated. Please remove it from your yaml configuration

But I guess this is not related to the problems.

farmio commented 2 years ago

Oh dear... is your inverter connected via flaky Wifi?

Gollam commented 2 years ago

It is strange, because the router is right next to it, and everything else has stable connection. Although I upgraded datamanager's fw a few days ago. I pinged it during the day, most of the pings were under 100 ms, but sometimes 1-2 went with a higher delay.

farmio commented 2 years ago

Fronius Wifi is not particularly known for its stability. Maybe try to connect it via cable.