I love my Wyze cameras and now my Wyze Sense. After Installing my brand new contact sensors, I went to check if the Alexa skill will discover them. Sadly they were not there. This is when I went down the rabbit hole of creating a “solution”. I’m going to describe two methods I created to allow Alexa to know whether my garage door is open or closed. Yeah, yeah, I know I can open my app and check, but with Alexa and Google home I can always be lazier right
For both methods, I developed my own Alexa Smart Home Skill (there is plenty of documentation if you are a dev, but if requested I can create a guide later). The skill is not published so its only available for my personal Amazon Echos.
1.- IFTTT. The first method was to create a IFTTT recipe that will update a DynamoDB record for each of my sensors. The recipe is very simple. “If Any Contact Sensor closes/opens, then Make a web request” aka webhook. I created a nodejs Lambda that receives the events and logs the state on the DB. Now I can query the remote DB to know if the garage door is open.
2.- API. Doing some app traffic sniffing plus finding the previous work of https://github.com/nblavoie/wyzecam-api, I was able to create a simple mobile API wrapper for node https://github.com/noelportugal/wyze-node. Now instead of relying on IFTTT to update my DynamoDB, I can directly ask the API for the status of my garage door! Also with this method I can dynamically add/remove sensors for Alexa to discover.
Finally here is the Lambda node.js code I’m using to power my Smart Home Skill: https://github.com/noelportugal/wyze-smart-home.
*Note that, I’m a developer and if you are trying to do something similar, you will need to dive in into code but, don’t be afraid! Sometimes it is through passion projects that we learn to do new things.
**There are still some hurdles with the mobile API. Since understandably was not created as a supported public API. Hopefully our favorite Wyze team can create a proper public API! After all they are halfway there!