If you’re reading this, you likely own a Canary and you’re likely one of the many people on twitter requesting an API from Canary. For at least a year Canary has acknowledged those requests and redirected them to product. As consumers, we have yet to see an API or any concrete movements towards one. The only interface Canary has that is close to an API are the calls their angular-based webapp makes when you login to the dashboard.
Tonight I dropped the first of a few commits/releases of a TF module aimed at pulling and cheapily storing Canary security device sensor data (temp, humidity, air quality) on AWS using Lambda and DynamoDB. Over the next few days I’ll add error handling to the API calls, add token refresh support, and an API Gateway implementation that will allow for securely querying the data. The ultimate goal is to plot the historical data on graphs, for fun.
Canary doesn’t a have an official API for accessing your sensor data and otherwise control or access your Canary. I’ll have another post in a few days demoing how you might gain access to, store, and plot your sensor data long-term. A quick tip, though, if you’d like access to your data; login to the web console and inspect the REST requests made from their Angular app note the auth token in your local storage – be sure all subsequent requests to the endpoints have this token set as a value to the Authorization header w/ the Bearer schema you should see a call (or calls) to https://my.
I purchased a Canary the other day to keep an eye on the beasts while I’m away. I live on the ground floor in San Francisco, so… you never know. In addition to basic security via motion video capturing and alerting, Canary has a suite of sensors, including: Humidity Temperature Air Quality Ambient Light Internal Temperature DB Level (noise) The mobile app renders data for the first three sensors within the past 24 hours.