josephschmitt / alexa-libby

A skill to ask Alexa about your Movie and TV Show library queues.
https://josephschmitt.github.io/alexa-libby/
MIT License
51 stars 18 forks source link

Cannot add anything to lists - "There was a problem with the requested skill's response" #19

Open that1guy opened 6 years ago

that1guy commented 6 years ago

Seems all API calls are working just fine. I just cant add movies to Radarr or shows to Sonarr. Alexa speaks an error to me, "There was a problem with the requested skill's response." Let me walk you though my voice instructions I'm giving to Alexa-Libby:

Me: "Alexa, ask clusterbox to add the movie Meet the Parents to the list"?

Skill Builder's Service Request if I use the AWS service simulator

  "session": {
    "new": true,
    "sessionId": "SessionId.e1461ba7-5bfxxxxxx0290260d1",
    "application": {
      "applicationId": "amzn1.ask.skill.80adexxxxe77095cc9c"
    },
    "attributes": {},
    "user": {
      "userId": "amzn1.ask.account.AH25FKBTxxxxxxxLSRS4LV32WIKOXXKEDDEG3BZUSVF2U5KVHFBV63SI"
    }
  },
  "request": {
    "type": "IntentRequest",
    "requestId": "EdwRequestId.abc661xxxx-490fb7988689",
    "intent": {
      "name": "AddMovie",
      "slots": {
        "releaseDate": {
          "name": "releaseDate"
        },
        "movieName": {
          "name": "movieName",
          "value": "meet the parents"
        }
      }
    },
    "locale": "en-US",
    "timestamp": "2017-11-20T01:33:28Z"
  },
  "context": {
    "AudioPlayer": {
      "playerActivity": "IDLE"
    },
    "System": {
      "application": {
        "applicationId": "amzn1.ask.skill.80ade47f-21xxxxx-cfe77095cc9c"
      },
      "user": {
        "userId": "amzn1.ask.account.AH25FKBTCCLY46FBNxxxxxxxB4LSRS4LV32WIKOXXKEDDEG3BZUSVF2U5KVHFBV63SI"
      },
      "device": {
        "supportedInterfaces": {}
      }
    }
  },
  "version": "1.0"
}

Radarr logs checking to see if "Meet the Parents" is already in Radarr:

17-11-19 22:26:39.5|Debug|Parser|Parsing string 'meet the parents'
17-11-19 22:26:39.5|Debug|Parser|Unable to parse meet the parents
17-11-19 22:26:39.6|Debug|Api|[GET] /api/movies/lookup?term=meet%20the%20parents: 200.OK (70 ms)

Alexa-Libby Response: "Add Meet the Parents (2000) to your list?"

Skill Builder's Service Response if I use the AWS service simulator

