Git Product home page Git Product logo

tonesto7 / echo-speaks Goto Github PK

View Code? Open in Web Editor NEW
110.0 110.0 178.0 50.43 MB

Integrate your Amazon Echo devices into your Hubitat environment to create virtual Echo Devices. These virtual devices will allow you to speak text, make announcements, control media playback including volume, and many other Alexa features.

Home Page: https://tonesto7.github.io/echo-speaks-docs/

Groovy 100.00%
alexa alexa-features amazon-alexa amazon-echo amazon-echo-devices hubitat hubitat-environment tts virtual-devices

echo-speaks's Introduction

Hi there 👋

Tonesto7's GitHub stats

echo-speaks's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

echo-speaks's Issues

Does not allow/support Echo Tap devices

Needs to include the following device signature:

case 'A38949IHXHRQ5P': return [name: 'Echo Tap', image: 'echo_gen1', playerSupport: true, ttsSupport: true]

Note that there isn't currently an 'echo_tap' icon/image, so I used 'echo_gen1' above.

Feature Request] Add LastSpokenToTime Time Stamp Attribute

For Feature Requests Only:

  • What are you requesting:

Verify the following before opening an trouble issue:

  • [x ] That OAuth is Enabled for the SmartApp under the IDE.
  • [ x] The App/SmartApp and Device Handler/Driver are using the latest code available.
  • [ x] You have reviewed the Echo Speaks Documentation for potential fixes.
  • [ x] That ALL App/SmartApps and Device Handlers/Drivers have been Published for You in the IDE.

