Phillips Hue Not findable

Hi all!

Just trying out Gladys right now, I like the privacy focus! I’m trying to setup a Phillips Hue Bridge but unable to find the bridge within the app. I can find the bridge via hue app or https://discovery.meethue.com/ and can curl the URL from within the docker container successfully as well.

This is my docker-compose file

services:
  gladys:
    container_name: gladys
    image: gladysassistant/gladys:v4
    network_mode: host # Host network as it needs to scan it for devices
    privileged: true
    volumes:
      - /data/gladysassistant:/data/gladysassistant
      - /dev:/dev
      - /run/udev:/run/udev
      - /var/run/docker.sock:/var/run/docker.sock

I am referencing it in another compose file, not sure if that would interfere at all?

include:
  - gladys/docker-compose.yml

...
services
...

networks:
  default:
    external: true
    name: internal-home

Let me know if there’s anything I can do, thanks!

Hi @Ian and welcome on Gladys :slight_smile:

The configuration looks fine to me, you need network=host to be able to scan the network for Philips Hue bridge.

Do you confirm when doing a docker inspect on the started container that it is in network mode = host ?

We currently don’t use the discover endpoint and do a local Upnp search:

With this library ( https://github.com/peter-murray/node-hue-api/blob/typescript/docs/discovery.md#upnp-search )

As far as I can the network mode does seem to be set to host after startup:

 "HostConfig": {
           ...
            "NetworkMode": "host",
           ...

This is the output of the network settings portion of the inspect:

"NetworkSettings": {
            "Bridge": "",
            "SandboxID": "ec363e2e901d601c4bd12149eef3bd351a097848f1ffb01902b707bfdd6b7c75",
            "HairpinMode": false,
            "LinkLocalIPv6Address": "",
            "LinkLocalIPv6PrefixLen": 0,
            "Ports": {},
            "SandboxKey": "/var/run/docker/netns/default",
            "SecondaryIPAddresses": null,
            "SecondaryIPv6Addresses": null,
            "EndpointID": "",
            "Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "",
            "IPPrefixLen": 0,
            "IPv6Gateway": "",
            "MacAddress": "",
            "Networks": {
                "host": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "3adc2e0dd4e129ed489746f47f170e29f8d7358b931865b45fb0e3f937abcb35",
                    "EndpointID": "f574f7c9c9ef9603b608ea487484f591551d645a34f7e61c2eeea3682a1156a4",
                    "Gateway": "",
                    "IPAddress": "",
                    "IPPrefixLen": 0,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "",
                    "DriverOpts": null
                }
            }
        }

Is there any way I can add the bridge manually?

The host networking driver only works on Linux hosts, and is not supported on Docker for Mac, Docker for Windows, or Docker EE for Windows Server.

Can you confirm from which OS you try to run the docker container?

1 Like

Yep for sure, I’m running Rocky Linux 9

1 Like

Apparently it seems it’s an issue with the lib we are using ( MDNS Discovery not working (Empty Array) · Issue #227 · peter-murray/node-hue-api · GitHub )

There is 2 ways to solve this problem:

  • Add a way to add manually a bridge by its IP address in Gladys
  • Do a “double scan” (by N-UpnP search + UpnP search)

Is there a way in the UI to add the bridge by the IP? I’m probably just blind haha. Alternatively could I do it via an API?

Hello. Unfortunately, it’s not possible today as we rely on the bridges found during the discover phase.
I’m working to improve this on this branch feat(philips-hue): N-UPnP Search + manual configuration from IP · cicoub13/Gladys@df3fe52 · GitHub

I need some testing and review and we will keep you updated here.

1 Like

Hello @Ian :wave:

I’ve developed a new version of Philips Hue Scan (that scan from both https://discovery.meethue.com/ and locally) and allow users to fill in the bridge IP address if not found through discovery.

If you want to test it, please use this image

docker pull cicoub13/gladys:philips-hue-improve-scan

And I give you this tutorial about how to launch a test image (:warning: Be sure to read it before to avoid production database issues): Tutorial: Launch a test Docker image

1 Like

Awesome! I’m out of town right now but I can test it when I’m back early next week. I’ll let you know how it goes.

2 Likes

Hey @cicoub13 I was able to test this out and it works great!

1 Like

Nice! Thanks for testing :slight_smile:

@cicoub13 Don’t hesitate to ping me when the PR is ready to be merged!

@Ian FYI, I’ve merged the PR on master ( Feat philips hue improve scan by cicoub13 · Pull Request #1920 · GladysAssistant/Gladys · GitHub )

This will go live in the next version of Gladys !

@Ian Gladys Assistant 4.31 is available with the new Philips Hue scan !

Amazing thanks @cicoub13 for getting that implemented and @pierre-gilles for the updates!

1 Like