[RELEASE] BigTalker 2.1.0

Can you try under some other event than switch? I often used switch (and motion) for testing code changes and you may have run into a bug in it (that I likely have corrected an the unreleased dev version). Does your TalkNow function work (BT2 Parent App > TalkNow > Select a device(s) > Type a new phrase and click away from the text box for speech to occur). Can you click Done on the switch config page, then go back into it and toggle the test switch?

Hi. I haven't been able to get big talker to work in HE.

Getting this error on the Sonos
2019-04-05 04:19:36.019 pm [error](http://10.0.1.45/device/edit/186)groovy.lang.MissingMethodException: No signature of method: sonosDriver.playTrackAndRestore() is applicable for argument types: (java.lang.String, java.lang.String, java.lang.Integer) values: [http://10.0.1.45/tts/d7db226e72cde5a18ed909bf1b4147c8.mp3, 6, ...] Possible solutions: playTrackAndRestore(java.lang.Object), playTrackAndRestore(java.lang.Object, java.lang.Object) (playTrackAndRestore)

I have music player selected in BT as the speech mode.

if I click on status in the BT app I get this error in the BT logs
2019-04-05 04:20:03.607 pm [error](http://10.0.1.45/installedapp/configure/256)java.lang.StringIndexOutOfBoundsException: String index out of range: 16 on line 3290 (pageStatus)

It sounds like the HE Sonos driver doesn't support the following call
playTrackAndRestore(uri, duration, volume)

Hubitat doesn't publish their drivers for public view so I can't look at it to see what playTrackAndRestore() supports, something I commonly did under the ST platform to learn how to handle various drivers and find commonalities.

There have been many questions about HE's playTrackAndRestore() function. I don't see a clear answer of the usage of it and the developer documentation doesn't list it.

We are shooting into the wind on this it seems. The HE implementation doesn't seem to match the same parameters that were supported under ST. This is one of the reasons I've pretty much gone silent. There's a lot of code in BT and not much guidance for what I've been custom to know as basic functions under the ST platform (until they changed their entire developer model). I've updated/streamlined a lot of the code in my unpublished version but I don't really have time to support it upon release or much desire given the lack of docs to follow to minimize issues so it's pretty stale right now.

1 Like

Thanks for the response. Sorry to hear this. BT was a big part of my ST set up.

If you want to give a test version a shot, I'll make it available to you.

1 Like

NEW RELEASE - 4/6/2019
2.0.8.5 Parent and Child Apps
Use at your own risk! There have been a lot of changes since the last release, I'm sure I forgot to document some.

Parent App Code Link: https://raw.githubusercontent.com/rayzurbock/BigTalker2/Hubitat/smartapps/rayzurbock/bigtalker2.src/bigtalker2.groovy
Child App Code Link: https://raw.githubusercontent.com/rayzurbock/BigTalker2/Hubitat/smartapps/rayzurbock/bigtalker2-child.src/bigtalker2-child.groovy

Parent App Changes:

  • Hubitat Community @Cobra Version System(modified)
  • Cosmetic adjustments to the 'About' section of the start page, inclusion of app version status
  • Ability to change app mode from 'musicPlayer' to 'speechSynthesis' or vice versa. CAUTION: selected speech devices may need to be re-selected at the Configuration Defaults page as well as any overrides selected within each event
  • Modified 'Debug logging' switch to auto-disable after 30 minutes. If the switch is enabled, debug logging is enabled for up to 30 minutes. Visiting the Configuration Defaults page anytime during/after that extends the debug logging period unless the switch is toggled to off which ends debug logging immediately.
  • Weather code migration from WeatherUnderground ST/HE platform API to directly use Weather.gov API(US weather only) based on hub GPS lat/long location, supports %weatherxxxx% vars, where xxxx = current, today, tonight, tomorrow
  • Attempt to resolve issues with playTrackAndResume/playTrackAndRestore calls in Hubitat (particularly with Sonos devices; I don't have a Sonos, so I can't test it)

Child App Changes:

  • Hubitat Community @Cobra Version System(modified)
  • New event types added
  • Alarm added, supports reaction to Off, Siren, Strobe, Both
  • FilterStatus added, supports reaction to Normal, Replace
  • Talk On Home Mode Change > Restriction > End Time changed from required to not required (debugging?)
  • Smoke alarm test variable corrected to match thrown event (defaultSpeechTest1 > defaultSpeechTested1)
  • Cosmetic and operational issue with buttons
  • Subscription for mode changes adjusted to receive mode changes only
  • Null check added for day restriction
  • Corrected issue with personality enablement/disablement introduced in C2.0.7
  • Corrected issue that prevented scheduling a speech time that was introduced in C2.0.7
  • Corrected issues with debug logging

I'm getting the same error on Sonos with 2.0.8.5

Happy to try again or provide other logs.

If you do not mind, please turn on debug logging in the Configure Defaults page (it will only stay active for 30 minutes, afterwhich for further debug logging, you'll need to toggle debug logging off and back on again).
Launch the logs in a new tab, then use TalkNow or cause an event to occur that should cause BigTalker to send speech through your Sonos.

Please PM me the results.

What type of device is being used for Filter Status? Thanks

I honestly do not know. It's on the list of supported capabilities so I added it. Any device that you have that supports that capability should show up under this event type.
Once I can get a solid Hubitat musicPlayer (Sonos, etc) implementation I plan to add a lot more of the supported capabilities. Much of the codebase has been modified to make adding these more streamlined.

https://docs.hubitat.com/index.php?title=Driver_Capability_List

Thanks for responding.

I did some looking. It looks like all there is at this time is to purchase an air flow pressure sensor and connect to a Ecolink DWZWAVE2-ECO.

Looks like Mike Maxwell did this: DIY HVAC system over pressure device - Connected Things - SmartThings Community

1 Like

If anyone else has a Sonos and wishes to also test a beta to resolve BigTalker/Sonos issues, please PM me.

(Actually if you have any musicPlayer device, I also need to make sure the Sonos adjustments to BigTalker didn't break other musicPlayer device functionality within BigTalker as well).

I'll test 2.0.8.5 with my Google Home Mini tonight when I get home as it's been working great for me.
In fact yesterday I implemented hourly announcements and it was shortly followed by my wife saying "do we really need to have timely reminders every hour now ??" :slight_smile: he he

1 Like

What type of speaker are you using? MusicPlayer or SpeechSynthesis?

I'm using SpeechSynthesis via the Google Home Mini and I couldn't wait. I jumped in from work and updated both Parent and Child and it appears to be working. :slight_smile:

1 Like

If anyone wants to test a beta release (specifically for musicPlayer mode devices such as Sonos),

If you experience issues, please go to the BigTalker parent app > Configure Defaults and toggle Debug Logging ON (if it's on, turn it off and back on), Open logs in another tab, produce the issue, copy/paste the logs and send to me in a PM.

Are you sure that %weatherxxx% works ? I'm not getting anything on my end.

Thanks for the PM'd logs. I'll check them out tonight and get back to you. Yes, weather has worked for me. It uses only Weather.gov data based on your hub location so it is US only at this time.

I'm in Spokane, WA so it should work but I'm just not hearing anything.

I found a huge bug in BigTalker2 that has existed since 2.0.0.
This bug would have prevented new event groups (child apps) from speaking for the configured events initially, until you went back into the event group and event type and made an edit/saved.
The bug is due to the child app missing a call for initialize() and thus subscribe() upon each initial install. It's called only when updated() is called.
This is resolved in the latest beta (among several other bugs found along the way) if anyone wants to try the beta and PM me feedback.

The Beta installs under a different user app name. It uses BigTalker2-Parent-DEV and BigTalker2-Child-DEV.

I am working on detecting available commands for configured speech devices as, specifically with musicPlayer, I'm finding that they do not all support the same commands or command structures. Once I have that implemented, I suspect speech will be more reliable with various speaker drivers.

If you run into a problem, please go into the parent app > Configure Defaults and toggle "Debug Logging" to On, if it's already on, it's only active for 30 minutes and simply going back into the Configure Defaults page will reactivate it for another 30 minutes (or until you toggle the switch off). Open logging, reproduce the issue and then PM me the logs.

1 Like