Announcement

Collapse
No announcement yet.

Feature: Add option to delay TTS stream after connection

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Feature: Add option to delay TTS stream after connection

    When a LAN has a very large number of GH devices there sometimes will be misses on some units where you hear the tone, but miss the TTS. Presumably some are a little slow to respond before the TTS media is sent. Can we add a configurable option to introduce a delay after the multicast connection, but before the TTS media is sent? In the perfect world this delay would be in seconds to the tenth decimal for fine-tuning.

    I also notice that the plugin holds the TTS audio open on the device for 'x' seconds/minutes after the TTS is spoken. In cases where you fire two TTS events close together the stream is always perfect since the connection was previously established. If we had control over this to hold it open (much) longer that can also work.

    #2
    I've experienced an issue similar to this, I think. I send HS TTS to a speaker group. I send a WAV file right before the TTS. What I hear is the cast connect sound, followed by either the WAV or the TTS but rarely both as I expect. I'm using .35.
    HomeSeer 3, Insteon, Z-wave, USB-UIRT, Google Hub/Chromecasts/Smart Speakers, Foscam cameras, Amcrest camera, RCA HSDB2a doorbell
    Plugins: BLLAN, BLOccupied, BLUSBUIRT, Chromecast, Insteon, Jon00 Homeseer/Echo Skill Helper, Jon00 DB Charting, MediaController, NetCAM, PHLocation2, Pushover 3P, weatherXML, Z-wave

    Comment


      #3
      I was watching this more closely. I found when this scenario "hits" and we hear the tone but not the TTS, if any other TTS's are fired afterwards while the connection is open they also will not play on the affected device that just had the tone. Once the timeout hits and it disconnects it will then work fine again. I also see this happens in both a Chromecast group and stsandalone TTS devices selected via the plugin config.

      Comment


        #4
        I am experiencing this same behavior and it means we miss a lot of messages.

        Is there any fix for this?

        thanks,

        Scott

        Comment


          #5
          in version 3.0.0.42 which is in the beta section of the updater I have fixed a problem that may be related to the issues you describe here. Please test it and let me know.
          see this thread: https://forums.homeseer.com/forum/me...ud/1323677-bug

          Comment


            #6
            Installed the beta earlier today, I am still experiencing the same issue. First part of TTS is missing, not always the same length. But if it has been a while since the last message I don't get the first part played.

            Scott

            Comment


              #7
              Originally posted by sbessel View Post
              Installed the beta earlier today, I am still experiencing the same issue. First part of TTS is missing, not always the same length. But if it has been a while since the last message I don't get the first part played.

              Scott
              what kind of Chromecast devices are you testing with?
              could you set the log level to Debug and capture the problem, thanks!

              Comment


                #8
                Originally posted by spud View Post

                what kind of Chromecast devices are you testing with?
                could you set the log level to Debug and capture the problem, thanks!
                I am running a google home mini and 2 of the new Nest mini's

                Attached is the logs you requested. One is your log set at debug, the other is HS.

                I ran this to a single speaker, one of the nest mini's.

                I heard the volume change, then the standard google double boop...

                I heard nothing till the "Today's forecast" started, so I missed the current time and temp line.

                The today forecast cutoff at 59.
                Then I heard the remaining tomorrow forecast.

                This is a common scenario, although the timing of what I hear seems to change randomly. I have tried putting in different delays in the event, but that just seemed to add to the awkward silence.

                Click image for larger version

Name:	HSEvent.jpg
Views:	107
Size:	70.9 KB
ID:	1344645

                Comment


                  #9
                  Originally posted by sbessel View Post

                  I am running a google home mini and 2 of the new Nest mini's

                  Attached is the logs you requested. One is your log set at debug, the other is HS.

                  I ran this to a single speaker, one of the nest mini's.

                  I heard the volume change, then the standard google double boop...

                  I heard nothing till the "Today's forecast" started, so I missed the current time and temp line.

                  The today forecast cutoff at 59.
                  Then I heard the remaining tomorrow forecast.

                  This is a common scenario, although the timing of what I hear seems to change randomly. I have tried putting in different delays in the event, but that just seemed to add to the awkward silence.

                  Click image for larger version

