I built this because of this tweet.
I have nothing to do with Ring.com, they just annoyed me with that tweet, so I figured out their api..
doorbot 2.x has an API change
usage
npm i doorbot --save
const RingAPI = ; const ring = ; ring;
api
Get a list of your devices:
ring.devices(callback) => (error, array)
Device Health:
ring.health(device, callback) => (error, json)
Get your ring history:
ring.history(callback) => (error, array)
ring.history(limit, callback) => (error, array)
- limit
- The Number
of items to return from the history.
ring.history(limit, older_than, callback) => (error, array)
- limit
- The Number
of items to return from the history. older_than
- The ID of the latest history item to start with when going backward.
Get a URL to a recording:
ring.recording(id, callback) => (error, url)
Turn on floodlights
ring.lightOn(device, callback) => (error)
Turn off floodlights
ring.lightOff(device, callback) => (error)
Toggle floodlights
ring.lightToggle(device, callback) => (error)
Set Chime Do Not Disturb
ring.set_chime_dnd(device, minutes, callback) => (error, json)
- on:
ring.set_chime_dnd(device, 15, callback) => (error, json)
- off:
ring.set_chime_dnd(device, 0, callback) => (error, json)
Get Chime Do Not Disturb
ring.get_chime_dnd(device, callback) => (error, json)
Set Doorbot Do Not Disturb (motion snooze)
ring.set_doorbot_dnd(device, minutes, callback) => (error, json)
- on:
ring.set_doorbot_dnd(device, 60, callback) => (error, json)
- off:
ring.set_doorbot_dnd(device, 0, callback) => (error, json)
The Get API call for the doorbot DND returned a 404, not sure how to get the current time
debugging
I've added the debug
module, so you can run this with export DEBUG=doorbot
and it will print some helpful logs.