Integration Manager

Hi everyone,

I wanted to share my Integration Manager with you all.

This integration provides a convenient web interface to manage your custom integrations, automatically check for updates, install new integrations, and backup integration config files. Oh, and it runs directly on your remote. http://<remote_ip>:8088

Features

Automatic Updates with Configuration Preservation

The Integration Manager can automatically detect when newer versions of your installed integrations are available on GitHub and update them while preserving your existing configuration. Auto update feature must be supported by the integration

Available Integration Registry

  • Browse, filter, and install integrations from the community registry with a single click.
  • You can now select the exact version you want to install too. Not only the latest

Automated Configuration Backups

Protect your integration configurations with automatic scheduled backups.

Settings & Configuration

Customize the Integration Manager’s behavior through the Settings page

Integrated Log Viewer

View real-time logs directly in the web interface.

Release Notes

View release notes for your installed and updatable integrations.

Integration Management

  • Delete Integrations: Remove installed integrations directly from the web interface

  • One-Click Installation: Install new integrations from the community registry

  • Update Control: Update to latest, select specific versions, or choose beta releases

Have fun :slight_smile:

6 Likes

This looks amazing! Some dumb questions:

  1. Is there any advantage to running it in Docker vs directly on the remote?
  2. Does it update itself also, or only other custom integrations?
  3. When it is configured to auto-update, can it somehow notify you that an update has happened? Through Home Assistant maybe? Or if not configured for auto-updates, can it somehow alert us that an update is available? Again, through HA maybe?

This is a great solution. I am a total newbie to Unfolded Circle, and this helped me navigate the configuration much easier.

I do have a question - I thought there was an integration for Sonos and it is listed, but there is no action button to install it, only the firmware button. I am not sure what that means or what action to take but I am unable to configure for sonos. Any help would be great.

  1. Since this integration can’t update itself while running on the remote, it is beneficial to run it in docker so you can easily update it. It does however offer full backup and restore functionality so you can quickly get back your settings and integration config backups.
  2. See above
  3. It’s a good idea but nothing presently. I’ll add it to my task list

It’s an Unfolded Circle integration delivered with the firmware. So just go to the web configurator, click integrations, and in the top right click Add new Integration. Then you’ll have a list that are discovered and sonos will be in that list. Just select it and configure.

Thanks @JackPowell! I’m trying to set up docker but I must be doing something wrong.

The container appears to be running and I get these logs:

DEBUG:ucapi.api:Publishing driver: name=intg_manager_driver._uc-integration._tcp.local., host=17dbbda48c98.local.:9090

INFO:ucapi.api:Driver is up: intg_manager_driver, version: 1.2.0, api: 0.5.1, listening on: 0.0.0.0:9090

But when I try to add the integration to the remote, I don’t see it listed. Even after waiting for Discovering integrations to run for some time. Suggestions?

Is it running in host network mode? If not, the mdns traffic won’t be reaching the remote. There is an option at the bottom of the discovery screen for advanced config. Toggle that on and pick another integration, then provide the information to connect to the host running docker.

I turned on advanced config, but I’m not sure what you mean about providing the information to connect to the docker host. Would you mind explaining further/providing screen shots?

Are you running any other integrations in docker or another container on port 9090. Or are you not in host networking mode?

I have tried with and without host networking, with and without the optional environment variables, and using your sample docker run and docker compose. I can’t get anything to be discovered when adding a new integration. I didn’t see anything on that machine running on port 9090, but to be safe I tried on another machine and it still is not working. :frowning:

Ok. I think I figured out the problem. I had a mistake in my example docker configuration in the readme. The environment variable was valid, but was misused. I meant to provide an example of UC_INTG_MANAGER_HTTP_PORT

services:
  uc-intg-manager:
    image: ghcr.io/jackjpowell/uc-intg-manager:latest
    container_name: uc-intg-manager
    network_mode: host
    environment:
      - UC_INTG_MANAGER_HTTP_PORT=8088
    volumes:
      - uc-intg-manager-data:/data
    restart: unless-stopped

Thanks @JackPowell! I gave that a try but unfortunately it is still not working for me. But I am starting to think it is either an issue with my remote or some configuration that I have not set correctly. I tried another docker custom integration and it is not being picked up either.

The containers seem to be running without error. Here is the output from the Integration Manager container:

DEBUG:ucapi.api:Publishing driver: name=intg_manager_driver._uc-integration._tcp.local., host=docker-desktop.local.:9090

INFO:ucapi.api:Driver is up: intg_manager_driver, version: 1.2.0, api: 0.5.1, listening on: 0.0.0.0:9090

Does that look correct to you? If so, am I maybe doing something wrong in the Web Configurator? I am going to Integrations > Add new > Add new integration and then letting Discovering Integrations run. Is there another configuration I need to set in order for it to be able to recognize Docker integrations? I have uploaded and installed other custom integrations, and that works correctly.

This looks very useful, but I installed the integration and tried to access the interface via http://[Remote 3 IP]:8088 and it wouldn’t connect.

Not sure what to try now…

Did you run setup? Remote and the PIN of web configurator must be entered there.

Ralf

Same for me, not sure what to do next?

Please describe what you have done.

Added integration

Ran setup, selected remote and entered remote pin?

Remote is in dock and you go to http://{remote-ip}:8088

I have done exactly that, I installed the integration, configured it(green tick shows it’s connected), typed in http my ip remote & :8088, nothing happens, remote is docked

Yes, I ran setup, which found the remote and said all was good.

I’ve tried removing the device from the integration and setting it up again, and deleting the integration and reinstalling & setting it up again, but no joy accessing the integration UI on the remote.

I am experiencing the same issue, have installed, reinstalled, deleted, reinstalled still can’t access my remote

@JackPowell Not sure if you saw my last message. I THINK my issue was that I was running the container in Docker Desktop on MacOS. I moved it to Docker on a Synology NAS and it does show up in the integration list in Web Configurator. However, when I try to add it, all I get is “Service is currently not available, please try later.” Thoughts?