Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cast groups do not show p in docker without net=host #13239

Closed
Spartan-II-117 opened this issue Mar 15, 2018 · 6 comments
Closed

cast groups do not show p in docker without net=host #13239

Spartan-II-117 opened this issue Mar 15, 2018 · 6 comments

Comments

@Spartan-II-117
Copy link
Contributor

Make sure you are running the latest version of Home Assistant before reporting an issue.

You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:

Home Assistant release (hass --version): 0.65.5

Python release (python3 --version):
docker

Component/platform:
cast

Description of problem:
cast groups do not show up in home-assistant when using docker and only passing through individual ports, it will find the listed Chromecasts if supplied with ip addresses, but will not find any cast groups.

Expected:
cast groups to be brought in with the member chromecasts

Problem-relevant configuration.yaml entries and steps to reproduce:

  - platform: cast

  - platform: cast
    host: 10.0.0.9

  - platform: cast
    host: 10.0.0.10

  - platform: cast
    host: 10.0.0.11

Traceback (if applicable):

Additional info:
I believe @michaelarnauts may have figure out a work around to this, Any thoughts?

@michaelarnauts
Copy link
Contributor

I'm currently not using cast groups, but I'm also running without net=host.

It seems the cast group works by having one device as the master and that will announce a chromecast service on a different port. This would require some changes in home-assistant to also be able to specify a port, but I guess that would also require some changes on pychromecast.

There was a MR a while ago that implemented this, but that wasn't merged in home-assistant-libs/pychromecast#167

@Spartan-II-117
Copy link
Contributor Author

@michaelarnauts if you create a cast group, does it show up in home-assistant?

@OttoWinter
Copy link
Member

OttoWinter commented Mar 15, 2018

@michaelarnauts The problem with cast groups is that you never know how you can reach it. This is because the "elected leader" of the group always changes. Somehow the cast group needs to have a master that is sending all the audio to the other audio devices, but maybe other devices have better connectivity. So the cast protocol dynamically change the master (and port), so there's no way that we can have a configuration option for cast groups as they always change where they're reachable - we will always need discovery in some way or another (unless we start looking at the /setup/eureka_info data more closely, but that would get complicated quickly)

@OttoWinter
Copy link
Member

OttoWinter commented Mar 15, 2018

Ah sorry, now I understand the title. --net=host is required for discovery to work (it's complicated issue that I don't entirely understand, but it's somehow connected to docker net interfaces and mDNS)

So as far as I know, we sadly won't be able to get cast groups to work without discovery. Therefore we also won't get cast groups to work without --net=host in docker

@Spartan-II-117
Copy link
Contributor Author

@OttoWinter any chance i could point the discovery component at a subnet and have it run?

@OttoWinter
Copy link
Member

@Spartan-II-117 See moby/libnetwork#552, having multicast/mDNS working within docker containers inside docker is unfortunately not possible with docker. Pointing the container at a specific subnet won't solve the issue.

Closing this as we can't fix it.

@home-assistant home-assistant locked and limited conversation to collaborators Jul 26, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants