Alexa No response speech from assistant [RESOLVED]

Hi
I’ve been playing with intents and generally all works fine however when creating an intent for a select source to media player I’ve noticed that it doesnt return a speech confirmation.
e.g.
intent

OpenAppIntent:
  action:
    service: script.turn_on
    data_template:
      entity_id: script.{{ "alexa_tvsource_" ~ channel | replace(" ", "_") }}
  speech:
    type: plaintext
    text: "OK"

Script:

alexa_tvsource_amazon:
  alias: Alexa Change Channel to Amazon
  sequence:
  - condition: state
    entity_id: media_player.TV
    state: 'playing'
  - service: media_player.select_source
    data:
      entity_id: media_player.TV
      source: 'Amazon Prime Video'

Sample response in json in Alexa:

{
  "version": "1.0",
  "response": {
    "speechletResponse": {
      "shouldEndSession": true
    }
  },
  "sessionAttributes": {}
}

All others work fine like set volume etc.
and return json

{
  "version": "1.0",
  "response": {
    "outputSpeech": {
      "text": "By your command",
      "type": "PlainText"
    },
    "speechletResponse": {
      "outputSpeech": {
        "text": "By your command"
      },
      "shouldEndSession": true
    }
  },
  "sessionAttributes": {}
}

Nothing in logs either.

Right

I was to trigger happy to post.

should be plain not plaintext.

Sorry

Hi can you please tell me what intent do you use to increase or decrease the volume and how do you say it to Alexa? what is your invocation?

Thanks.

Hi
I wrote a custom skill as per instruction. Im new to that so is probably not that efficient or shortest way but its working. For volume up got intent as follow, that calling a script based on device ( i did so i can hook one or more device). So you passing device as a slot then this calling an appropriate script, mostly due to reason im hook also skyq to that and these got totally diffrent way of powering on.
Obviously got setup media player etc. Most work took me to get an intent for a set volume to level e.g. set volume to 10 or 15 mostly due to not fully knowing a syntax. But now got most of the commands working, on , off, vol up down ,set volume , play , pause, open source

Sample intent in Alexa.

 {
      "name": "VolumeUpIntent",
      "samples": [
        "Alexa ask Bob to volume up {device_name}",
        "Alexa ask Bob to increase {device_name}"
      ],
      "slots": [
        {
          "name": "device_name",
          "type": "WatchinDevice",
          "samples": [
            "tv"
          ]
        }
              ]
    }

Then intent.yaml

VolumeUpIntent:
  action:
    service: script.turn_on
    data_template:
      entity_id: script.{{ "alexa_volup_" ~ device_name | replace(" ", "_") }}
  speech:
    type: plain
    text: !include alexa_confirm.yaml

Then script yaml

alexa_volup_tv:
  alias: Alexa Script Volume Up LG TV
  sequence:
  - condition: state
    entity_id: 'media_player.TV'
    state: 'playing'  
  - service: media_player.volume_up
    entity_id: media_player.TV
 

Calling this as : Ask Bob to volume up

Hope that helps

1 Like