[OBSOLETE] BigTalker 2.x

Hi, i’d Like to start my community experience first by saying, WOW, this is awesome and is helping my disabled wife a great deal. I do have a quick question if I may, Is there a way to sedule Birthday reminders, future appointments etc? If not would someone be willing to point me in the right direction as to how I set this up with Big Talker. We are over the moon with this capability. 2x Raspberrypi with speakers in different rooms so far. It would also be awesome if it could notify a TV channel change via harmony :). As you can probably tell I’m just getting started with this home automation journey.

1 Like

Hi, i’d Like to start my community experience first by saying, WOW, this is awesome and is helping my disabled wife a great deal. I do have a quick question if I may, Is there a way to sedule Birthday reminders, future appointments etc? If not would someone be willing to point me in the right direction as to how I set this up with Big Talker. We are over the moon with this capability. 2x Raspberrypi with speakers in different rooms so far. It would also be awesome if it could notify a TV channel change via harmony :). As you can probably tell I’m just getting started with this home automation journey.

Is there a way to add a wait before the announce?
Is there a repeat?
What I am trying to do is announce if the door has been left open for 5 mins and then repeat that every 5 mins until the door closes

There is no way currently to add a custom delay before speaking.
I am working on adding the door/contact repeat as I have time. It will be in a future release.

1 Like

If it’s a daily/weekly reminder, you can configure BigTalker to speak at a specific time and day(s) of the week. Unfortunately it does not have the functionality to configure specific dates in the future.

I might be missing something, but how can i tell bigtalker to only speak when SHM is in Armed Home or Amred Away but not disarmed? Does this capability exist?

BigTalker can respond to SHM mode changes but a restriction for speaking doesn’t exist based on current SHM mode. You can however use home modes (Home, Away, Night, etc) as a restriction which are typically tied to SHM armed/Disarmed status.

Hi, your documetations dosnt mention(that i can see) what to do with the child app

Are you using the installation instructions in the wiki here: http://thingsthataresmart.wiki/index.php?title=BigTalker?

The IDE install instructions mention:
If installing 2.x, Publish only the parent app and then repeat the above steps but save, don’t publish the child app.

The Github Integrations install instructions mention:
Publish only the parent app (BigTalker2), save the child app (BigTalker2-Child).
Tip:
When adding code from the repo you have to add it in a specific order or the IDE will generate an internal server error. Add BigTalker2 first (publish!). Then go back and add BigTalker2-Child (save only).

Just trying out BigTalker2. It looks really good. Thanks for building it and sharing it with the community.

I think that a Once Per Day options would be a useful addition to the existing options.

@rayzurbock Brian is Big Talker abe to use the Random command so that speech spoken could be different each ime?

The closest thing I have to this is the (very limited) personality functions.
If you enable personality you can get a small amount of randomness in the phrases spoken although the pool for personality phrases is very small at the moment.

It currently consists of:

{PRE} = prepend the desired phrase
{POST} = append the desired phrase

