Keeping Konnected.io Legacy Alive

The Konnected integration is being deprecated in April 2026, pushing users toward migration to ESPHome. However, the current legacy setup has been running perfectly stable for years—why introduce complexity and risk when what we have works flawlessly?

I’ve set up the Konnected integration locally, replacing the official version seamlessly without any issues. It works perfectly in Home Assistant today. I’m maintaining this local copy and will keep it updated as needed.

I’m preserving the repository here as a backup—in case the official integration gets removed before you have time to migrate. It’s ready for anyone who needs it.

Why this approach?

  • The current setup is proven, stable, and requires zero maintenance
  • Migration is a lengthy, risky process with no immediate benefit
  • Preserving what works is more valuable than forced change

Repository: GitHub - trsdomo/konnected-legacy

1 Like

In your GitHub you mentioned ‘2025’ instead of 2026, you might also want to reference a url for people not in the know.
While I understand and support your effort to ensure nothing is lost, it is also logical for the project to evolve.

Thanks so much for the heads-up; I’ve corrected the year in the repo. I also appreciate the suggestion to add a URL. In fact, for anyone who isn’t “in the know,” I invite you to take a look at the official migration guide right here:

Take a good look at all the steps you have to go through, all in the hope that, in the end, everything will work just as it did before—with absolutely no added features for your trouble.

Regarding your point on the “evolution of the project,” let’s be clear about what this really is. This isn’t about progress; it’s about the developers no longer wanting to maintain their existing integration. Instead of doing the work to ensure their own legacy devices remain functional, they are offloading that entire burden onto us, the users.

This “evolution” translates to hours of our labor, risks of instability, and the need to reconfigure an entire system from scratch that, until proven otherwise, has never missed a beat. If the goal is to complicate our lives for no objective improvement, then congratulations, mission accomplished.

You see, some things in this world work so well in their simplicity that they don’t need to “evolve” to continue performing their job admirably. Think of a chair—its design can change, but its essential function has remained the same for centuries. Or a good old hammer: it does its job, and it does it well, without needing a firmware update.

My approach is simple: preserve what works. If a system is stable, reliable, and requires zero maintenance, forcibly “evolving” to a more complex solution isn’t progress—it’s a misstep.

Definitely spoiled by ownership :laughing:

The shoe for connected/iot device is the maintenance - even if this only involves necessary security fixes. As long no vulnerabilities are known for your (in future EOL) legacy firmware you should/could be fine :+1:

Hi, I’ve had my Konnected running so so for a some time.

My issue is I’m using duck dns to access my HA instance.

However this slows my Konnected unit down massively.

Will moving to Esp home fix this? If not how can I direct it to an internal address as opposed to an external one?

Thanks

Thank you for doing this.

For the exact same reasons – I’ve been wondering if this could be done and grateful someone has already tested!

I do not need ESPHome for anything else and have seen some frustrated user posts on everything from migration issues to ESPHome updates breaking functionality in HA.

Although I’ve used custom components and HACs, this will be my first time doing so without instructions, but the pieces are beginning to come together.

  • make custom_components/konnected directory
  • copy the integration files from your github into that directory
  • delete the standard integration afterwards

Question - I read in another forum, a version key should be added to the manifest.json file e.g. “version”: “1.0”,

Is there a reason your manifest.json does not have this?

Thank you.
I have fixed the manifest.json in the repository copying my actual file.

at the beginning, to test it, you can also keep the two integrations together and later to disable the original one to see if everything is going right.

where have you read about the manifest.json? (thank you)
any help is welcome!

Thank you Stefano!

Here are the links I found, I’m very new to managing custom integrations so I had to really research the steps you took to duplicate the integration.

I searched on cloning (and duplicating) home assistant integrations, and these two links helped the most, as they discussed what other members did in similar situations (deprecation of “official” integrations)

ok - disregard the question below…

the reason I asked, is that HA stores each integration’s configuration settings in a hidden subdirectory (named .storage), within the folder specific for that integration

it may be possible, the built-in konnected integration folder, may be keeping this information, even if it loads the custom integration first (custom integrations are loaded before built-ins), in which case, we may not be able to delete the built-in integration (good idea to disable instead of delete), or risk losing the config data.


one more question

  • is it possible your file set may contain any configuration pages specific to your integration?

I’m not familiar with how HA stores or accesses the zone configurations we created for the Konnected integration. Just wondering if any of that may be saved in the integration directory…and if each user should copy their own integration files to their custom config directory

I simply copied the files. Since the domain defined in the manifest is the same (konnected), the custom integration takes precedence and overrides the core/built-in version automatically.

Regarding your concern about .storage:
Home Assistant stores configuration settings globally in /config/.storage/core.config_entries, not inside the integration’s code folder. Since the domain name remains identical, Home Assistant automatically links your existing configuration and devices to the new custom component.

You do not need to delete the built-in integration. In fact, you should NOT delete it from the UI, or you will lose your settings.

Just copy the folder to custom_components and restart. If the previous warning/alert you were seeing is gone (and you see a warning in the logs about a ‘custom integration being loaded’), it means it is working correctly and using the local files.

I’m a noob to HA, so I apologize in advance for any dumb questions…
I’m running HA in a docker container on Ubuntu and have HACS installed.
I’ve cloned this repo and copied the konnected directory into the custom_components directory. I’ve added the konnected (Legacy) integration and have done the config of the zones, etc. When I look at it in the devices, it says failed to set up. In the log it has the following:


Logger: homeassistant.config_entries
Source: config_entries.py:762
First occurred: 10:34:54 AM (2 occurrences)
Last logged: 10:39:17 AM
Error setting up entry Konnected Alarm Panel for konnected

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 762, in __async_setup_with_context
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/konnected/__init__.py", line 272, in async_setup_entry
    await client.async_connect()
  File "/config/custom_components/konnected/panel.py", line 134, in async_connect
    await self.async_sync_device_config()
  File "/config/custom_components/konnected/panel.py", line 381, in async_sync_device_config
    != self.async_current_settings_payload()
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/config/custom_components/konnected/panel.py", line 360, in async_current_settings_payload
    {self.api_version: s[self.api_version]}
                       ~^^^^^^^^^^^^^^^^^^
KeyError: 'pin'

Help? Please?