Great project, unfortunately not available to me as it isn’t set for German language although Amazon Smart Home Skills would work.
Amazon does not allow me to select a non-German skill even when changing the language of the Echo/Echo Dot/… to English.
The “patronising” reason they gave was to protect customers from using skills that would not work where they are living like ordering a pizza from a US shop while being in Germany - but how dumb do they think customers are? BTW, the same would go for a pizza shop in Vienna that doesn’t deliver to Berlin although both use German skills doh’
The problem is particle’s oauth layer does not support multiple call back urls, so I will have to roll another copy of the skill with new credentials. Not sure how soon I can get to it.
Hi! … i implemented a similar system based on Alexa and Particle, but, as in this case (if i understood it well), the reponses sent back to the Amazon Echo device are generated from the Lambda function with no confirmation that the Photon device successsfully turned the light to the desired state (for example). However, what i would like to implement is that, once the Photon device receives the command from the Lamda function, and it successfully executes it, it sends a “notification” to the Lambda Function (for example using a cloud function) to send a response back to the Amazon Echo device. does anyone successfully implemented this feature as described?. thanks.
My Lambda function natively looks for a valid 200 http response which is generated after the function in the particle issues a return before returning the response json to amazon, however, it doesn't "validate" the functionality was complete, only that the call was complete. Now this is different for lock and temperature functions, where you can request lock and temperature current states (is locked, temperature is, temperature is set to), which return to the lambda and then to amazon.
You have to be careful, especially with long running routines, to return out of the functions in the particle quickly as to not timeout the lambda (technically the http request), so while we don't "validate" the device was turned on or off, we do validate the call was completed successfully and something was returned from the function. It wouldn't be too hard to add validation, but it would have to be an option added, as we wouldn't want to break existing implementations by just changing the lamba to look at the return int from the particle function (0 for ok, -1 for failed or something).
Hi @AlbertZeroK … thanks for your answer. in my particular case, the final aim is to use a Red Bear Duo (almost fully compatible with Particle code but supporting Wifi+BLE) instead of the Photon, and use it to control different BLE devices from voice commands with an Alexa Echo … and thus i would like to validate that the commands are correctly executed by the end device … so my initial idea was to implement in the Red Bear Duo the funcionality to, once it receives a confirmation from the BLE end device,send a “notification” back to the Lambda function and, from it, send a message to be reproduced on the Amazon Echo. If not, any problem with the BLE connection/device in order to execute the command will not be properly detected by the lambda funcion, and finally by the Alexa Echo’s user. thanks again for your support.
So for now, you can just do a delay of more than 3 seconds and the lambda will time out, forcing an error on the alexa device, but I’ll add functionality to return a pass / fail in the next release, but give me a few weeks, we leave for holiday friday.