//SWITCHES BEGIN
if (evt.value == "on") {
	if (phrase.contains("light")){
    	options = 12
  		response[1] = "{POST}please don't forget to turn the light off"
       	response[2] = "{POST}night vision goggles would do the same but I guess they are more expensive."
        response[3] = "{POST}Thanks Thomas Edison!"
        response[4] = "{POST}Wow, this is bright!"
        response[5] = "{POST}Where are my sunglasses."
        response[6] = "{POST}there goes the electricity bill!"
        response[7] = "{POST}the same old thing everyday."
        response[8] = "{POST}It is about time it was awfully dark!"
        response[9] = "{POST}Glad you are here, I was lonely"
        response[10] = "{POST}Is it time for us to play?"
        response[11] = "{PRE}Oh, Hi"
        response[12] = "{PRE}Oh, Hi there"
    } else {
    	//Something turned on, but it wasn't a light
    	options = 4
        response[1] = "{POST}there goes the electricity bill!"
        response[2] = "{POST}the same old thing everyday."
        response[3] = "{PRE}Oh, Hi"
        response[4] = "{PRE}Oh, Hi there"
    }
}
if (evt.value == "off") {
	if (phrase.contains("light")){
    	options = 12
       	response[1] = "{POST}It's about time!"
        response[2] = "{POST}time to save some money!"
        response[3] = "{POST}wow, it's dark"
        response[4] = "{POST}going green are we?"
        response[5] = "{POST}I'll still be here, in the dark."
        response[6] = "{POST}Hey! You know I am afraid of the dark."
        response[7] = "{POST}Please don't leave me alone in the dark."
        response[8] = "{POST}Good thing you turned that off it was hurting my eyes!"
        response[8] = "{POST}You really like saving money!"
        response[10] = "{POST}Is it time to go to sleep?"
        response[11] = "{PRE}Oh, Hi"
        response[12] = "{PRE}Oh, Hi there"
    } else {
    	//Something turned off, but it wasn't a light
    	options = 5
    	response[1] = "{POST}It's about time!"
        response[2] = "{POST}time to save some money!"
        response[3] = "{POST}going green are we?"
        response[4] = "{PRE}Oh, Hi"
        response[5] = "{PRE}Oh, Hi there"
    }
}
//SWITCHES END
def UseGenericRandom = 0
myRandom = (new Random().nextInt(10))
if (myRandom == 1 || myRandom == 4 || myRandom == 7) {
	//GENERIC RESPONSES BEGIN
	genericoptions = 4
	genericresponse[1] = "{PRE}Hey there"
	genericresponse[2] = "{PRE}Don't mean to bother but"
    genericresponse[3] = "{PRE}All I know is"
    genericresponse[4] = "{POST}that is all I know."
	//GENERIC RESPONSES END

Thanks Brian, I was aware of thet, I was looking more towards custom for things.

Smartthings Newb here trying to get announcements working using BigTalker and LANnouncer. BigTalker seems to be sending audio just fine when I test but it is not triggering on set triggers. The log is showing errors but I have no idea what they mean. Any help is appreciated.

438a3fec-9d89-4ebd-97e7-70950e9dbb0a  4:03:45 PM: error java.lang.NullPointerException @line 1338 (processDayRestriction)
438a3fec-9d89-4ebd-97e7-70950e9dbb0a  4:03:37 PM: trace GROUP1(C2.0.6-DEV-2) || Initialized (Parent Version: P2.0.6-DEV-1; Child Version: C2.0.6-DEV-2; Group Enabled: true)
438a3fec-9d89-4ebd-97e7-70950e9dbb0a  4:03:37 PM: trace GROUP1(C2.0.6-DEV-2) || Updating settings (Parent Version: P2.0.6-DEV-1; Child Version: C2.0.6-DEV-2; Group Enabled: true)
438a3fec-9d89-4ebd-97e7-70950e9dbb0a  4:02:06 PM: error java.lang.NullPointerException @line 1338 (processDayRestriction)
438a3fec-9d89-4ebd-97e7-70950e9dbb0a  4:01:51 PM: error java.lang.NullPointerException @line 1338 (processDayRestriction)
438a3fec-9d89-4ebd-97e7-70950e9dbb0a  4:01:39 PM: trace GROUP1(C2.0.6-DEV-2) || Initialized (Parent Version: P2.0.6-DEV-1; Child Version: C2.0.6-DEV-2; Group Enabled: true)
438a3fec-9d89-4ebd-97e7-70950e9dbb0a  4:01:38 PM: trace GROUP1(C2.0.6-DEV-2) || Updating settings (Parent Version: P2.0.6-DEV-1; Child Version: C2.0.6-DEV-2; Group Enabled: true)
438a3fec-9d89-4ebd-97e7-70950e9dbb0a  4:01:38 PM: trace GROUP1(C2.0.6-DEV-2) || Installed

I switched to VLCThing instead of LANnouncer. Same issue. It’ll work using the test but errors on capturing the events like turning a light on and off.

25046dcb-4ce0-4b94-8917-e795063059e7  5:53:37 PM: error java.lang.NullPointerException @line 1338 (processDayRestriction)
25046dcb-4ce0-4b94-8917-e795063059e7  5:53:37 PM: debug getMyVoice: settings.parent.speechVoice=Salli(en-us)
25046dcb-4ce0-4b94-8917-e795063059e7  5:53:37 PM: debug getMyVoice: deviceVoice=Not Used
25046dcb-4ce0-4b94-8917-e795063059e7  5:53:35 PM: error java.lang.NullPointerException @line 1338 (processDayRestriction)
25046dcb-4ce0-4b94-8917-e795063059e7  5:53:35 PM: debug getMyVoice: settings.parent.speechVoice=Salli(en-us)
25046dcb-4ce0-4b94-8917-e795063059e7  5:53:35 PM: debug getMyVoice: deviceVoice=Not Used

It looks like your using a Dev version. I checked my GitHub and the Dev version is 1 day older than the last 2.0.6 release.

Please try replacing the parent and child code with the non-dev version located here:
https://github.com/rayzurbock/BigTalker2/tree/master/smartapps/rayzurbock

I was already on your release version and switched messing around. I switched back with the same results.

b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:52:02 PM: error java.lang.NullPointerException @line 1338 (processDayRestriction)
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:52:02 PM: debug GROUP1(C2.0.6) || (onSwitchEvent): switch, 1, on, Salli(en-us)
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:52:02 PM: debug getMyVoice: settings.parent.speechVoice=Salli(en-us)
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:52:02 PM: debug getMyVoice: deviceVoice=Not Used
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:51:57 PM: error java.lang.NullPointerException @line 1338 (processDayRestriction)
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:51:57 PM: debug GROUP1(C2.0.6) || (onSwitchEvent): switch, 1, off, Salli(en-us)
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:51:57 PM: debug getMyVoice: settings.parent.speechVoice=Salli(en-us)
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:51:57 PM: debug getMyVoice: deviceVoice=Not Used
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:51:50 PM: error java.lang.NullPointerException @line 1338 (processDayRestriction)
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:51:50 PM: debug GROUP1(C2.0.6) || (onSwitchEvent): switch, 1, on, Salli(en-us)
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:51:50 PM: debug getMyVoice: settings.parent.speechVoice=Salli(en-us)
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:51:50 PM: debug getMyVoice: deviceVoice=Not Used
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:51:47 PM: error java.lang.NullPointerException @line 1338 (processDayRestriction)
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:51:47 PM: debug GROUP1(C2.0.6) || (onSwitchEvent): switch, 1, off, Salli(en-us)
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:51:47 PM: debug getMyVoice: settings.parent.speechVoice=Salli(en-us)
b7ad1e7f-56fe-4fba-bfd7-d767fd44b9c1  6:51:47 PM: debug getMyVoice: deviceVoice=Not Used

The error, line 1338, retrieves the current day from a date string based on your location.timeZone.

Can you login to the IDE, click on My Locations and then make sure your Time Zone is set?
Did you set your home location in the SmartThings app (Hamburger menu > Settings gear > “Tell us where your Hub is located…”

Bingo, that was it! Thanks for the support. Beers coming your way!

1 Like

Glad it’s resolved now.
Thanks for the beers!

Is there a way to have Big Talker do something if two contact sensors are open? I have cats who like to roam the house, and aren’t allowed outside. There’s one room between where they are allowed, and the the outside. Both doors have sensors on them. I’d like to have Big Talker let me (or anyone who is here) know that both doors are open so they can be closed quickly if that were possible.