Announcement

Collapse
No announcement yet.

AK Google Cast plugin - Google Chromecast and Google Home - introduction

Collapse
This is a sticky topic.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • AK Google Cast plugin - Google Chromecast and Google Home - introduction

    .
    HomeSeer plugin for using Google Chromecast / Google Home devices as HomeSeer speech clients, monitoring and control of currently playing media, and sending Audio/Video media and Web-pages to Google Chromecast/Google Home devices.


    https://shop.homeseer.com/products/a...lug-in-for-hs3

    Features:
    • Automatically discovers Google Chromecast and Google Home devices devices on network using mDNS (Windows) and Avahi DBus (Linux) ZeroConf technologies
    • Creates HomeSeer Speaker Client for each discovered device to allow selection in TTS action
    • Creates many HomeSeer devices for each Chromecast - Title, Artist, Album, Image, Volume, ContentID (clickable link), track position slider, etc.
    • Selection between HomeSeer and Google Translate voices with language selection
    • Many configuration options for each Chromecast/Google Home device
    • Event Action for sending media and webpages to Chromecat/Google Home, including currently playing media, i.e. open current Chromecast Backdrop image (my favourite)
    Click image for larger version  Name:	Backdrop1.PNG Views:	3 Size:	245.5 KB ID:	1310633


    After devices are configured - they will appear in Homeseer speech client list:

    Click image for larger version  Name:	SpeechClient.PNG Views:	0 Size:	274.6 KB ID:	1310639

    And a new Action is added "Googlecast: Cast Media":

    Click image for larger version  Name:	castmedia.PNG Views:	0 Size:	108.0 KB ID:	1310643

  • #2
    Configuration

    After installing and enabling the plugin it will automatically discover Google Chromecast and Google Home devices on the network.

    Note 1: On Linux discovery depends on avahi-daemon which is normally installed and started automatically.
    Note 2: If Discovery fails for any reason - devices can be added manually by clicking Click image for larger version  Name:	Config1plus.png Views:	0 Size:	1.1 KB ID:	1310637button and configuring IP Address, Port number and device name

    Click image for larger version  Name:	Config1.PNG Views:	0 Size:	143.8 KB ID:	1310635

    Once device is discovered it can be configured by clicking on the device Name:

    Click image for larger version  Name:	Config2.PNG Views:	0 Size:	255.6 KB ID:	1310636

    Note: "Device Name" above should match the Name assigned in Google Home app, otherwise discovery service will crate a new HS device.

    Comment


    • #3
      Reserved

      Comment


      • #4
        I hope this isn’t inappropriate to ask but what differs between this and Spud’s plugin? All for healthy competition

        Comment


        • #5
          Originally posted by kideon View Post
          I hope this isn’t inappropriate to ask but what differs between this and Spud’s plugin? All for healthy competition
          1. As there are free Chromecast libraries available - I decided to write my own plugin - so it's my baby and I'm free to fix bugs and add features when I want.
          What I wanted to do (next versions) - collect history of played media to be able to replay it later.
          2. That was actually main reason why I started this plugin - I like Chromecast Backdrop images (slide show) - but they don't show much info about the images. So I extract urls from the media info - and I can click on the extracted link to see where the image came from.
          3. Spud's plugin uses additional services to discover devices on network (Apple Bonjour on Windows and Avahi provider on Linux). I don't like to require to install extra stuff, and for me it didn't quite work - was discovering Chromecast, but not Google Home. So I spent a lot of time investigating Zeroconf technologies to make it more reliable without extra services.
          4. Displaying current track position and having a scrollbar to seek to different position (see image below - number 3). Click image for larger version  Name:	trackpos.png Views:	0 Size:	2.3 KB ID:	1310802
          5. More configuration options for each device - accessible directly by clicking on the root device name.
          6. Instead of enabling/disabling TTS in configuration for devices when an Application is running - I use configurable prefix - default (!) - to be able to disable TTS per message - so I can still send important messages even if there's an Application running.
          7. And I'm investigating how to store currently running application and media to be able to interrupt it with TTS announcement - and then restore previous media.
          8. Ability to Cast current media - both from gui controls and event action - i.e. when I like a Backdrop image - I click the button (button 1 below) - and it will send the image url to the Chromecast
          9. Ability to enable/disable devices from controls/events - not only from configuration - (button 2 below)
          Click image for larger version  Name:	controls.PNG Views:	0 Size:	8.7 KB ID:	1310801

          10. I don't have an extra "root" device without any useful functionality.
          11. ContentID and ContentType devices - not only for display - you can set their "device string" values to required url and MIME type - and by using the button 1 (the image above) cast the media. Note: to cast a webpage the media type is "iframe".
          12. Ability to hide each device type separately - i.e. instead of using "Artist" and "Title" devices - I prefer using the "Title (Artist)" device, but some users may want them separately.
          13. In all my plugins - per device logging checkboxes - so if there's a problem with particular device - no need to filter out other devices messages.
          14. I always try to improve usability and improve user experience - I'm professional software engineer with 30 years experience in high reliability and user facing application (as some can remember from my conversations with bsobel )

          Comment


          • #6
            if I understand properly the last picture on post #2. I think your plugin provide the the ability change the ''real'' chromecast linked to the hs3 devices refs, by changing the device id ? So do not need to change any events if there's a problem with a chromecast.

            Comment


            • #7
              Hi MattL0 , by default I actually use the device "Name", not "ID" - because I noticed the ID is not constant and may change, but the name is assigned by the user to each device doesn't change, at least by itself. But everything is configurable anyway.

              The only requirement is that each device is assigned a unique name.

              Originally posted by MattL0 View Post
              if I understand properly the last picture on post #2. I think your plugin provide the the ability change the ''real'' chromecast linked to the hs3 devices refs, by changing the device id ? So do not need to change any events if there's a problem with a chromecast.

              Comment


              • #8
                Wish I’d known this was in development before paying for Spud’s on the last sale. Would have waited and evaluated both

                Comment


                • #9
                  I wish also I would done it sooner, I wanted to use my Google Home mini devices and didn't even know about Spud's plugin

                  Comment


                  • #10
                    This may be too much scope for the plugin but one thing I was going to research was being able to compose an image based on data from HS3, other images (ie. camera, weather, etc) essentially making a dashboard that could be casted out. Eventually, it could be a video with some pizazz. With your background in software and user interface design this could be a worthwhile endeavor and I would definitely pay for that.

                    Comment


                    • #11
                      I think it may be possible already - using Jon00 Homeseer 2 web page (Quick view) builder to generate the page and then cast it to Google chromecast.
                      I know some users (Pete? MattL0?) already somehow create a webpage with camera views and cast them.

                      Comment


                      • #12
                        Looking for themable animated movie like experience. Guess that’s a pipe dream

                        Comment


                        • #13
                          Originally posted by kideon View Post
                          Looking for themable animated movie like experience. Guess that’s a pipe dream
                          Why not? Anything is possible. Probably need more details of your dream. And probably in a different thread.

                          Comment


                          • #14
                            One of the big problems that I have with my Audiocast devices is they go to sleep. I've had to do crazy things with Spuds plugin just to be able to use TTS with my devices, but its not consistent.

                            Does your PI have any built in mechanisms to wake a speaker up?

                            Sent from my ASUS_Z00AD using Tapatalk

                            RJ_Make On YouTube

                            Comment


                            • #15
                              Do you mean "Google Chromecast Audio" or actual Audiocast?

                              Comment

                              Working...
                              X