Creation of Vorwerk Kobold Component

Should we change the text in the repo so that the visitor now it is maintained? :slight_smile:

This sounds promissing…

Could someone please give some more instruction how to setup the integration. I do not get it, since it seems to work different from other hacs integrations.

May I ask if someone could have a look at this Homebridge plugin, which stopped working too. https://github.com/himbeles/homebridge-kobold.
Maybe it can be fixed in the same way as the Home-Assistant integration. This would make a lot of people happy out there…

I already tried my best to find some kind of link to the fix presented here. However, I am no programmer…

Thanks in advance,
Jan

Hello @Cobi

Since latest HASS update 2025.11.1 this integration doesn’t work anymore.

Could you please allow issue creation on the github repo ?

e[33m2025-11-08 08:30:23.880 WARNING (MainThread) [homeassistant.util.loop] Detected blocking call to import_module with args ('custom_components.vorwerk.vacuum',) inside the event loop by custom integration 'vorwerk' at custom_components/vorwerk/__init__.py, line 106: await hass.config_entries.async_forward_entry_setups(entry, VORWERK_PLATFORMS) (offender: /usr/src/homeassistant/homeassistant/loader.py, line 1295: return importlib.import_module(f"{self.pkg_path}.{platform_name}")), please report it to the author of the 'vorwerk' custom integration
For developers, please see https://developers.home-assistant.io/docs/asyncio_blocking_operations/#import_module
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 229, in <module>
    sys.exit(main())
  File "/usr/src/homeassistant/homeassistant/__main__.py", line 215, in main
    exit_code = runner.run(runtime_conf)
  File "/usr/src/homeassistant/homeassistant/runner.py", line 289, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 712, in run_until_complete
    self.run_forever()
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 683, in run_forever
    self._run_once()
  File "/usr/local/lib/python3.13/asyncio/base_events.py", line 2050, in _run_once
    handle._run()
  File "/usr/local/lib/python3.13/asyncio/events.py", line 89, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 906, in async_setup_locked
    await self.async_setup(hass, integration=integration)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 672, in async_setup
    await self.__async_setup_with_context(hass, integration)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 761, in __async_setup_with_context
    result = await component.async_setup_entry(hass, self)
  File "/config/custom_components/vorwerk/__init__.py", line 106, in async_setup_entry
    await hass.config_entries.async_forward_entry_setups(entry, VORWERK_PLATFORMS)
e[0m
e[33m2025-11-08 08:30:23.913 WARNING (MainThread) [homeassistant.components.vacuum] The deprecated constant STATE_CLEANING was used from vorwerk. It will be removed in HA Core 2026.1. Use VacuumActivity.CLEANING instead, please report it to the author of the 'vorwerk' custom integratione[0m
e[33m2025-11-08 08:30:23.925 WARNING (MainThread) [homeassistant.components.vacuum] The deprecated constant STATE_DOCKED was used from vorwerk. It will be removed in HA Core 2026.1. Use VacuumActivity.DOCKED instead, please report it to the author of the 'vorwerk' custom integratione[0m
e[33m2025-11-08 08:30:23.935 WARNING (MainThread) [homeassistant.components.vacuum] The deprecated constant STATE_IDLE was used from vorwerk. It will be removed in HA Core 2026.1. Use VacuumActivity.IDLE instead, please report it to the author of the 'vorwerk' custom integratione[0m
e[33m2025-11-08 08:30:23.948 WARNING (MainThread) [homeassistant.components.vacuum] The deprecated constant STATE_PAUSED was used from vorwerk. It will be removed in HA Core 2026.1. Use VacuumActivity.PAUSED instead, please report it to the author of the 'vorwerk' custom integratione[0m
e[33m2025-11-08 08:30:23.970 WARNING (MainThread) [homeassistant.components.vacuum] The deprecated constant STATE_CLEANING was used from vorwerk. It will be removed in HA Core 2026.1. Use VacuumActivity.CLEANING instead, please report it to the author of the 'vorwerk' custom integratione[0m
e[33m2025-11-08 08:30:23.983 WARNING (MainThread) [homeassistant.components.vacuum] The deprecated constant STATE_DOCKED was used from vorwerk. It will be removed in HA Core 2026.1. Use VacuumActivity.DOCKED instead, please report it to the author of the 'vorwerk' custom integratione[0m
e[33m2025-11-08 08:30:23.995 WARNING (MainThread) [homeassistant.components.vacuum] The deprecated constant STATE_IDLE was used from vorwerk. It will be removed in HA Core 2026.1. Use VacuumActivity.IDLE instead, please report it to the author of the 'vorwerk' custom integratione[0m
e[33m2025-11-08 08:30:24.006 WARNING (MainThread) [homeassistant.components.vacuum] The deprecated constant STATE_PAUSED was used from vorwerk. It will be removed in HA Core 2026.1. Use VacuumActivity.PAUSED instead, please report it to the author of the 'vorwerk' custom integratione[0m
e[31m2025-11-08 08:30:24.007 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry <snip-email> for vorwerk
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 761, in __async_setup_with_context
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/vorwerk/__init__.py", line 106, in async_setup_entry
    await hass.config_entries.async_forward_entry_setups(entry, VORWERK_PLATFORMS)
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2589, in async_forward_entry_setups
    await integration.async_get_platforms(platforms)
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1176, in async_get_platforms
    import_future.result()
    ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1176, in async_get_platforms
    import_future.result()
    ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1176, in async_get_platforms
    import_future.result()
    ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1164, in async_get_platforms
    platforms.update(self._load_platforms(platform_names))
                     ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1089, in _load_platforms
    platform_name: self._load_platform(platform_name)
                   ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1263, in _load_platform
    cache[full_name] = self._import_platform(platform_name)
                       ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/loader.py", line 1295, in _import_platform
    return importlib.import_module(f"{self.pkg_path}.{platform_name}")
           ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/util/loop.py", line 201, 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 "<frozen importlib._bootstrap>", line 1387, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1360, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1331, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 935, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 1027, in exec_module
  File "<frozen importlib._bootstrap>", line 488, in _call_with_frames_removed
  File "/config/custom_components/vorwerk/vacuum.py", line 11, in <module>
    from homeassistant.components.vacuum import (
    ...<14 lines>...
    )
ImportError: cannot import name 'SUPPORT_BATTERY' from 'homeassistant.components.vacuum' (/usr/src/homeassistant/homeassistant/components/vacuum/__init__.py)e[0m

Thanks

1 Like

Same issue here… :roll_eyes:

Change imports (in vacuum.py):

from homeassistant.components.vacuum import (
    ATTR_STATUS,
    StateVacuumEntity,
    VacuumEntityFeature,
)

change feature flags (also in vacuum.py):

SUPPORT_VORWERK = (
    VacuumEntityFeature.PAUSE
    | VacuumEntityFeature.RETURN_HOME
    | VacuumEntityFeature.STOP
    | VacuumEntityFeature.START
    | VacuumEntityFeature.CLEAN_SPOT
    | VacuumEntityFeature.STATE
    | VacuumEntityFeature.LOCATE
)

don’t forget to save and restart :slight_smile:

4 Likes

This worked for me as well

Hi @FKi

Thanks for tips.

But some actions failed like Start and Go back to dock

vacuum/start. name 'STATE_IDLE' is not defined
vacuum/return_to_base. name 'STATE_CLEANING' is not defined

Did you have some fixes ? Maybe a fork to work on.

Thanks

Hello there,

Someone ( @bndtblds ) create a full working fork : GitHub - bndtblds/homeassistant-vorwerk: Home assistant integration to control Vorwerk VR Vacuum cleaners

2 Likes

Thanks for the hin!

I got this error message:

  • Einrichtungsfehler, wird erneut versucht: Unable to communicate with robot

Any idears how I can solve this?

Thanks and regards

Status now ? @bndtblds or @cobirnm repo ? Thanks a lot