BigTalker

The Unofficial SmartThings Blog
Jump to: navigation, search

Big Talker

Have you ever wanted a talking house? Now you can! With the Big Talker SmartApp (2.x branch) | [https://github.com/rayzurbock/BigTalker2 (2.x development branch) | (1.1.12-obsolete)

When SmartThings is paired with a compatible audio device (such as a Sonos, Ubi, LANnouncer, VLCThing, AskAlexa, etc) and Big Talker SmartApp, your house can say what you want it to say when events occur.

Author's Community Profile: https://community.smartthings.com/u/rayzurbock/summary

SmartThings Community Discussion Thread: https://community.smartthings.com/t/release-bigtalker-2-x/118105

Currently supported events:

  • Time: Time of Day + Day(s) of Week
  • Motion: Active/Inactive
  • Switch: On/Off
  • Presence: Arrive/Depart
  • Lock: Lock/Unlock
  • Contact: Open/Close
  • Mode: Change (Home, Away, etc)
  • Thermostat: Cooling/Heating/Fan/Idle(not running)
  • Acceleration: Active/Inactive
  • Water: Wet/Dry
  • Smoke: Detect/Clear/Test
  • Button: Press or Held
  • Smart Home Monitor Status: Armed-Away, Armed-Home, Disarmed
  • Power Meter: High, Normal, Low Wattage
  • Routine: Speak when a routine is executed

Phrase Tokens/Variables

Voice phrases support the following variables (will be replaced with actual phrase when triggered)

  • %askalexa% = Send phrase to [AskAlexa message queue]. (Alexa, Tell SmartThings to play messages)
  • %date% = Current date; January 01
  • %day% = Current day; Monday
  • %devicename% = Triggering devices display name
  • %devicetype% = Triggering device type; motion, switch, etc…
  • %devicechange% = State change that occurred; on/off, active/inactive, etc…
  • %description% = The description of the event that is to be displayed to the user in the mobile application
  • %groupname% = Play Device group name (ie: group/room name that you have setup for this set of events)
  • %locationname% = Hub Location name; home, work, etc…
  • %lastmode% = Last home mode; home, away, etc…
  • %mode% = Current home mode; home, away, etc…
  • %mp3(url)% = Play hosted MP3 audio file from url. Example: %mp3(http://www.somesite.com/audio.mp3)%
    • musicPlayer devices only (Sonos, etc). Does not support speechSynthesis devices such as Ubi and LANnouncer among others.
    • Cannot be mixed with any other text in the event's phrase
  • %time% = Current time; HH:mm am/pm
  • %shmstatus% = SmartHome Monitor Status (Disarmed, Armed Stay, Armed Away)
  • %value% = Wattage value (only applicable in Power Meter events)
  • %weathercurrent% = Current weather (from Weather Underground; based on SmartThings Hub Zipcode)
  • %weathertoday% = Today’s weather forecast (from Weather Underground; based on SmartThings Hub Zipcode)
  • %weathertonight% = Tonight’s weather forecast (from Weather Underground; based on SmartThings Hub Zipcode)
  • %weathertomorrow% = Tomorrow’s weather forecast (from Weather Underground; based on SmartThings Hub Zipcode)
  • %weathercurrent(00000)% = Current weather (from Weather Underground; using custom Zipcode; replace 00000)
  • %weathertoday(00000)% = Today’s weather forecast (from Weather Underground; using custom Zipcode; replace 00000)
  • %weathertonight(00000)% = Tonight’s weather forecast (from Weather Underground; using custom Zipcode; replace 00000)
  • %weathertomorrow(00000)% = Tomorrow’s weather forecast (from Weather Underground; using custom Zipcode; replace 00000)

Note: (00000) can also be replaced by any supported location of the WeatherUnderground API such as (France/Paris), (latitude,longitude), (AirportCode), (State/City)

For example when turning off a switch named “Office Light” with a spoken phrase of "%devicename% %devicetype% has been turned %devicechange%" would speak "Office light switch has been turned off".

Another example would be to create a simulated switch that is turned ON in the morning by your Good Morning routine, and then OFF at night with your Good Night routine. Then set up a Big Talker switch event group tied to that switch’s ON event that speaks "Good Morning. %weathercurrent% %weathertoday%"

Keep in mind, if you configure highly active or too many devices, it may get annoying or cut a previous message off!! We had a family gathering and the kids kept going in/out the back door to play in the yard. “Back Door has been opened, Back Door has been closed, Back Door has been opened, you get the idea.” I wouldn’t configure chatty motion sensors either, but that’s up to you.

Have Fun!

Support the project (optional)

This SmartApp is free. Donations to support development efforts are accepted via (non-refundable, no guarantee of service/support):

  • Cash.me (Debit cards = free, Credit cards charge 3% on top of your donation)
  • PayPal to: rayzur [at] rayzurbock.com
  • PayPal Donation (for supporters with or without a Paypal account)
  • Square Marketplace (Donation is reduced by 2.9% + .30)

Issues

Please check the latest posts below for known issues and file bug reports / feature requests on GitHub for better tracking here: https://github.com/rayzurbock/BigTalker2/issues

Latest Version

The code for the SmartThings SmartApp is found on the GitHub site:

  LATEST VERSION (2.0.6 3/15/2018)
     PARENT APP CODE
     CHILD APP CODE
     [Revision History]
  LATEST DEVELOPMENT/BETA VERSION (2.0.6-Dev-2 3/14/2018)
     PARENT APP CODE
     CHILD APP CODE
     [Revision History]
  LAST 1.x RELEASE (1.1.12 - discontinued)   
     APP CODE (1.1.12 3/13/2017) 
     [Revision History]

Installation via IDE

  • While on the GitHub site, Select all of the code (typically CTRL+A) and copy It (typically CTRL+C).

Loginscreen.jpg

  • Once you are logged in, find the My SmartApps link on the top of the page. Clicking My SmartApps will allow you to produce a new SmartApp.

MySmartApps.png

  • Find the button on this page labeled +New SmartApp and click it.

+NewSmartApp.png

  • Since you already have the code in your computer’s clipboard, find the tab along the top section called From Code. In the area provided, paste (typically CTRL+V) the code you copied from GitHub. Click Create in the bottom left corner of the page.

NewSmartAppCreate.png

  • This will bring up another page, with the code now formatted within the IDE. If the code was copied correctly, there are no other steps except to save and publish the code. In the upper right corner of the page, find and click Save. Now, click Publish (For Me), and you should receive a confirmation that the code has been published successfully.
    • If installing 2.x, Publish only the parent app and then repeat the above steps but save, don't publish the child app.

SavePublish.png

Installation via GitHub Integration

For advanced users who have their SmartThings IDE integrated with GitHub, the installation and maintaining of SmartThings SmartApp code becomes very simple. This manual will not go into detail about setting up your IDE with GitHub; those instructions can be found on the SmartThings web site [[1]]

Once you have integration configured, the code you need will be available to you to download and keep in sync with the latest versions.

  • First, find the Settings button at the top of your SmartThings IDE page (this will only appear after you integrate with GitHub)

IdeSettings.jpg

  • Clicking this button will open the GitHub Repository Integration page. To find the BigTalker SmartApp code, enter the information (Owner, Name and Branch) as you see it below (If you wish to try the latest development releases, or the old 1.1.12(no support) version those settings have been provided for you as well):
Owner Name Branch Note Revision History
rayzurbock BigTalker2 master 2.0.6 [Revision History]
rayzurbock BigTalker2 development 2.0.6 [Revision History]
rayzurbock BigTalker master 1.1.12 (discontinued) [Revision History]
  • Close the GitHub Repository Integration page
  • Next, click the Update from Repo button at the upper-right corner of the IDE
  • On the right-hand column, scroll down to click the apps you want to install (BigTalker2).
  • 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).

Installation via Community SmartApp Installer

Related SmartApps/Device Handlers

License

Copyright [2018] [Brian S. Lowrance]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use the BigTalker SmartApp and/or code except in compliance with the License. You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Hosted MP3 Sounds

If you are using BigTalker in mediaPlayer mode (Sonos, VLCThing, etc), I host the following sound effects for you that you may use in your phrases if you wish: %mp3(url)% where url is http://lowrance.cc/ST/audio/xxxxx where xxxxx =

  • chime.mp3
  • Dogbark.mp3
  • alarm.mp3
  • police.mp3
  • Doorbell.mp3
  • DoorOpen-Old.mp3
  • DoorOpen.mp3
  • TornadoWarn.mp3

With the permission of STCommunity: @nelemansc I also host the following, %mp3(url)% where url is http://lowrance.cc/ST/audio/xxxxx where xxxxx is : https://community.smartthings.com/t/sonos-notifications-morgan-freeman-edition/21377

  • mf/back%20door%20has%20been%20opened.mp3
  • mf/basement%20door%20has%20been%20opened.mp3
  • mf/cleaning%20supplies%20cabinet%20has%20been%20opened.mp3
  • mf/front%20door%20has%20been%20opened.mp3
  • mf/good%20morning.mp3
  • mf/good%20night.mp3
  • mf/liquor%20cabinet%20has%20been%20opened.mp3
  • mf/patio%20door%20has%20been%20opened.mp3
  • mf/searching%20for%20car%20keys.mp3
  • mf/setting%20the%20mood.mp3
  • mf/starting%20movie%20mode.mp3
  • mf/starting%20party%20mode.mp3
  • mf/starting%20romance%20mode.mp3
  • mf/turning%20off%20all%20the%20lights.mp3
  • mf/turning%20off%20the%20air%20conditioner.mp3
  • mf/turning%20off%20the%20bar%20lights.mp3
  • mf/turning%20off%20the%20chandelier.mp3
  • mf/turning%20off%20the%20family%20room%20lights.mp3
  • mf/turning%20off%20the%20hallway%20lights.mp3
  • mf/turning%20off%20the%20kitchen%20light.mp3
  • mf/turning%20off%20the%20light.mp3
  • mf/turning%20off%20the%20lights.mp3
  • mf/turning%20off%20the%20mood%20lights.mp3
  • mf/turning%20off%20the%20tv.mp3
  • mf/turning%20on%20all%20the%20lights.mp3
  • mf/turning%20on%20the%20air%20conditioner.mp3
  • mf/turning%20on%20the%20bar%20lights.mp3
  • mf/turning%20on%20the%20chandelier.mp3
  • mf/turning%20on%20the%20family%20room%20lights.mp3
  • mf/turning%20on%20the%20hallway%20lights.mp3
  • mf/turning%20on%20the%20humidifier.mp3
  • mf/turning%20on%20the%20kitchen%20light.mp3
  • mf/turning%20on%20the%20light.mp3
  • mf/turning%20on%20the%20lights.mp3
  • mf/turning%20on%20the%20mood%20lights.mp3
  • mf/turning%20on%20the%20tv.mp3
  • mf/vacate%20the%20premesis.mp3

Other automation sound effects (musicPlayer mode):

  • none provided yet

If you have other sound effects/mp3's that you would like to use in your automations, please ensure that they are royalty-free and that you have the rights to use them, then send them to me brian[a.t]lowrance.cc (obviously replace [a.t] with @). Send a note indicating that they are royalty-free to use and I'll consider hosting them for you (from a data center in Buffalo, Ny; currently but may move in the future). Hosting determination will be based on anticipated desire of multiple users, will be non-binding, will be a volunteer service provided and removable at any time with or without notice.

Published roadmap

These features are not guaranteed; however they are in my current thought process for BigTalker enhancements/adjustments (in no particular order).

  • Custom delay before speech
  • Device name aliases
  • Newest AskAlexa integration
  • Device status for unrelated events ("ie: mode change = announce status of front door, back door, thermostat, etc)
  • Talk Queue improvements
  • Do away with having seperate musicPlayer and speechSynthesis modes.
  • Code simplification