Announcement

Collapse
No announcement yet.

Chromecast Plug-in - Beta Testing

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

    #16
    Play an Audio File

    Hi Spud. TTS seems to be working great to my Google Home.

    I have a lot of events that use an action of "Play an Audio File" to play a notification sound (mp3 file) before my TTS announcements. The events have no speaker clients defined, so the notification sound and TTS should be going to all connected speaker clients. The TTS plays fine on the Google Home and all other clients, but the mp3 file does not play at all on the Google Home even though it plays on all other clients.

    Is it possible for your plugin to intercept the "Play an Audio File" action in addition to the TTS?

    Comment


      #17
      Originally posted by teladog01 View Post

      Is it possible for your plugin to intercept the "Play an Audio File" action in addition to the TTS?
      No, unfortunately that's not possible, only the Speak actions can be intercepted

      Comment


        #18
        Will the TTS pushed to the device stop the music that is currently playing on the device? If yes can we have the music resume?

        P.s. +1 for Linux. I'm ready to buy the plug-in

        Comment


          #19
          Originally posted by Igorski88 View Post
          Will the TTS pushed to the device stop the music that is currently playing on the device? If yes can we have the music resume?

          P.s. +1 for Linux. I'm ready to buy the plug-in
          yes the TTS pushed to the device will stop the music that is currently playing on the device, but it will not resume it (and I'm not sure if it's possible to add this feature)

          The Linux version will be available probably tomorrow

          Comment


            #20
            Originally posted by spud View Post
            yes the TTS pushed to the device will stop the music that is currently playing on the device, but it will not resume it (and I'm not sure if it's possible to add this feature)

            The Linux version will be available probably tomorrow
            Will I be able to see if something is already playing? This way I can setup events that won't trigger if music is playing.

            Extremely excited and looking forward to the Linux version!

            Sent from my SM-G950U using Tapatalk

            Comment


              #21
              Originally posted by spud View Post
              No, unfortunately that's not possible, only the Speak actions can be intercepted
              As a workaround, I tried changing the "Play an Audio File" action to a "Speak Something" action, specifying the full path to the file, i.e. "C:\Program Files (x86)\HomeSeer HS3\Media\notification.mp3". Specifying full path filename in a "Speak" action (and also "hs.Speak()" script call) is supported by HomeSeer and works great on speaker.exe and HSTouch clients. But it didn't work for the Chromecast client. Here's the error in the log:

              Code:
              Sep-27 8:57:06 PM	 	Chromecast	ERROR System.NotImplementedException: Cast of audio files not implemented yet at HSPI_Chromecast.ChromecastApp.SpeakIn(Int32 device, String text, Boolean wait, String host)
              Could you add this support to the Chromecast plugin?

              Comment


                #22
                Originally posted by teladog01 View Post
                As a workaround, I tried changing the "Play an Audio File" action to a "Speak Something" action, specifying the full path to the file, i.e. "C:\Program Files (x86)\HomeSeer HS3\Media\notification.mp3". Specifying full path filename in a "Speak" action (and also "hs.Speak()" script call) is supported by HomeSeer and works great on speaker.exe and HSTouch clients. But it didn't work for the Chromecast client. Here's the error in the log:

                Code:
                Sep-27 8:57:06 PM	 	Chromecast	ERROR System.NotImplementedException: Cast of audio files not implemented yet at HSPI_Chromecast.ChromecastApp.SpeakIn(Int32 device, String text, Boolean wait, String host)
                Could you add this support to the Chromecast plugin?
                yes I will add this feature, but you will need to put your mp3 file in a subdir of the html folder otherwise it won't be available through the HS web server.

                Comment


                  #23
                  Originally posted by Igorski88 View Post
                  Will I be able to see if something is already playing? This way I can setup events that won't trigger if music is playing.

                  Extremely excited and looking forward to the Linux version!

                  Sent from my SM-G950U using Tapatalk
                  Right now you can only see if something is playing and control the playback (play/pause/stop) if the media has been loaded from HS, but in a future version I hope to make this work even if it has been triggered by another app.

                  I have posted the Linux package in first post of this thread, read the user guide for specific Linux installation steps.

                  Comment


                    #24
                    Spud, I really like having xbmc\kodi media player issue triggers to set room lights based on media playback functions. (Dim when media plays, lights up when you stop it, etc).

                    I use an Nvidia Shield TV, and lately have been using other apps/players than xbmc (youtube, netflix, plex). Is there anyway to have this plugin read the status of the android tv device to use as trigger?
                    HW: HS3 w/ Win8.1 on ASRock C2550d4i. Digi AnywhereUSB, Hubport, Edgeport, UZB, Z-trollers, PLCBUS, SONOS, GC-100, iTach IP2SL, WF2IR, IP2IR, RFXtrx433, Harmony Hubs, Hue, Ademco Vista 128BP, NetAtmo, NetAtmo Welcome

                    Google Search for HomeSeer Forum

                    Comment


                      #25
                      3.0.0.1 on Linux keeps crashing

                      Hi!

                      Tried the Chromecast plugin. Unfortunately it keeps crashing

                      Ubuntu 16.04.2 LTS (x86_64)
                      avahi-daemon 0.6.32~rc+dfsg-1ubuntu
                      HomeSeer version 3.0.0.368 Edition: HS3 Standard
                      Chromecast_Linux_3-0-0-1

                      Followed instructions for installation (and that seemed to go ok).

                      Full logs upon request.

                      Partial logs (device ids replaced with XXX):
                      mono[5302]: Oct-04 23:09:01 INFO Chromecast version 3.0.0.1
                      mono[5302]: 11:09:01:2878:[Chromecast]->INFO Chromecast version 3.0.0.1
                      mono[5302]: Oct-04 23:09:14 INFO Found Service: Google-Home-XXX
                      mono[5302]: 11:09:14:3980:[Chromecast]->INFO Found Service: Google-Home-XXX
                      mono[5302]: Oct-04 23:09:14 INFO Found Service: Google-Home-XXX
                      mono[5302]: 11:09:14:4091:[Chromecast]->INFO Found Service: Google-Home-XXX
                      mono[5302]: Oct-04 23:09:14 INFO Found Service: MIBOX3-XXX
                      mono[5302]: 11:09:14:4166:[Chromecast]->INFO Found Service: MIBOX3-XXX
                      mono[5302]: Oct-04 23:09:14 INFO Found Service: SHIELD-Android-TV-XXX
                      mono[5302]: 11:09:14:4241:[Chromecast]->INFO Found Service: SHIELD-Android-TV-XXX
                      mono[5302]: Oct-04 23:09:14 INFO Found Service: Google-Home-XXX
                      mono[5302]: 11:09:14:4324:[Chromecast]->INFO Found Service: Google-Home-XXX
                      mono[5302]: Stacktrace:
                      mono[5302]: at <unknown> <0xffffffff>
                      mono[5302]: at (wrapper managed-to-native) object.__icall_wrapper_mono_gc_wbarrier_value_copy_bitmap (intptr,intptr,intptr,intptr) <0xffffffff>
                      mono[5302]: at Avahi.ServiceResolver.OnServiceResolverCallback (intptr,int,Avahi.Protocol,Avahi.ResolverEvent,intptr,intptr ,intptr,intptr,intptr,uint16,intptr,Avahi.LookupResultFlags, intptr) <0x0049f>
                      mono[5302]: at (wrapper native-to-managed) Avahi.ServiceResolver.OnServiceResolverCallback (intptr,int,Avahi.Protocol,Avahi.ResolverEvent,intptr,intptr ,intptr,intptr,intptr,uint16,intptr,Avahi.LookupResultFlags, intptr) <0xffffffff>
                      mono[5302]: at <unknown> <0xffffffff>
                      mono[5302]: at (wrapper managed-to-native) Avahi.Client.avahi_simple_poll_loop (intptr) <0xffffffff>
                      mono[5302]: at Avahi.Client.PollLoop () <0x00047>
                      mono[5302]: at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x00099>
                      mono[5302]: at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextC allback,object,bool) <0x0016e>
                      mono[5302]: at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextC allback,object,bool) <0x00020>
                      mono[5302]: at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextC allback,object) <0x00059>
                      mono[5302]: at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
                      mono[5302]: at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>
                      mono[5302]: Native stacktrace:
                      mono[5302]: #011/usr/bin/mono() [0x49ff2f]
                      mono[5302]: #011/usr/bin/mono() [0x4f390e]
                      mono[5302]: #011/usr/bin/mono() [0x426c19]
                      mono[5302]: #011/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390) [0x7f64ef5cd390]
                      mono[5302]: #011/usr/bin/mono() [0x5eaeae]
                      mono[5302]: #011[0x406af034]
                      mono[5302]: Debug info from gdb:
                      mono[5302]: ============================================================ =====
                      mono[5302]: Got a SIGSEGV while executing native code. This usually indicates
                      mono[5302]: a fatal error in the mono runtime or one of the native libraries
                      mono[5302]: used by your application.
                      mono[5302]: ============================================================ =====
                      mono[5302]: 11:09:17:9816:[Info]->Plugin Chromecast with instance: has disconnected

                      Comment


                        #26
                        Originally posted by teladog01 View Post
                        As a workaround, I tried changing the "Play an Audio File" action to a "Speak Something" action, specifying the full path to the file, i.e. "C:\Program Files (x86)\HomeSeer HS3\Media\notification.mp3". Specifying full path filename in a "Speak" action (and also "hs.Speak()" script call) is supported by HomeSeer and works great on speaker.exe and HSTouch clients. But it didn't work for the Chromecast client. Here's the error in the log:

                        Code:
                        Sep-27 8:57:06 PM	 	Chromecast	ERROR System.NotImplementedException: Cast of audio files not implemented yet at HSPI_Chromecast.ChromecastApp.SpeakIn(Int32 device, String text, Boolean wait, String host)
                        Could you add this support to the Chromecast plugin?
                        I have added this in version 3.0.0.2.
                        The audio file MUST be somewhere under your html directory.

                        Comment


                          #27
                          Originally posted by SkipperNick View Post
                          Hi!

                          Tried the Chromecast plugin. Unfortunately it keeps crashing

                          Ubuntu 16.04.2 LTS (x86_64)
                          avahi-daemon 0.6.32~rc+dfsg-1ubuntu
                          HomeSeer version 3.0.0.368 Edition: HS3 Standard
                          Chromecast_Linux_3-0-0-1

                          Followed instructions for installation (and that seemed to go ok).

                          Full logs upon request.

                          Partial logs (device ids replaced with XXX):
                          mono[5302]: Oct-04 23:09:01 INFO Chromecast version 3.0.0.1
                          mono[5302]: 11:09:01:2878:[Chromecast]->INFO Chromecast version 3.0.0.1
                          mono[5302]: Oct-04 23:09:14 INFO Found Service: Google-Home-XXX
                          mono[5302]: 11:09:14:3980:[Chromecast]->INFO Found Service: Google-Home-XXX
                          mono[5302]: Oct-04 23:09:14 INFO Found Service: Google-Home-XXX
                          mono[5302]: 11:09:14:4091:[Chromecast]->INFO Found Service: Google-Home-XXX
                          mono[5302]: Oct-04 23:09:14 INFO Found Service: MIBOX3-XXX
                          mono[5302]: 11:09:14:4166:[Chromecast]->INFO Found Service: MIBOX3-XXX
                          mono[5302]: Oct-04 23:09:14 INFO Found Service: SHIELD-Android-TV-XXX
                          mono[5302]: 11:09:14:4241:[Chromecast]->INFO Found Service: SHIELD-Android-TV-XXX
                          mono[5302]: Oct-04 23:09:14 INFO Found Service: Google-Home-XXX
                          mono[5302]: 11:09:14:4324:[Chromecast]->INFO Found Service: Google-Home-XXX
                          mono[5302]: Stacktrace:
                          mono[5302]: at <unknown> <0xffffffff>
                          mono[5302]: at (wrapper managed-to-native) object.__icall_wrapper_mono_gc_wbarrier_value_copy_bitmap (intptr,intptr,intptr,intptr) <0xffffffff>
                          mono[5302]: at Avahi.ServiceResolver.OnServiceResolverCallback (intptr,int,Avahi.Protocol,Avahi.ResolverEvent,intptr,intptr ,intptr,intptr,intptr,uint16,intptr,Avahi.LookupResultFlags, intptr) <0x0049f>
                          mono[5302]: at (wrapper native-to-managed) Avahi.ServiceResolver.OnServiceResolverCallback (intptr,int,Avahi.Protocol,Avahi.ResolverEvent,intptr,intptr ,intptr,intptr,intptr,uint16,intptr,Avahi.LookupResultFlags, intptr) <0xffffffff>
                          mono[5302]: at <unknown> <0xffffffff>
                          mono[5302]: at (wrapper managed-to-native) Avahi.Client.avahi_simple_poll_loop (intptr) <0xffffffff>
                          mono[5302]: at Avahi.Client.PollLoop () <0x00047>
                          mono[5302]: at System.Threading.ThreadHelper.ThreadStart_Context (object) <0x00099>
                          mono[5302]: at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext,System.Threading.ContextC allback,object,bool) <0x0016e>
                          mono[5302]: at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextC allback,object,bool) <0x00020>
                          mono[5302]: at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext,System.Threading.ContextC allback,object) <0x00059>
                          mono[5302]: at System.Threading.ThreadHelper.ThreadStart () <0x0002e>
                          mono[5302]: at (wrapper runtime-invoke) object.runtime_invoke_void__this__ (object,intptr,intptr,intptr) <0xffffffff>
                          mono[5302]: Native stacktrace:
                          mono[5302]: #011/usr/bin/mono() [0x49ff2f]
                          mono[5302]: #011/usr/bin/mono() [0x4f390e]
                          mono[5302]: #011/usr/bin/mono() [0x426c19]
                          mono[5302]: #011/lib/x86_64-linux-gnu/libpthread.so.0(+0x11390) [0x7f64ef5cd390]
                          mono[5302]: #011/usr/bin/mono() [0x5eaeae]
                          mono[5302]: #011[0x406af034]
                          mono[5302]: Debug info from gdb:
                          mono[5302]: ============================================================ =====
                          mono[5302]: Got a SIGSEGV while executing native code. This usually indicates
                          mono[5302]: a fatal error in the mono runtime or one of the native libraries
                          mono[5302]: used by your application.
                          mono[5302]: ============================================================ =====
                          mono[5302]: 11:09:17:9816:[Info]->Plugin Chromecast with instance: has disconnected
                          Please retry with version 3.0.0.2, I believe I have fixed this crash. Thanks

                          Comment


                            #28
                            I installed the plugin, but it won't see my Chromecasts.
                            They are connected to my google wifi and Google wifi has it's own network (192.168.86.xxx).
                            So I think I need to setup some port forwarding in Google wifi so HS can 'see' the Chromecasts.
                            I have 2 Chromecasts. How do I do this?
                            Peter

                            http://ohh.pcgsm.nl

                            Comment


                              #29
                              Found that Chromecast uses port 8008.
                              So I forwarded that port.
                              On my HS server in a browser I can go to:
                              http://192.168.1.159:8008/ssdp/device-desc.xml
                              And I get :
                              Code:
                              <root xmlns="urn:schemas-upnp-org:device-1-0">
                              <specVersion>
                              <major>1</major>
                              <minor>0</minor>
                              </specVersion>
                              <URLBase>http://192.168.1.159:8008</URLBase>
                              <device>
                              <deviceType>urn:dial-multiscreen-org:device:dial:1</deviceType>
                              <friendlyName>Doberman ChromecastAudio</friendlyName>
                              <manufacturer>Google Inc.</manufacturer>
                              <modelName>Chromecast Audio</modelName>
                              <UDN>uuid:7babfb09-3f16-55b0-4d33-e8b47d21d081</UDN>
                              <iconList>
                              <icon>
                              <mimetype>image/png</mimetype>
                              <width>98</width>
                              <height>55</height>
                              <depth>32</depth>
                              <url>/setup/icon.png</url>
                              </icon>
                              </iconList>
                              <serviceList>
                              <service>
                              <serviceType>urn:dial-multiscreen-org:service:dial:1</serviceType>
                              <serviceId>urn:dial-multiscreen-org:serviceId:dial</serviceId>
                              <controlURL>/ssdp/notfound</controlURL>
                              <eventSubURL>/ssdp/notfound</eventSubURL>
                              <SCPDURL>/ssdp/notfound</SCPDURL>
                              </service>
                              </serviceList>
                              </device>
                              </root>
                              But the plugin can't find the Chromecast.
                              Can I manually set the addres in the ini file?
                              Peter

                              http://ohh.pcgsm.nl

                              Comment


                                #30
                                Originally posted by peterpc View Post
                                Found that Chromecast uses port 8008.
                                So I forwarded that port.
                                On my HS server in a browser I can go to:
                                http://192.168.1.159:8008/ssdp/device-desc.xml
                                And I get :
                                Code:
                                <root xmlns="urn:schemas-upnp-org:device-1-0">
                                <specVersion>
                                <major>1</major>
                                <minor>0</minor>
                                </specVersion>
                                <URLBase>http://192.168.1.159:8008</URLBase>
                                <device>
                                <deviceType>urn:dial-multiscreen-org:device:dial:1</deviceType>
                                <friendlyName>Doberman ChromecastAudio</friendlyName>
                                <manufacturer>Google Inc.</manufacturer>
                                <modelName>Chromecast Audio</modelName>
                                <UDN>uuid:7babfb09-3f16-55b0-4d33-e8b47d21d081</UDN>
                                <iconList>
                                <icon>
                                <mimetype>image/png</mimetype>
                                <width>98</width>
                                <height>55</height>
                                <depth>32</depth>
                                <url>/setup/icon.png</url>
                                </icon>
                                </iconList>
                                <serviceList>
                                <service>
                                <serviceType>urn:dial-multiscreen-org:service:dial:1</serviceType>
                                <serviceId>urn:dial-multiscreen-org:serviceId:dial</serviceId>
                                <controlURL>/ssdp/notfound</controlURL>
                                <eventSubURL>/ssdp/notfound</eventSubURL>
                                <SCPDURL>/ssdp/notfound</SCPDURL>
                                </service>
                                </serviceList>
                                </device>
                                </root>
                                But the plugin can't find the Chromecast.
                                Can I manually set the addres in the ini file?
                                Peter, I'm not sure to understand how Google wifi works and how your network is configured?

                                You have the Kodi plugin and it discovers the Kodi instance on your network, right?
                                The Chromecast and Kodi plugins use the same exact mechanism for discovery (i.e Bonjour), so I guess Bonjour is installed and running on your HS3 machine?
                                From chrome on your HS3 machine if you open the "Cast..." menu does it finds your chromecasts?

                                Right now you can't manually set the ip address in the ini, but I may add this feature in a future version

                                Comment

                                Working...
                                X