{
  "version": "1.0",
  "response": {
    "outputSpeech": {
      "ssml": "<speak>Add Meet the Parents (2000) to your list?</speak>",
      "type": "SSML"
    },
    "speechletResponse": {
      "outputSpeech": {
        "ssml": "<speak>Add Meet the Parents (2000) to your list?</speak>"
      },
      "directives": [],
      "shouldEndSession": false
    }
  },
  "sessionAttributes": {
    "promptData": {
      "searchResults": [
        {
          "title": "Meet the Parents",
          "slug": "meet-the-parents-1597",
          "year": 2000,
          "tmdbId": 1597,
          "images": [
            {
              "coverType": "poster",
              "url": "http://image.tmdb.org/t/p/original/wVjtQtzv9IcNRGnOOdcK797Sdxx.jpg"
            }
          ],
          "status": "released",
          "quality": "Clusterbox Quality"
        },
        {
          "title": "Meet the Parents",
          "slug": "meet-the-parents-236405",
          "year": 1992,
          "tmdbId": 236405,
          "images": [
            {
              "coverType": "poster",
              "url": "http://image.tmdb.org/t/p/original/7v6HbhAlHFBe7e4ZCG9YhqfR0Wa.jpg"
            }
          ],
          "status": "released",
          "quality": "Clusterbox Quality"
        },
        {
          "title": "Meet the Fockers",
          "slug": "meet-the-fockers-693",
          "year": 2004,
          "tmdbId": 693,
          "images": [
            {
              "coverType": "poster",
              "url": "http://image.tmdb.org/t/p/original/xHAqB06iL5D6HyOS6QpgyKkRQHD.jpg"
            }
          ],
          "status": "released",
          "quality": "Clusterbox Quality"
        },
        {
          "title": "Little Fockers",
          "slug": "little-fockers-39451",
          "year": 2010,
          "tmdbId": 39451,
          "images": [
            {
              "coverType": "poster",
              "url": "http://image.tmdb.org/t/p/original/qixmjH8fLD9IkboPO7FKxAqzwRJ.jpg"
            }
          ],
          "status": "released",
          "quality": "Clusterbox Quality"
        }
      ],
      "providerType": "movies",
      "yesAction": "addMedia",
      "yesResponse": "Added Meet the Parents (2000) to your wanted list.",
      "noAction": "suggestNext",
      "noResponse": "Ok, did you mean Meet the Parents (1992)?"
    }
  }
}

Me: "Yes."

Skill Builder's Service Request if I use the AWS service simulator

{
  "session": {
    "new": false,
    "sessionId": "SessionId.e1461baxxxxx-8220290260d1",
    "application": {
      "applicationId": "amzn1.ask.skill.80ade47f-2xxxxx-cfe77095cc9c"
    },
    "attributes": {
      "promptData": {
        "searchResults": [
          {
            "title": "Meet the Parents",
            "slug": "meet-the-parents-1597",
            "year": 2000,
            "tmdbId": 1597,
            "images": [
              {
                "coverType": "poster",
                "url": "http://image.tmdb.org/t/p/original/wVjtQtzv9IcNRGnOOdcK797Sdxx.jpg"
              }
            ],
            "status": "released",
            "quality": "Clusterbox Quality"
          },
          {
            "title": "Meet the Parents",
            "slug": "meet-the-parents-236405",
            "year": 1992,
            "tmdbId": 236405,
            "images": [
              {
                "coverType": "poster",
                "url": "http://image.tmdb.org/t/p/original/7v6HbhAlHFBe7e4ZCG9YhqfR0Wa.jpg"
              }
            ],
            "status": "released",
            "quality": "Clusterbox Quality"
          },
          {
            "title": "Meet the Fockers",
            "slug": "meet-the-fockers-693",
            "year": 2004,
            "tmdbId": 693,
            "images": [
              {
                "coverType": "poster",
                "url": "http://image.tmdb.org/t/p/original/xHAqB06iL5D6HyOS6QpgyKkRQHD.jpg"
              }
            ],
            "status": "released",
            "quality": "Clusterbox Quality"
          },
          {
            "title": "Little Fockers",
            "slug": "little-fockers-39451",
            "year": 2010,
            "tmdbId": 39451,
            "images": [
              {
                "coverType": "poster",
                "url": "http://image.tmdb.org/t/p/original/qixmjH8fLD9IkboPO7FKxAqzwRJ.jpg"
              }
            ],
            "status": "released",
            "quality": "Clusterbox Quality"
          }
        ],
        "providerType": "movies",
        "yesAction": "addMedia",
        "yesResponse": "Added Meet the Parents (2000) to your wanted list.",
        "noAction": "suggestNext",
        "noResponse": "Ok, did you mean Meet the Parents (1992)?"
      }
    },
    "user": {
      "userId": "amzn1.ask.account.AH25FKBTCCLY46FBNHMxxxxxxxx4LSRS4LV32WIKOXXKEDDEG3BZUSVF2U5KVHFBV63SI"
    }
  },
  "request": {
    "type": "IntentRequest",
    "requestId": "EdwRequestId.9ebbxxxxx631de93b5eac",
    "intent": {
      "name": "AMAZON.YesIntent",
      "slots": {}
    },
    "locale": "en-US",
    "timestamp": "2017-11-20T01:34:36Z"
  },
  "context": {
    "AudioPlayer": {
      "playerActivity": "IDLE"
    },
    "System": {
      "application": {
        "applicationId": "amzn1.ask.skill.80ade47f-xxxxxxx-cfe77095cc9c"
      },
      "user": {
        "userId": "amzn1.ask.account.AH25FKBTCCLY46FBNHM5xxxxxxxSRS4LV32WIKOXXKEDDEG3BZUSVF2U5KVHFBV63SI"
      },
      "device": {
        "supportedInterfaces": {}
      }
    }
  },
  "version": "1.0"
}

