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.17k stars 29.85k forks source link

TimeoutError when trying to configure SMA integration #60548

Closed MathieuWuyts closed 2 years ago

MathieuWuyts commented 2 years ago

The problem

Logger: homeassistant.components.sma.config_flow Source: components/sma/config_flow.py:39 Integration: SMA Solar (documentation, issues) First occurred: 15:20:38 (2 occurrences) Last logged: 15:29:34

Unexpected exception Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/sma/config_flow.py", line 76, in async_step_user device_info = await validate_input(self.hass, user_input) File "/usr/src/homeassistant/homeassistant/components/sma/config_flow.py", line 39, in validate_input await sma.new_session() File "/usr/local/lib/python3.9/site-packages/pysma/init.py", line 247, in new_session body = await self._post_json(URL_LOGIN, self._new_session_data) File "/usr/local/lib/python3.9/site-packages/pysma/init.py", line 177, in _post_json return await self._request_json(hdrs.METH_POST, url, **params) File "/usr/local/lib/python3.9/site-packages/pysma/init.py", line 118, in _request_json async with self._aio_session.request( File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 1117, in aenter self._resp = await self._coro File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 619, in _request break File "/usr/local/lib/python3.9/site-packages/aiohttp/helpers.py", line 656, in exit raise asyncio.TimeoutError from None asyncio.exceptions.TimeoutError

What version of Home Assistant Core has the issue?

core-2021.11.5

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

SMA

Link to integration documentation on our website

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

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

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

sma documentation sma source (message by IssueLinks)

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

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

rklomp commented 2 years ago

TimeoutError means the connection to the SMA device could not be established.. Please check the connectivity between HA and the device.

MathieuWuyts commented 2 years ago

Could you point me in the direction of how to check this? They are on the same network, I can find them both when doing an IP adress scan on my computer.

deryckhans commented 2 years ago

Hello Mathieu, were you able to find out how to check the connectivity between HA and the invertor? Although I am able to connect to the SMA invertor using Modbus and the data is also send to the sunnyportal, the SMA integration itself does not want to connect.

MathieuWuyts commented 2 years ago

I'm not sure. I manage multiple installations, I think this one is using an SMA Data Manager, and just wasn't compatible with the SMA integration, so I used modbus instead. Maybe your problem is not using the right login or ssl settings? I once couldn't connect, and it only worked after deleting the integration and installing it again.

dweston commented 2 years ago

Hi @rklomp , I'm getting very similar timeout errors as are related above: Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/sma/config_flow.py", line 76, in async_step_user device_info = await validate_input(self.hass, user_input) File "/usr/src/homeassistant/homeassistant/components/sma/config_flow.py", line 39, in validate_input await sma.new_session() File "/usr/local/lib/python3.9/site-packages/pysma/__init__.py", line 247, in new_session body = await self._post_json(URL_LOGIN, self._new_session_data) File "/usr/local/lib/python3.9/site-packages/pysma/__init__.py", line 177, in _post_json return await self._request_json(hdrs.METH_POST, url, **params) File "/usr/local/lib/python3.9/site-packages/pysma/__init__.py", line 118, in _request_json async with self._aio_session.request( File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 1138, in __aenter__ self._resp = await self._coro File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 634, in _request break File "/usr/local/lib/python3.9/site-packages/aiohttp/helpers.py", line 721, in __exit__ raise asyncio.TimeoutError from None asyncio.exceptions.TimeoutError No problems pinging the Inverter: $ ping 10.0.1.49 PING 10.0.1.49 (10.0.1.49): 56 data bytes 64 bytes from 10.0.1.49: icmp_seq=0 ttl=64 time=3.314 ms 64 bytes from 10.0.1.49: icmp_seq=1 ttl=64 time=91.543 ms 64 bytes from 10.0.1.49: icmp_seq=2 ttl=64 time=2.080 ms 64 bytes from 10.0.1.49: icmp_seq=3 ttl=64 time=1.962 ms 64 bytes from 10.0.1.49: icmp_seq=4 ttl=64 time=10.522 ms ^C --- 10.0.1.49 ping statistics --- 5 packets transmitted, 5 packets received, 0.0% packet loss round-trip min/avg/max/stddev = 1.962/21.884/91.543/34.973 ms

And I have no problems accessing the device locally via Ethernet using the SBFspot tool.

Is there any other way of trouble shooting why this integration won't connect? I'm based in Sydney. It would seem odd that the US Speedwire hardware and software would be significantly different enough for this integration not to work, particularly if SBFspot works.

rklomp commented 2 years ago

The integration does not supoort Speedwire. It will connect to the webinterface via HTTP(S)

dweston commented 2 years ago

So only newer model SMA inverters that have a web interface built in will work then. Webconnect isn't sufficient.

Somewhere I thought I picked up that one or other of the SMA HA integrations was based in whole in part on the SBFspotpython code. Maybe this was one of the non-offcial HACS forms.

skyluker commented 2 years ago

Same here: `Logger: homeassistant.components.sma.config_flow Source: components/sma/config_flow.py:39 Integration: SMA Solar (documentation, issues) First occurred: 02:08:07 (3 occurrences) Last logged: 02:08:57

Unexpected exception Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/components/sma/config_flow.py", line 76, in async_step_user device_info = await validate_input(self.hass, user_input) File "/usr/src/homeassistant/homeassistant/components/sma/config_flow.py", line 39, in validate_input await sma.new_session() File "/usr/local/lib/python3.9/site-packages/pysma/init.py", line 247, in new_session body = await self._post_json(URL_LOGIN, self._new_session_data) File "/usr/local/lib/python3.9/site-packages/pysma/init.py", line 177, in _post_json return await self._request_json(hdrs.METH_POST, url, **params) File "/usr/local/lib/python3.9/site-packages/pysma/init.py", line 118, in _request_json async with self._aio_session.request( File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 1117, in aenter self._resp = await self._coro File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 619, in _request break File "/usr/local/lib/python3.9/site-packages/aiohttp/helpers.py", line 656, in exit raise asyncio.TimeoutError from None asyncio.exceptions.TimeoutError`

It connects without any problems for a month then 2 months out with cited timeouts and one day it will work again. No clue what is going on. I can login via http all the time.

richie80 commented 2 years ago

Same problem here as @skyluker. Sometimes it connects (after a restart), sometimes getting the same timeouterror.

kellerza commented 2 years ago

The asyncio.TimeoutError is being worked on in #68999