Ian
October 24, 2023, 3:32am
1
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
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:
const TIMEOUT = 10000;
/**
* @description Return Philips hue bridges.
* @returns {Promise<Array>} Resolve with list of bridges.
* @example
* getBridges();
*/
async function getBridges() {
this.bridges = await this.hueClient.discovery.upnpSearch(TIMEOUT);
logger.info(`PhilipsHueService: Found ${this.bridges.length} bridges`);
this.bridges.forEach((bridge) => {
this.bridgesBySerialNumber.set(bridge.model.serial, bridge);
});
return this.bridges;
}
module.exports = {
getBridges,
};
With this library ( https://github.com/peter-murray/node-hue-api/blob/typescript/docs/discovery.md#upnp-search )
Ian
October 26, 2023, 3:05am
3
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
Ian
October 26, 2023, 12:55pm
5
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)
Ian
October 29, 2023, 7:48am
7
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
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 ( Be sure to read it before to avoid production database issues): Tutorial: Launch a test Docker image
1 Like
Ian
November 1, 2023, 3:20pm
10
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
Ian
November 8, 2023, 2:14pm
11
Hey @cicoub13 I was able to test this out and it works great!
1 Like
Nice! Thanks for testing
@cicoub13 Don’t hesitate to ping me when the PR is ready to be merged!
@Ian Gladys Assistant 4.31 is available with the new Philips Hue scan !
Hi everyone!
After Gladys Assistant 4.30 and its famous alarm, here’s a new version of Gladys with lots of cool features
Thanks to all contributors for this release
Ian
November 20, 2023, 4:59pm
15
Amazing thanks @cicoub13 for getting that implemented and @pierre-gilles for the updates!
1 Like