Alexa-Libby Error Response: "There was a problem with the requested skill's response"

Skill Builder's Service Response ERROR if I use the AWS service simulator

The remote endpoint could not be called, or the response it returned was invalid.

Here are Radarr logs when the error occurs:

17-11-19 22:26:49.0|Debug|RootFolderService|Generating list of unmapped folders
17-11-19 22:26:49.1|Debug|RootFolderService|0 unmapped folders detected.
17-11-19 22:26:49.1|Debug|Api|[GET] /api/rootfolder: 200.OK (126 ms)

Here are AWS CloudWatch logs when the error occurs. Why do I always see a Sonarr error even when I'm asking to add MOVIES to the list???

image

FYI, Here is my config file. Notice I'm using subdomains to hit my Sonarr and Radarr API endpoints. Maybe this is causing the issue because I didn't see your sample config mentioning subdomains?

{
  "alexa-libby": {
    "server": {},
    "movies": {
      "provider": "radarr",
      "server": {
        "apiKey": "3f30573xxxxxxxxxxxxxx7794",
        "hostname": "https://radarr.mydomain.net",
        "urlBase": "movie",
        "port": 80
      },
      "quality": "Clusterbox Quality"
    },
    "shows": {
      "provider": "sonarr",
      "server": {
        "apiKey": "6850715exxxxxxxxxxx19d3aac",
        "hostname": "https://sonarr.mydomain.net",
        "urlBase": "tv",
        "port": 80
      },
      "quality": "ClusterBox Quality"
    }
  },
  "artwork": {
    "tmdbApiKey": "adb078xxxxxxxxxxxxxxbe4d6c85"
  }
}

Sonarr & Radarr version

Radar Version: 0.2.0.870 Sonarr Version: 2.0.0.5054

that1guy commented 6 years ago

@josephschmitt Thanks for the help here, man! I love the work you've done!

that1guy commented 6 years ago

My other question here is - How do I respond to Alexa-Libby in the Service simulator here? I would love to see the actual error in the Service Request, but I can't respond "Yes." as a next step in the Service Simulator can I?

image

josephschmitt commented 6 years ago

Just edit the utterance with your response. It'll remember you're in the same session until you hit reset or until the response resets the session itself.

that1guy commented 6 years ago

Thanks @josephschmitt I've updated the original comment to have all the data necessary to help us answer this question, I think. Let me know if I forgot anything.

josephschmitt commented 6 years ago

Wow thanks for the detailed info. Based on a quick look the only thing I could see being a problem is you have both a subdomain and a url base. Is your radarr really at radarr.mydomain.net/movies?

Otherwise things look ok. Do you have a root folder set in radarr? That could be another area to look in to.

that1guy commented 6 years ago

@josephschmitt

I've tried with and without the URL base - the same issue still occurs, unfortunately.

Also, yes I have a single root folder set up already in Radarr. I'm dubious this is a "root folder" related issue because I get the same error when trying to add movies to Radarr or tv shows to Sonarr.

How can I capture the HTTP POST request made from the Lambada application? That would really help me understand what is going on behind the scenes.

I'm going to dig deeper into Radarr API debugging.

that1guy commented 6 years ago

image