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

Different Google Cast devices #26

Open
romaincointepas opened this issue Dec 8, 2016 · 2 comments
Open

Different Google Cast devices #26

romaincointepas opened this issue Dec 8, 2016 · 2 comments

Comments

@romaincointepas
Copy link

romaincointepas commented Dec 8, 2016

Right now it seems that this library will show all Google Cast devices that have device.manufacturer = "Google Inc.".

As far as I know, the only way to know at discovery time if a Google Cast-compatible device (including Google's own devices) is audio-only is by matching the device.manufacturer and/or device. modelName to a list (I've pasted below the SSDP response for Google Home that is audio-only).

I'm also wondering if all Google Cast compatible devices (ex: NVIDIA Shield, Sony Bravia, etc.) will answer with device.manufacturer = "Google Inc." (I'm assuming they don't).

It would be great if this library could also returns device.modelName as a property, and potentially add an option to not filter Google Inc. as manufacturer and returns device.manufacturer as well so anyone with a more advanced use-case (and time on its hand) could offer a better experience.

Something that could be cool would be a property audioOnly that is true if we're sure it's an audio-only device, otherwise false (and a comprehensive list could be maintained in the lib, starting with the obvious Chromecast Audio and Google Home).

While I'm not sure I'm the right person for a PR, I'm definitely open to report back on any manufacturer/modelName I encounter in the wild. Maybe the folks at webtorrent-desktop knows more about this (@feross, @dcposch).

I've also find this if it helps:


{
   "$":{
      "xmlns":"urn:schemas-upnp-org:device-1-0"
   },
   "specVersion":{
      "major":"1",
      "minor":"0"
   },
   "URLBase":"http://10.0.0.37:8008",
   "device":{
      "deviceType":"urn:dial-multiscreen-org:device:dial:1",
      "friendlyName":"Living Room",
      "manufacturer":"Google Inc.",
      "modelName":"Google Home",
      "UDN":"uuid:fee5c0d9-7475-b74a-1a14-xxx",
      "iconList":{
         "icon":{
            "mimetype":"image/png",
            "width":"98",
            "height":"55",
            "depth":"32",
            "url":"/setup/icon.png"
         }
      },
      "serviceList":{
         "service":{
            "serviceType":"urn:dial-multiscreen-org:service:dial:1",
            "serviceId":"urn:dial-multiscreen-org:serviceId:dial",
            "controlURL":"/ssdp/notfound",
            "eventSubURL":"/ssdp/notfound"
         }
      }
   }
}
@feross
Copy link
Collaborator

feross commented Dec 9, 2016

I think that this idea makes a lot of sense.

I have a Chromecast Audio that I can test the audioOnly feature on, if you (or someone else) wants to send a PR.

@mafintosh
Copy link
Owner

👍

jmsaulnier added a commit to jmsaulnier/chromecasts that referenced this issue Jan 2, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants