Problems installing Ecowitt integration

Hi all,

I am having problems installing the Ecowitt integration on HASS 2023.2.1, OS 9.5.
I am used to manually configuring in yaml, so the integrations seem opaque to me. Here’s the problem:

When I select Ecowitt from the Integrations, I get a box with just a submit button.

I press submit, and I get:

image

The only log entry that occurs at the time is from aiohttp.server, which I am not sure makes sense, but here is the log:

Logger: aiohttp.server
Source: helpers/network.py:201
First occurred: 7:57:30 PM (3 occurrences)
Last logged: 8:20:12 PM

Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/aiohttp/web_protocol.py", line 435, in _handle_request
    resp = await request_handler(request)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
  File "/usr/local/lib/python3.10/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 60, in security_filter_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 145, in handle
    result = await result
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 180, in post
    return await super().post(request, flow_id)
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
    result = await method(view, request, data, *args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 253, in async_configure
    result = await self._async_handle_step(
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 335, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
  File "/usr/src/homeassistant/homeassistant/components/ecowitt/config_flow.py", line 35, in async_step_user
    base_url = URL(get_url(self.hass))
  File "/usr/src/homeassistant/homeassistant/helpers/network.py", line 201, in get_url
    raise NoURLAvailableError
homeassistant.helpers.network.NoURLAvailableError

I have checked everything that I can think of, including packet captures and DNS logs I have run out of ideas. Any pointers would be appreciated.

Thanks.

I’m seeing the same issue with the same log error (NoURLAvailableError in network.py).

I am running HA in a Docker Image on a Synology NAS.

Problem occurs when I access HA via local IP over HTTP and when I access HA via DDNS externally through port forwarding.

Hi
Did you also install the Ecowitt integration in HACS?
Hope this helps (I am not a very experienced Hass and Yaml user but recently had a lot of problems reinstalling my Ecowitt after a crash)
Installing the Ecowitt integration via both the “normal” route in Hass as well as via HACS seems to be a must-have

Thanks for the response, @HenriV22

TBH, I’m not sure what HACS vs HASS is.

I simply:
Installed the home assistant docker image on my Synology NAS and set it up.
Went to Settings->Devices &Services->“Add Integration” via the web interface
Found the Ecowitt integration and clicked on it.
When it said “Are you sure you want to set up Ecowitt?”, I clicked “submit”.
It then showed the “Unknown error occurred” message that @jbarrett-fmad put in his post.

Is that the “normal” route in Hass, or the HACS method?
How do I do the other one?

Hi Shark Valley,

HACS is an integration that you can install in Home Assistant.
HACS stands for Home Assistant Community Store.
You can find there a lot of community made integrations for HASS (Home Assistant)

So, I tried a couple of things:

  1. Built a new HASS instance on a Pi I had spare and installed Ecowitt integration without any problem.
  2. Installed HACS Ecowitt version on my main HASS instance and this more or less works, but I am missing rain data. I suspect this is because my ecowitt outputs rain data as xrain_piezo, and presumably the variable name the HACS version is looking for is different to this.

I would still like to get the official version working, but I’m no closer to figuring it out. I have seen reference to changing the version number in the manifest, but the version no. in the manifest seems to be correct.

Hi, had the same problem. After removing the integration and add it again the rain sensors are recognized. Only one problem left: The rain sensors have been added with imperial units even I have used the metric unit in settings for rain values.
Does anyone know how to fix it? Thanks

Updated home asistant.
Niw ecowitt not working anymore.

Removed the addon.
And try to reinstall by add integration.

Then i gett error:

Config-flow kon niet geladen worden: {“message”:“Invalid handler specified”}

I am having the same trouble as the original post. I had Ecowitt through hacs, then the May update of home assistant came out and borked my hacs version of Ecowitt, I couldn’t even uninstall it. I had to revert back the the previous version of Home Assistant, then uninstall it, then install the home assistant version of Ecowitt, then update to the May versionof HA again and all was fine. A few hours later I wasn’t getting data from my weather station again and Ecowitt was giving me a gateway error or something so I uninstalled it but when I tried to reinstall it it gave me the error as seen at the top of the page.

Anyone figure out how to fix it?

1 Like

same here :frowning:
any ideas?

I have been troubleshooting for almost five hours now.
Went through all the logs, checked the ecowitt gateway and the HA logs and honestly it doesn’t add up or make sense to me.
It seems HA doesn’t get any data from the station but indeed the station is trying to publish it towards HA, it just never shows up. It may be an SSL issue

I am meanwhile out of ideas what to try since anything after 2023.4.x simply breaks it.

This article was some help to me.

I had to install and configure Nginx Proxy. As it said in the article “Ecowitt doesn’t support sending data to SSL connections”.

I’m having the same issue as the original post - NoURLAvailableError . I have never installed the HACS integration so nothing to uninstall there. Would love to know if anyone has got past this yet.

Home Assistant 2023.6.2
Supervisor 2023.06.2
Operating System 10.2
Frontend 20230608.0 - latest

I was able to get past ‘Unknown error occurred’ NoURLAvailableError issue by adding internal_url setting to configuration.yaml

homeassistant:
internal_url: https://xxxxxxx:8123/

I finally managed to solve this by completely removing all Ecowitt HACS, Integrations and other mentions from my system, installing the “new” non-community integration and setting up HAProxy in Docker to listen for the http traffic and pass it on as https. haproxy.cfg for reference:

defaults
  mode tcp
  timeout client 10s
  timeout connect 5s
  timeout server 10s
  timeout http-request 10s

frontend localhost8123
bind *:8123
mode tcp
default_backend sslredirect

backend sslredirect
mode tcp
server hass <HASS-IP-Address>:8123 ssl verify none

Many thanks to those who offered assistance.