Author Topic: Echo Dot Integration 2018  (Read 5021 times)

0 Members and 1 Guest are viewing this topic.

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7715
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Echo Dot Integration 2018
« Reply #15 on: August 18, 2022, 06:18:04 PM »
Maybe you can use the two words Jar and Viss ?

I upgraded to node.js 12 and it still seems to be working.

Kalle

  • $upporter
  • Hero Member
  • *****
  • Posts: 2319
  • Karma: 47
    • View Profile
Re: Echo Dot Integration 2018
« Reply #16 on: August 19, 2022, 04:36:04 AM »

Now at least it works again.
The problem was my DDNS account, which had not updated the IP address.

@PegLeg: Like you, I changed the invocation name, but I never say the second word, otherwise Alexa always replies with "a problem with your skill.... blah, blah, blah".
It was pure coincidence that I noticed this, because I had not yet become accustomed to the second word.
In other words: If your first phrase is currently "Iron" and "Man" is your second phrase - try "Alexa, tell Iron lights please" - if it works, you can set your invocation name to Jarvis Jarvis or ironman ironman, so that the invocation name rule is met, but always speak only the first phrase to Alexa.


I know it sounds strange, but it worked for me and maybe for you too.


Kalle
« Last Edit: August 19, 2022, 04:41:20 AM by Kalle »
***********  get excited and make things  **********

PegLegTV

  • $upporter
  • Hero Member
  • *****
  • Posts: 500
  • Karma: 43
    • View Profile
Re: Echo Dot Integration 2018
« Reply #17 on: August 19, 2022, 05:51:56 PM »
after a lot of testing, I deleted everything and tried again. At first I was getting an error about "utterance conflict detected", it wouldn't let me use the word "off" as an utterance so I removed that from the list and the error went away. I was then able to test the skill and I'm now getting the event to show up in VoxCommando!  ::wiggle

with the short amount of testing that I've done so far I have found several words that wouldn't work to begin with so I had to add them to the utterance list. the word that I haven't gotten to work so far is "please" for example is I say "Lights Please" the event only shows "Lights" for some reason Alexa doesn't want to pass that with the event (not a big problem, I'll just need to make some changes in VC)

as for the invocation words I tried "jarvis jarvis" and "ironman ironman" both required me to say "Alexa tell jarvis jarvis play" or "Alexa tell ironman ironman play". so I thought I would see if it would let me get a way with one invocation word "jarvis", there is an error under the field that says "Invocation name must be at least 2 words." but I pressed "Save Model" button at the top of the page and then pressed Build model. I didn't receive any errors on build, but the error is still present under the invocation words field. I can now say "Alex tell jarvis play" and it works

I used the original node.js code from the tutorial and node.js version 16.

I'll be doing more testing on words and phrase to find what words need to be added to the utterance list but this is a great start in the right direction

Thank you, you guys are always a huge help. (especially because it seems I messed something up the first time around  :bonk ::saddest)



Kalle

  • $upporter
  • Hero Member
  • *****
  • Posts: 2319
  • Karma: 47
    • View Profile
Re: Echo Dot Integration 2018
« Reply #18 on: August 23, 2022, 03:37:49 AM »

Hi PegLeg,
do you get a confirmation via Alexa or does Alexa repeat the command?
At the moment I only get "OK" as confirmation and I am sure that she repeated the command before.
Do you know where I can set this in the code?


Kalle
***********  get excited and make things  **********

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7715
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Echo Dot Integration 2018
« Reply #19 on: August 23, 2022, 10:02:49 AM »
I think it is set in the command actions Kalle.

See attached:

jitterjames

  • Administrator
  • Hero Member
  • *****
  • Posts: 7715
  • Karma: 116
    • View Profile
    • VoxCommando
Re: Echo Dot Integration 2018
« Reply #20 on: August 23, 2022, 10:05:17 AM »
Here is my command xml.  Note that I'm using the GTTS actions here for speech.  If VoxCommando replied with some sort of text it usually gets passed back to Alexa and you hear it both on VC and on the echo.  But for this to work you may need to use my lastest lambda code posted above.

Code: [Select]
<?xml version="1.0" encoding="utf-16"?>
<!--VoxCommando 2.3.1.1-->
<command id="47" name="event to voice command" enabled="true" alwaysOn="False" confirm="False" requiredConfidence="0" loop="False" loopDelay="0" loopMax="0" description="">
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>(A)Contains(B)</ifType>
    <ifParams>{1}&amp;&amp;play movie</ifParams>
    <then>
      <action>
        <cmdType>VC.TriggerEvent</cmdType>
        <params>
          <param>Play.Movie</param>
          <param>{1}</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
      <action>
        <cmdType>VC.StopMacro</cmdType>
        <params />
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else />
  </if>
  <action>
    <cmdType>VC.TellVox</cmdType>
    <params>
      <param>{1}</param>
    </params>
    <cmdRepeat>1</cmdRepeat>
  </action>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>LastActionSuccess</ifType>
    <ifParams>&amp;&amp;</ifParams>
    <then>
      <action>
        <cmdType>GTTS.Speak</cmdType>
        <params>
          <param><![CDATA[ ]]></param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else>
      <action>
        <cmdType>TCP.WebServer.SetResponse</cmdType>
        <params>
          <param>Jarvis does not understand {1}</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
      <action>
        <cmdType>VC.StopMacro</cmdType>
        <params />
        <cmdRepeat>1</cmdRepeat>
      </action>
    </else>
  </if>
  <action>
    <cmdType>GTTS.GetLastText</cmdType>
    <params />
    <cmdRepeat>1</cmdRepeat>
  </action>
  <if ifBlockDisabled="False" ifNot="False">
    <ifType>LastActionSuccess</ifType>
    <ifParams>{LastResult}&amp;&amp; </ifParams>
    <then>
      <action>
        <cmdType>TCP.WebServer.SetResponse</cmdType>
        <params>
          <param>{LastResult}</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </then>
    <else>
      <action>
        <cmdType>TCP.WebServer.SetResponse</cmdType>
        <params>
          <param>OK</param>
        </params>
        <cmdRepeat>1</cmdRepeat>
      </action>
    </else>
  </if>
  <event>EchoToVC</event>
</command>

PegLegTV

  • $upporter
  • Hero Member
  • *****
  • Posts: 500
  • Karma: 43
    • View Profile
Re: Echo Dot Integration 2018
« Reply #21 on: August 24, 2022, 03:24:15 PM »
sorry for the late reply,

mine doesn't give verbal feedback, with an echo dot it just sends the command but no verbal response, on my phone through the Alexa app mine shows a title card you can change the text on the title card in the lambda script. I used the original lambda script posted in the beginning of this thread.

If I have multiple echo's will it reply to all the echo devices or just the one that issued the command?

Also does Alexa share device variables at this time, or is it still just "room 1" for all devices?


Kalle

  • $upporter
  • Hero Member
  • *****
  • Posts: 2319
  • Karma: 47
    • View Profile
Re: Echo Dot Integration 2018
« Reply #22 on: August 25, 2022, 01:32:33 AM »

I have tested the aws code from James and also with this I get on the echo only an "OK" as confirmation, see attached image.
Maybe the problem is with the webserver or the settings.


The command is executed correctly, so it's not really a problem, it was always just nice to hear what "Alexa" had understood.
The voice output via VoxCommando works perfectly - who knows what was changed by Amazon in the past, considering how long the skill has existed.


Whether "Alexa" meanwhile releases the device variable, I can not tell you unfortunately.


Kalle
***********  get excited and make things  **********