I am working on a “skill” for the new Amocha ECHO. This skill will allow the user to ask Alex about the status and effectiveness of the Enphase solar system. Alexa will respond with results from the JSON-based Enphase API. For example, a user may ask
"Alexa. Ask Enphase how much solar energy I have produced in the last week." ALEXA <"Your array has produced 152kWh in the last week.">
The problem is that many years have passed since I programmed JavaScript, and this is my first experience using AWS Lambda. I have not been very successful in finding any information on how to embed a JSON request on a third-party server in the AWS Lambda function. Here is the relevant section of code in my lambda function:
/** * Gets power from Enphase API and prepares speach */ function GetPowerFromEnphase(intent, session, callback) { var Power = 0; var repromptText = null; var sessionAttributes = {}; var shouldEndSession = false; var speechOutput = ""; ////////////////////////////////////////////////////////////////////// // Need code here for sending JSON query to Enphase server to get power // Request: // https://api.enphaseenergy.com/api/v2/systems/67/summary // key=5e01e16f7134519e70e02c80ef61b692&user_id=4d7a45774e6a41320a // Response: // HTTP/1.1 200 OK // Content-Type: application/json; charset=utf-8 // Status: 200 // {"system_id":67,"modules":35,"size_w":6270,"current_power":271, // "energy_today":30030,"energy_lifetime":59847036, // "summary_date":"2015-03 04","source":"microinverters", // "status":"normal","operational_at":1201362300, // "last_report_at":1425517225} ////////////////////////////////////////////////////////////////////// speechOutput = "Your array is producing " + Power + " kW, goodbye"; shouldEndSession = true; // Setting repromptText to null signifies that we do not want to reprompt the user. // If the user does not respond or says something that is not understood, the session // will end. callback(sessionAttributes, buildSpeechletResponse(intent.name, speechOutput, repromptText, shouldEndSession)); }
Some recommendations would be greatly appreciated. Even if someone can point me in the right direction. Thanks!
Darko source share