Read the statement by Michael Teeuw here.
MMM-MirrorMirrorOnTheWall module problem?
-
@subminimal said in MMM-MirrorMirrorOnTheWall module problem?:
he remote endpoint could not be called or the response returned was invalid”
Hey there,
have you tried ? this? -
@subminimal Did this work?
-
Unfortunately no. I added the code to index.js like so:
var handlers = { 'Unhandled': function () { this.emit(':ask', HelpMessage, HelpMessage); },
Saved it, zipped it, and re-uploaded to Lambda. This seems crazy to me because I am following the instructions to the letter. Originally I had my node_modules folder outside of the src folder, but fixing that didn’t do it.
In the Lambda manager console I am getting:
{ "errorMessage": "Invalid connect options supplied.", "errorType": "Error", "stackTrace": [ "Object.DeviceClient [as device] (/var/task/node_modules/aws-iot-device-sdk/device/index.js:201:14)", "Object.app.setup (/var/task/MirrorMirror.js:11:23)", "Object. (/var/task/index.js:21:14)", "Module._compile (module.js:409:26)", "Object.Module._extensions..js (module.js:416:10)", "Module.load (module.js:343:32)", "Function.Module._load (module.js:300:12)", "Module.require (module.js:353:17)", "require (internal/module.js:12:17)" ] }
And in my Alexa skill testing I am getting
The remote endpoint could not be called, or the response it returned was invalid.
back for a Lambda response. I even noticed in the tutorial he uses Node.js 4.3 instead of using Node.js 6.10 for his Lambda runtime, but same problem either way.
I’m a little confused as to the process of where I’m putting stuff as well. I’m downloading the MirrorMirrorontheWall skill, unzipping to my downloads folder, then running the start.sh in there. Do I then put the MMM-MirrorMirrorOnTheWall-master folder inside the modules folder in pi/MagicMirror? And does it matter where I run the start.sh from? I’m a little lost on where to place everything. I am pulling my hair out is there anyone out there that can help, please?
-
I found the problem.
In the MirrorMirror.js file you need to add an extra line to point to the aws-iot endpoint you created in the very first steps. You can find the string in the aws-iot dashboard and clicking on settings in the bottom left hand corner.
Mirrormirror.js:
app.setup = function() { app.device = awsIot.device({ keyPath: __dirname + "/certs/MagicMirror.private.key", certPath: __dirname + "/certs/MagicMirror.cert.pem", caPath: __dirname + "/certs/root-CA.crt", clientId: "MirrorMirror" + (new Date().getTime()), region: "us-east-1", host: "your-custom-endpoint", });
The string should look something like this:
xxxxxxxxxxxx.iot.us-east-1.amazonaws.com
After you add that in just save, re-zip, and upload to lambda and it should work if you did everything else correctly. Hope this helps!
-
THAT DID IT! The skill is working fine! Thanks SO much! I feel like it’s the last part here Im a little unclear on as well… do I put the whole MirrorMirroronthewall folder into the modules folder with certs, then add the module to config.json file? What are the last few steps to get this puppy in gear? Its a little fuzzy in the docs. THANK YOU A MILLION TIMES!!!
I’m SO close. Alexa does the “Yes my queen” intro, and says she is playing a video for me. But I don’t see a video, and I can’t make changes to the layout verbally either. I know I’m mucking up installing the actual module now that the skill is working.