Name:	HSEvent.jpg
Views:	107
Size:	70.9 KB
ID:	1344645
                  are you sure you are running version 3.0.0.42? It seems the bug I fixed still shows in your logs.
                  Try to reinstall from the updater beta section and make sure to disable the plugin before installing, and to check in the logs that Sharpcaster.dll has been updated after installing.

                  As you figured out, the plugin does not honor the "wait for speaking to finish" option, so you need to add some wait action if you have some additional action to run after.. But why don't you use only one Speak action in your event and append you 3 messages to a big one?

                  Comment


                    #10
                    Originally posted by spud View Post

                    are you sure you are running version 3.0.0.42? It seems the bug I fixed still shows in your logs.
                    Try to reinstall from the updater beta section and make sure to disable the plugin before installing, and to check in the logs that Sharpcaster.dll has been updated after installing.

                    As you figured out, the plugin does not honor the "wait for speaking to finish" option, so you need to add some wait action if you have some additional action to run after.. But why don't you use only one Speak action in your event and append you 3 messages to a big one?
                    I tried the beta version and that wreaked havoc on my system, it would not start and kept looping. I had to disable the plugin and restart my system and then put the release version back before I could start the plugin.

                    I also tried putting all of the text on a single line and it would just refuse to play anything. It felt like there was a limit and I passed it.

                    I may try the beta again, but it really has me gun-shy... my linux box is relativity new and does not stop/restart as well or cleanly as I like, so I am trying to avoid things that force a restart.

                    Scott

                    Comment


                      #11
                      Originally posted by sbessel View Post

                      I tried the beta version and that wreaked havoc on my system, it would not start and kept looping. I had to disable the plugin and restart my system and then put the release version back before I could start the plugin.

                      I also tried putting all of the text on a single line and it would just refuse to play anything. It felt like there was a limit and I passed it.

                      I may try the beta again, but it really has me gun-shy... my linux box is relativity new and does not stop/restart as well or cleanly as I like, so I am trying to avoid things that force a restart.

                      Scott
                      so what is the version number with which the you produced the logs above?

                      I think it doesn't work when you use only one Speak action because of the bug I fixed in 3.0.0.42, so try to install it again, and change your event to only one speak action

                      Comment


                        #12
                        yea, I realized after posting that if I didn't have the beta it was pointless
                        I will try again when I have some free time and let you know the results.

                        I did run the beta for a day but had to revert it back and that was before the logs.

                        Scott

                        Comment


                          #13
                          Originally posted by sbessel View Post
                          yea, I realized after posting that if I didn't have the beta it was pointless
                          I will try again when I have some free time and let you know the results.

                          I did run the beta for a day but had to revert it back and that was before the logs.

                          Scott
                          Can you just tell me what is the release version on Linux you have now? There may be a problem with the updater between Linux and Windows versions

                          Comment


                            #14
                            Ok...

                            I just installed the beta, .42 - and I cannot get it to stay running. let alone play anything...

                            I am going back to the .39 for a while.

                            Scott



                            Attached Files

                            Comment


                              #15
                              Could be I am running into multiple issues.
                              Back on .39 and I can't get a wav file to play.

                              Looks like a bug in the path...
                              Dec 5 16:29:59 bessel-homeseer mono[18722]: 04:29:59:6869:[Event]->Event Testing Chromecast voice test triggered by the event page 'Run' button.

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: 04:29:59:6869:[Event]->Event Testing Chromecast voice test triggered by the event page 'Run' button.

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: 04:29:59:6879:[Event]->Event Trigger "Testing Chromecast voice test"

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: PlayWavFile: /home/administraor/HomeSeer/Media/TriangleDinnerBell.wav

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: Dec-05 16:29:59 ERROR System.IO.DirectoryNotFoundException: Could not find a part of the path "/home/administraor/HomeSeer\Media/TriangleDinnerBell.wav".

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x00164] in <285579f54af44a2ca048dad6be20e190>:0

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options) [0x00000] in <285579f54af44a2ca048dad6be20e190>:0

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System. IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions)

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at System.IO.FileSystem.CopyFile (System.String sourceFullPath, System.String destFullPath, System.Boolean overwrite) [0x00025] in <285579f54af44a2ca048dad6be20e190>:0

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at System.IO.File.Copy (System.String sourceFileName, System.String destFileName, System.Boolean overwrite) [0x00062] in <285579f54af44a2ca048dad6be20e190>:0

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at System.IO.File.Copy (System.String sourceFileName, System.String destFileName) [0x00000] in <285579f54af44a2ca048dad6be20e190>:0

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at HSPI_Chromecast.ChromecastTarget.PlayAudioFileEventHandler (System.Object sender, HSPI_Chromecast.SpeakerClient+PlayAudioFileArgs args) [0x00090] in <7f745669ac054ae9b9147370599e0bce>:0

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: 04:29:59:7260:[Chromecast]->ERROR System.IO.DirectoryNotFoundException: Could not find a part of the path "/home/administraor/HomeSeer\Media/TriangleDinnerBell.wav".

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x00164] in <285579f54af44a2ca048dad6be20e190>:0

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options) [0x00000] in <285579f54af44a2ca048dad6be20e190>:0

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at (wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System. IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions)

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at System.IO.FileSystem.CopyFile (System.String sourceFullPath, System.String destFullPath, System.Boolean overwrite) [0x00025] in <285579f54af44a2ca048dad6be20e190>:0

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at System.IO.File.Copy (System.String sourceFileName, System.String destFileName, System.Boolean overwrite) [0x00062] in <285579f54af44a2ca048dad6be20e190>:0

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at System.IO.File.Copy (System.String sourceFileName, System.String destFileName) [0x00000] in <285579f54af44a2ca048dad6be20e190>:0

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: at HSPI_Chromecast.ChromecastTarget.PlayAudioFileEventHandler (System.Object sender, HSPI_Chromecast.SpeakerClient+PlayAudioFileArgs args) [0x00090] in <7f745669ac054ae9b9147370599e0bce>:0

                              Dec 5 16:29:59 bessel-homeseer mono[18722]: Playing WAVE '/home/administraor/HomeSeer/Media/TriangleDinnerBell.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo

                              Comment

                              Working...
                              X