Ecowitt dont work HA core update

error
Config flow could not be loaded: {“message”:“Invalid handler specified”}

Log details (ERROR)

Logger: homeassistant.config_entries
Source: config_entries.py:3314
First occurred: 10:51:38 AM (1 occurrences)
Last logged: 10:51:38 AM

Error occurred loading flow for integration ecowitt: cannot import name ‘POWER_WATT’ from ‘homeassistant.const’ (/usr/src/homeassistant/homeassistant/const.py)

Logger: homeassistant.setup
Source: setup.py:334
First occurred: 11:00:49 AM (1 occurrences)
Last logged: 11:00:49 AM

Setup failed for custom integration ‘ecowitt’: Unable to import component: cannot import name ‘TEMP_CELSIUS’ from ‘homeassistant.const’ (/usr/src/homeassistant/homeassistant/const.py)
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/loader.py”, line 1015, in async_get_component
comp = await self.hass.async_add_import_executor_job(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
self._get_component, True
^^^^^^^^^^^^^^^^^^^^^^^^^
)
^
File “/usr/local/lib/python3.13/concurrent/futures/thread.py”, line 59, in run
result = self.fn(*self.args, **self.kwargs)
File “/usr/src/homeassistant/homeassistant/loader.py”, line 1075, in _get_component
ComponentProtocol, importlib.import_module(self.pkg_path)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/util/loop.py”, line 200, in protected_loop_func
return func(*args, **kwargs)
File “/usr/local/lib/python3.13/importlib/init.py”, line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “”, line 1387, in _gcd_import
File “”, line 1360, in _find_and_load
File “”, line 1331, in _find_and_load_unlocked
File “”, line 935, in _load_unlocked
File “”, line 1026, in exec_module
File “”, line 488, in _call_with_frames_removed
File “/config/custom_components/ecowitt/init.py”, line 30, in
from .const import (
…<30 lines>…
)
File “/config/custom_components/ecowitt/const.py”, line 3, in
from homeassistant.const import (
…<29 lines>…
)
ImportError: cannot import name ‘TEMP_CELSIUS’ from ‘homeassistant.const’ (/usr/src/homeassistant/homeassistant/const.py)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/setup.py”, line 334, in _async_setup_component
component = await integration.async_get_component()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/loader.py”, line 1035, in async_get_component
self._component_future.result()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
File “/usr/src/homeassistant/homeassistant/loader.py”, line 1027, in async_get_component
comp = self._get_component()
File “/usr/src/homeassistant/homeassistant/loader.py”, line 1075, in _get_component
ComponentProtocol, importlib.import_module(self.pkg_path)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
File “/usr/src/homeassistant/homeassistant/util/loop.py”, line 200, in protected_loop_func
return func(*args, **kwargs)
File “/usr/local/lib/python3.13/importlib/init.py”, line 88, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “”, line 1387, in _gcd_import
File “”, line 1360, in _find_and_load
File “”, line 1331, in _find_and_load_unlocked
File “”, line 935, in _load_unlocked
File “”, line 1026, in exec_module
File “”, line 488, in _call_with_frames_removed
File “/config/custom_components/ecowitt/init.py”, line 30, in
from .const import (
…<30 lines>…
)
File “/config/custom_components/ecowitt/const.py”, line 3, in
from homeassistant.const import (
…<29 lines>…
)
ImportError: cannot import name ‘TEMP_CELSIUS’ from ‘homeassistant.const’ (/usr/src/homeassistant/homeassistant/const.py)

Same here :frowning:

Seems like there is no constants in new core …TEMP_CELSIUS , POWER_WATT

Looks like the HACS integration is unmaintained.
Any reason to not use the HA builtin one?

What is the easiest way to switch?
deleted all ecowitt folders and try install native ecowit then this:
eco error

I have the native integration and the problem continues. It gives the error that the integration cannot be configured. For the moment I am backing out of the HA version.

Hi lobolobo,

I have the core integration and it’s working fine. No interruption.

Did you restart HA after you removed the custom one and install the new one?
Those may have to be restarted again to get into memory properly.

1 Like

OK, it works now but I had to install the Ecowitt HTTP Proxy component to offer me the entities.

which one? I see there are several of them.

This one,

If i want to use multiple ecowitt devices with different ports, Do I need to configure multiple proxies?

It´s not neccesary …
When installing two or more Ecowitt with native HA integration, the only thing that will distinguish them are the different WEBHOOK IDs of each one.

in Ecowitt HTTP Proxy config , what i should put in Webhook ID?
and port is same asi ecowitt device port?

I left the port as default during installation.
The Webhook id: When you install the ecowitt integration, a box appears where it gives you the installation instructions. At the top of that box it tells you the webhook id.

1 Like

eco error
this error appear when add ecowitt native integration

2025-01-05 20:01:20.558 ERROR (Dummy-1) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.13/site-packages/aiohttp/web_protocol.py", line 480, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/aiohttp/web_app.py", line 569, in _handle
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/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 92, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 83, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 26, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 86, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 242, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 32, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/http.py", line 73, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 81, in with_admin
    return await func(self, request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 222, in post
    return await super().post(request, flow_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 74, in wrapper
    return await method(view, request, data, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 122, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 367, in async_configure
    result = await self._async_configure(flow_id, user_input)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 414, in _async_configure
    result = await self._async_handle_step(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        flow, cur_step["step_id"], user_input
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 517, in _async_handle_step
    result: _FlowResultT = 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 212, in get_url
    raise NoURLAvailableError
homeassistant.helpers.network.NoURLAvailableError

Have you deleted the Ecowitt integration from HACS? Have you restarted HA afterwards?

yes, remove and restart and then add integration ecowitt , and when “SUBMIT” then error


eco2
eco error

Well, I don’t know what it could be then. I hope someone reads this post and can help. Sorry.

sorry, but looks like the issue with network + DNS still here. hey, guys, who can make a some magic :slight_smile: here? :slight_smile:

Setting → System → NetWork.
http://homeassistant.local:8123/config/network

Configure network interfaces

IPv4
Static (important!)


remove default local DNS and key some external like 8.8.8.8 or 1.1.1.1
reboot HASS

That was the key for me. Now Ecowitt integration working again over Core 2025.1.1

Just to clarify some data, at the Ecowitt app (under Weather Services → Customized), that’s the Path that has to be set:

Thanks!