About Your Setup:

  • Hub Platform (SmartThings
  • How many devices are detected?: all
  • iOS or Android?: yes
  • Mobile App Version(Not required):
  • App/SmartApp Version: latest
  • Device Handler/Driver Version: latest
  • Heroku Server Version: latest

Expected Behavior

Should provide time stamp, as per Tony’s Suggestion

Current Behavior

Steps to Reproduce (for bugs)

Context

Please include a copy of any relevant log output to assist in tracking down the bug

Not all non-Amazon Alexa-enabled Devices are being recognized

NOTE: I also have 'real' Amazon Alexa devices (Echo Speaks working), AND other non-Amazon Alexa devices (Echo Speaks working), but this issue is not about any of those.

FIrst-off, this is NOT a high priority for me. I'm just posting here to get it in the mix...

I have two computers using the Alexa app for Windows. Both are running Windows 10 (one is Home, the other is Pro).

One of my non-Amazon Alexa-enabled devices (Alexa running in Windows 10 Home on my laptop) got a device created for it by Echo Speaks in SmartThings, but another one (Alexa running in Windows 10 Pro on my desktop) on did not.

Is that just part of the deal, and we can’t necessarily count on those kinds of devices getting reproduced via this method, or might I have something that I need to adjust or fix?

error groovy.lang.MissingMethodException

Seeing the following error recorded in live logging consistently. Everything seems to be working though. I'm currently on 2.0.6.

error groovy.lang.MissingMethodException: No signature of method: script_app_731d58812bfeefd93489df17c0e25fe874984be60e45a7729676f104a0dee646.lanEventHandler() is applicable for argument types: (physicalgraph.app.EventWrapper) values: [physicalgraph.app.EventWrapper@4f7e1530]

Search TuneIn

I still can't get any positive result from the searchTuneIn command. I saw your response about generating JSON data in the browser, but as a "non programmer" I have absolutely no idea what to do with that JSON data once generated.

Any help or ideas why the searchTuneIn function doesn't work, or how to get it working? Thanks.

Fire tablets not adding

Fire HD 8 6.3.0.1

0905120a-2a72-4f2b-a085-b8d6852ac9e6 10:48:24 PM: warn IGNORED Device | Name: Living Room Fire HD | Permissions: [TTS:false, volumeControl:true, mediaPlayer:false, amazonMusic:false, tuneInRadio:false, iHeartRadio:false, pandoraRadio:false, spotify:true, isMultiroomDevice:false, isMultiroomMember:false, alarms:true, reminders:true, doNotDisturb:false, wakeWord:false, flashBriefing:false, microphone:true, connectedHome:false]

0905120a-2a72-4f2b-a085-b8d6852ac9e6 10:48:24 PM: debug echoDevice | Living Room Fire HD
0905120a-2a72-4f2b-a085-b8d6852ac9e6 10:48:24 PM: debug echoDevice | G0W0T9058385F3JJ | [deviceFamily:TABLET, clusterMembers:[], serialNumber:G0W0T9058385F3JJ, deviceAccountId:A0481404PEGA71FJ2ENM, online:true, accountName:Living Room Fire HD, essid:null, parentClusters:[], deviceType:A1C66CX2XD756O, softwareVersion:1309034628, capabilities:[REMINDERS, ASCENDING_ALARM_VOLUME, TIMERS_AND_ALARMS, VOLUME_SETTING, MICROPHONE, SUPPORTS_SOFTWARE_VERSION, PERSISTENT_CONNECTION, ASX_TIME_ZONE, PEONY], deviceOwnerCustomerId:A3C58Y811B1H09]

Data Refresh Issue in ST App

echo1

I installed from scratch twice and get he same error.
I can see the devices in ST and the status of them looks fine but these errors appear on the android app on my phone every 4-5 minutes.

When announcements are made it is played 10 times before it forces itself to stop.

For Feature Requests Only:

  • What are you requesting:

Verify the following before opening an trouble issue:

  • That OAuth is Enabled for the SmartApp under the IDE.
  • The App/SmartApp and Device Handler/Driver are using the latest code available.
  • You have reviewed the Echo Speaks Documentation for potential fixes.
  • That ALL App/SmartApps and Device Handlers/Drivers have been Published for You in the IDE.

About Your Setup:

  • Hub Platform (SmartThings or Hubitat)
  • How many devices are detected?:
  • iOS or Android?:
  • Mobile App Version(Not required):
  • App/SmartApp Version:
  • Device Handler/Driver Version:
  • Heroku Server Version:

Expected Behavior

Current Behavior

Steps to Reproduce (for bugs)

Context

Please include a copy of any relevant log output to assist in tracking down the bug

Smart app hang during installation

I got as far as installing the app in the SmartThings app and it just sat and spun, never got to the Echo Speaks screen. Finally restarted the ST app. Echo Speaks appears to be installed but nothing happens when I click on it. Tried removing smart app from IDE but it says it’s installed by one or more users.

Echo device not accessible through smartapps

Thanks, I am finally able to see echo devices in the smarthings app. However, when I tested them in a few smart apps, like announcing a contact sensor open or close, they don’t announce anything.

On the other side, I can see the echo devices, control playback, play weather report and sent tts message by clicking the button on the echo device interface inside the smartthings app. See picture below.

Please help in debugging this. I have also turned on [2-factor] authentication on Amazon. (Do I need to rebuild Heroku app after turning it on to help?)

Picture of echo device interface from within smarthings app:

2c638496a011a304e25ba3ea638053fc8dcc62f9

Speaker companion and 'Play a notification'

Hi,
I was trying the Speaker Companion smartapp using Echo instead of Sonos.
'Control - play/stop/pause/skip' sub-app can find the device, 'Play a notification' not. I had a look to the code (I guess the second is https://github.com/SmartThingsCommunity/SmartThingsPublic/blob/61b864535321a6f61cf5a77216f1e779bde68bd5/smartapps/smartthings/speaker-notify-with-sound.src/speaker-notify-with-sound.groovy) compared with the first https://github.com/SmartThingsCommunity/SmartThingsPublic/blob/61b864535321a6f61cf5a77216f1e779bde68bd5/smartapps/smartthings/speaker-control.src/speaker-control.groovy.
The capabilities are identical and the 'speak' method is available. Do you have any idea about why the first can find the device and the second not at all?

Incorrect Device type

I have a Gen1 and a Gen2 echo dot.

The Gen1 is recognised correctly but the gen2 shows it as a gen 1 echo with an echo icon (not dot).

Device page on IDE below, notice the deviceStatus shows gen2 but the deviceStyle shows Echo (Gen1)

status: stopped
level: 24
trackDescription:
mute: muted
volume: 24
lastUpdated: Nov 19, 2018 - 4:28:14 PM
deviceStatus: stopped_echo_gen2
deviceType: A32DOYMUN6DTXA
deviceStyle: Echo (Gen1)
doNotDisturb: false
firmwareVer: 1577509252
onlineStatus: online
currentStation: Idle
currentAlbum: Idle
lastSpeakCmd: I said a hip hop, Hippie to the hippie, The hip, hip a hop, and you don't stop, a rock it out, Bubba to the bang bang boogie, boobie to the boogie To the rhythm of the boogie the beat, Now, what you hear is not a test, I'm rappin' to the beat
lastCmdSentDt: Mon Nov 19 10:47:50 GMT 2018
trackImage:
alarmVolume: 50
alexaWakeWord: ALEXA
wakeWords: ["ALEXA","ECHO","COMPUTER","AMAZON"]
alexaPlaylists:

screenshot_20181119-163426

TuneIn not playing

I can’t get TuneIn to work. I’ve looked at some logfiles and at your code and noticed the following:

When I use the searchMusic function and use TUNEIN as a provider - as stated in the manual - I get the following message in the ST logging: warn searchMusic not supported for TUNEIN (although the device I’m using clearly states that it supports TuneIn).
So I looked at the code and noticed, that in some places it looks like TUNE_IN (with the underscore) is expected. So I tried to use this as provider instead and now I get the following message in the ST logging:

17c5c8ee-d7e8-4c5c-a69d-d08307947e73 7:39:27 PM: error amazonCommandResp error: Failed with status code 400 | Json: [message:null]

I get the same error message when I use the searchTuneIn funktion.
The troubleshooting section of the manual advised to clear the login data and log in to Amazon again. I tried that with no success, though.
When I use AMAZON_MUSIC as provider things work perfectly.
Do you mind taking another look at the Tunein function and help troubleshoot the issue? I’d really appreciate it.

Devices being renamed even when option to rename is turned off

Reported by sgnihttrams in community post release-echo-speaks/142252/1607:

I went into the Echo Speaks SmartApp, and deselected that option.

Now though, it’s behaving as though that radio button is still in the ON position, even though it’s not.
i.e. After I go into the IDE and rename one of my Echo Speaks Alexa devices, and after I see it successfully show up in the SmartThings app that way, and after I see it show up in webCoRE that way, a while later, it reverts back to the original name that it got automatically from the Echo Speaks SmartApp (which is how it is named in my Amazon Alexa system).

getMusicProvidersHandler failing frequently

8:56:21 AM: error java.lang.IllegalArgumentException: Failed with status code 503 @line 848 (getMusicProvidersHandler)
8:56:21 AM: error getMusicProvidersHandler Error: Failed with status code 503

This Device Does NOT Support Volume Control!!!

Currently cant change volume one any of my 2nd gen echos and 1st gen echos, I have no other echos to test with

3c9148a2-7c13-4133-aa2f-3bbc5c6023b5 11:29:59 PM: warn This Device Does NOT Support Volume Control!!!

Echo Device Types

Here is my contribution for device types to display correctly. I have not done any feature testing but i have confirmed that TTS is working.

A2M4YX06LWP8WI - Fire Tablet 7 (5th Generation)

Kindle Fire Devices Show Offline

Using Kindle Fire tablets with Fully/Actiontiles and wanting to have beeps/announcements to be played from them. I have multiple echo devices (Dots, Show, and Echo v1) setup and working properly. The Kindle Fire devices show "Offline" however.

This is what I have done to troubleshoot:

  1. Made sure I was updated to the Echo Speaks 2.1.1 version
  2. Uninstalled SmartApp and Reinstalled, while also making sure to remove all devices from all other apps/automations.
  3. Power-cycled devices

See screenshots attached for what I am seeing in SmartApp.
img_3492
img_3493
img_3494
img_3495

Wrong icon for Echo Tap

It's probably my fault - I orginally provided a code snippet that specified the nonexistent "echo_gen" as the icon file. Since you've created the actual icon, need to change echo_speaks.groovy line 60 to specify "echo_tap" instead.

Echos are recognized, Dots not working at all

I've read through the entire 1600+ Echo Speaks ST Community blog plus your ES Documentation and not finding anything quite like my experience. Perhaps you've seen this and can suggest something. I loaded Echo Speaks both through code and Github and both exhibit the same issue (removed code and only GitHub now). In ST Classic all 3 Echos are showing in the device list. My 2 gen 2 Dots are unresponsive to any of the button commands on the page. They show as online with TTS supported and everything looks good. My Echo 2nd gen DOES respond to button commands in the ST devices list including TTS. However NONE of the Echos will respond with speech to ANY of the smartapps, not even with the test broadcast in your Echo Speaks app. I use BigTalker2, for my voice notifications and wanted to get ES working before adding more Apps such as RemindR. I also have a Samsung Multiroom and it works fine with the BigTalker notifications.

I deleted and reloaded Heroku and confirmed my Amazon cookies to no avail. As far as I can tell everything looks fine, just doesn't work. And I get no error messages. Which logs or screen shots would be most helpful to to troubleshoot the issue? I hope you can help as it would be awesome to have this working. Mike B

error amazonCommandResp error: Failed with status code 401

Echo speaks has been working for me but now I'm getting the Amazon login cookie has expired message. I have been into Echo speaks heroku config page and then Amazon login and I get the message cookie retrieval successful and Authentication Good but it is still not working. I have cleared login info and this also gives me Authentication Good. I am in the UK using Amazon.co.uk with two factor Authentication.

still getting update notifications with notifications turned off

I'm on v2.0.5, but since I wanted to test a fix, I haven't updated. It appears to me that this bug is still in 2.0.7, but I'm not a programmer.

I turned off update notifications, but when there is a new version of the app available I get push notifications every 2 hours. The settings page indicates that the default is 12 hours, but there's a hard-coded 2 hour default.

In appUpdateNotify() it logs whether or not notifications are enabled, but doesn't seem to actually check it before sending a notification.

I changed line 1143 (line 1190 in 2.0.7) to the following and it seems to work as expected:
if(on && getLastUpdMsgSec() > state?.updNotifyWaitVal.toInteger()) {

Errors During new install V1.2.4

During new install, I'm getting an "unexpected error" while attempting step 8 on the wiki:
image

The live logging produces the following message.
image

Login with Amazon UK Account fails

I seem to be getting an error when logging in to the Heroku instance using my Amazon account. After entering the code for 2FA on the Amazon account I get UnknownOperationException:

image

image

Volume control only working for multiples of 10 on Sonos Beam

When I use search Tunein with a volume parameter on my Sonos Beam it only changes the volume if I pick multiples of 10, any other number does not change the volume. It would be nice to be able to set 8 or 12.
I also have an Echo Show, this one accepts any kind of volume setting and changes it at least in the expected ball park (setting 8 comes out as 7 on the device, setting 25 comes out as 27 on the device).

Verify the following before opening an trouble issue:

  • [x ] That OAuth is Enabled for the SmartApp under the IDE.
  • [x ] The App/SmartApp and Device Handler/Driver are using the latest code available.
  • [x ] You have reviewed the Echo Speaks Documentation for potential fixes.
  • [x ] That ALL App/SmartApps and Device Handlers/Drivers have been Published for You in the IDE.

About Your Setup:

  • Hub Platform (SmartThings or Hubitat): Smartthings
  • How many devices are detected?:8
  • iOS or Android?:iOS
  • Mobile App Version(Not required):
  • App/SmartApp Version: 2.1.2
  • Device Handler/Driver Version:2.1.2
  • Heroku Server Version:2.1.1

[Feature Request] SiriusXM

The ability to call up a SiriusXM channel via webCoRE in the fashion that is already available for Spotify, Amazon Music, Pandor, etc.

Archive URL not found

Using the ST-Community-Installer... I get "Archive URL not found" when deploying heroku app.

img_1007

TLS on authentication page

envParams['hostUrl'] = "${getRandAppName()}.herokuapp.com"

I don't have the time to chase this down as well as I could, but I believe that the way the hostUrl is being constructed results in calling the Amazon authentication page using cleartext (from Heroku). These envs are added as params here:

<a href="https://heroku.com/deploy?template=https://github.com/tonesto7/echo-speaks-server${getEnvParamsStr()}">

I wonder if you could simply prepend "https://" to hostUrl. Might require encoding to be properly handled as a param.

Of course, this results in exposure of Amazon credentials if the plaintext call is made. Anyone who has tried this app should 1) change your Amazon password and 2) enable MFA to be ensure that this kind of exposure won't be useful to anyone who captures your credentials.

Note that I'm not sure if there's variability in who experiences this based on configurations outside of the author's control. I'm certain it happened to me.

In the mobile context, this is difficult to spot so you (the user) might think you're fine but you could have missed it.

Amazon UK not an option under Amazon Domain

When setting up the SmartApp, there is no UK server option for Amazon Domain.

  1. See the picture below:
    Green box --> Ensure you Amazon domain is correct. Example: For Canada is should be Amazon.ca

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.