Git Product home page Git Product logo

ring's Introduction

Ring

This repo contains unofficial packages to enable interaction and automation with the majority of Ring products

Troubleshooting Issues

If you are having issues, please look for related articles in the wiki and search existing Issues before opening a new Issue/Discussion

ring-client-api

The ring-client-api is a TypeScript package designed to be used by developers to create your own apps/programs which interact with Rings api

homebridge-ring

homebridge-ring allows users to easily integrate Ring products into Apple HomeKit via homebridge

Examples

See the examples directory for examples using the ring-client-api. For a full project example, see https://github.com/dgreif/ring-client-example

Credits

I'd like to give a big thanks to a number developers who have put a lot of hard work into analyzing the Ring api and building similar libraries which were extremely valuable in my creation of this project. Thank you all for your hard work!

ring's People

Contributors

7ac avatar adenta avatar aifreedom avatar apexad avatar bourdakos1 avatar dependabot-preview[bot] avatar dependabot[bot] avatar dgreif avatar djm181 avatar donavanbecker avatar dragonwork avatar georgesdib avatar github-actions[bot] avatar jadenv avatar jarodwsams avatar jsoref avatar keur avatar koush avatar mkellsy avatar mxdanger avatar oznu avatar smockle avatar stevegennard avatar sunoo avatar timtrinidad avatar tokreutz avatar tsightler avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ring's Issues

Status OK, but Cannot Change Alarm State from Home App

If I change the alarm armed state manually on the keypad, the home app will accurately display the correct state. But if I try and change state of alarm in home app, it will just stay infinitely in "disarming..." or "arming..." Sensors also are not responsive after initial boot of Homebridge server.

Camera not responding

Hi there.
First of all: you're developing a great plugin! I just installed the latest version with snapshot support.
My doorbell is a first generation Ring Video Doorbell, that makes a new snapshot only if the previous one was made at least 10 minutes ago (i.e. one snapshot every 10 minutes max).
So the current implementation of refreshSnapshot() in ring-camera.ts causes a problem.
If there is motion detected within 10 minutes after the previous motion was detected, this implementation results in a not-responding camera...

Using Siri

This isn’t really an issue but wanted to get your input more than anything. I used to be able to tell Siri “Turn Ring Alarm off” to deactivate the alarm. When I say it now, it activates the new siren switch. Do you have any suggestions for what commands I could say for Siri to control the alarm to turn it off?

After 3.6 Update

Ever since I updated to 3.6 I have not got an update for the snapshots. I am going to do a reset of my HomeBridge to start from scratch and see if that’s what the problem is. If not just wanted to let you know.

Sent with GitHawk

probably needs investigation

(node:40871) UnhandledPromiseRejectionWarning: Error: Request to ring API at https://app.ring.com/api/v1/rs/connections failed --caused-by-> Request failed with status code 404
    at module.exports (/Users/mrose/Documents/Projects/homespun.io/homebridge-ring-alarm/node_modules/ring-api/propagated-error.js:22:19)
    at ringRequest (/Users/mrose/Documents/Projects/homespun.io/homebridge-ring-alarm/node_modules/ring-api/rest-client.js:78:19)
    at <anonymous>
    at process._tickCallback (internal/process/next_tick.js:188:7)
(node:40871) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 4)
(node:40871) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

this isn't really an issue

hey, super sorry to contact you like this. i didn't want to open an issue because this isn't an issue. how did you reverse the websockets api? i'm trying to recreate this in another language but i'm having a heck of a time even testing the alarm websocket out.

i'm using this client just for ease:
https://chrome.google.com/webstore/detail/browser-websocket-client/mdmlhchldhfnfnkfmljgeinlffmdgkjo/related?hl=en

should i be able to connect to that URL from anywhere or do they have origination restrictions? time limit? how long is the auth code valid from?
wss://${connections_response.server}/?authcode=${connections_response.authCode}

i can telnet to port 443 on the server i'm getting back but if i try to connect to it with a websocket client of any kind the server immediately closes the connection. any hints on how you figured this out? if you want to reach out through another medium feel free. i'm on gmail for example.

Camera Live Feed

The cameras provided by the homebridge plugin currently support snapshots, but not a live feed. This is because the protocol for starting the live feed is complicated, and there are not any great npm packages for sip/rtp (that I can find) which make this easy to do. I am happy to work with anyone experienced in sip/rtp to make live streams happen, but I don't have more time to personally work on it at this point.

For anyone looking to mess around with live streams, each camera has a getSipConnectionDetails method which returns an on-demand ding with sip details. The sip_to property in the response should be all that you need to get connected with a good sip client. More details can be found in the following links:

RingAlarm fails to start, error on startup

I am getting the following error trying to add my Ring Doorbell:

[6/16/2019, 9:11:59 PM] [RingAlarm] Configuring 1 cameras and 0 devices for locationId c290hb-2s0fi-0
[6/16/2019, 9:11:59 PM] [RingAlarm] Adding new accessory lpd_v2 Front Door
[6/16/2019, 9:11:59 PM] [RingAlarm] Error connecting to API
[6/16/2019, 9:11:59 PM] [RingAlarm] Error: Cannot add a bridged Accessory with the same UUID as another bridged Accessory: f0c6f4aa-3193-4b9d-8a8f-4127cf8ceb8e
    at Bridge.Accessory.addBridgedAccessory (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:268:13)
    at Bridge.Accessory.addBridgedAccessories (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:299:10)
    at Server._handleRegisterPlatformAccessories (/usr/local/lib/node_modules/homebridge/lib/server.js:490:16)
    at Server.<anonymous> (/usr/local/lib/node_modules/homebridge/lib/server.js:41:10)
    at API.emit (events.js:198:13)
    at API.registerPlatformAccessories (/usr/local/lib/node_modules/homebridge/lib/api.js:171:8)
    at createHomebridgeAccessory (/homebridge/node_modules/homebridge-ring-alarm/homebridge/ring-alarm-platform.js:98:29)
    at allDevices.forEach.device (/homebridge/node_modules/homebridge-ring-alarm/homebridge/ring-alarm-platform.js:100:82)
    at Array.forEach (<anonymous>)
    at RingAlarmPlatform.<anonymous> (/homebridge/node_modules/homebridge-ring-alarm/homebridge/ring-alarm-platform.js:88:28)
    at Generator.next (<anonymous>)
    at fulfilled (/homebridge/node_modules/homebridge-ring-alarm/homebridge/ring-alarm-platform.js:4:58)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Here is my config:

        {
            "platform": "RingAlarm",
            "name": "RingAlarm",
            "email": "[email protected]",
            "password": "******",
            "beamDurationSeconds": 60,
            "hideLightGroups": true,
            "cameraStatusPollingSeconds": 30,
            "cameraDingsPollingSeconds": 5
        },

Motion Not Triggering

I just finished setting this up. I can see the snapshot is updated in my camera view, but I am not getting any motion triggers. I have motion setup on the ring app, but it is not triggering my homekit motion accessory. Any ideas?

Support for other Products

Anyway you can add support for doorbell button, doorbell motion sensor, floodlight light, floodlight motion sensor, floodlight siren, and etc?

Question About Homekit

Hello
Does all acceccories connected to the alarm base station show up in homekit as sensor? Door / Window Sensor / Smoke / Motion Detectors?

User/password printed to console

Perhaps you don't consider this a bug, but there's a console log of the username/password in clear text whenever you make a connection to the alarm. I use debug for most of my scripts and, normally, they produce no console output otherwise, so this just struck me as odd. I ended up looking for a leftover console.log statement in my code that I somehow didn't remember before I realized it was coming from the API code.

Should this work with Docker?

As an alternative, I did a docker install. Other plugins seem to work fine, and your plugin seemed to install this way correctly. However, I cannot get anything to show up in the home app. I know I have the right credentials. Just logged into a new browser with the email and password that I also have in the config.json file. Thoughts? Thanks! Can't wait to get this to work.

Never mind! Got it to work with a restart. Still can't do outside of Docker, but this is great! Thanks

Support for fire alarms and such?

Hey there! Love this homebridge integration, it’s made my ring alarm much more useful with automation! Anyways, I just got one of those Z-Wave fire alarms from First Alert and it ties into my ring alarm. Do you have any plans to add in support for them, or have any idea how easy it might be to do so? Would be awesome to be able to turn on all the lights and turn off the HVAC in the event of an alarm. Thanks for making and sharing this awesome plugin! Your hard work is much appreciated!

Notifications for delayed entry

I’m not sure if this is supposed to work or not, but I don’t get any notifications for delayed entry. I only get notifications when it’s armed and disarmed. Is there any way to set it up to get notifications when the alarm goes into delayed entry? I’ve had problems where a motion sensor trips the delayed entry but I don’t hear or realize it’s going off until the alarm siren triggers. These notifications can be set up in the Ring app, but would be so much more useful if they came through HomeKit. Having a notification would be a huge help.

Feature Request: onDingDetected

So I've been working on adding camera support to ring-mqtt and perhaps it's just my inexperience, but I'm finding it confusing to work with cameras because it seems like there are so many different ways to get state for various things.

I've worked out that I can subscribe to onData and get state for lights and siren, which is great and simple. I can subscribe to onMotionDetected, and get simple true/false notifications when motion events start and end, OK, simple enough.

However, dings, i.e. doorbell presses. Here it seems that there's no single event to subscribe. Yes, I can subcribe to get a "ding" event, but then how to I monitor for when a "ding" even is over? Of course I can just start an event and time it in my own code, but it just seems strange compared to the rest of the API. I think it would be really nice of there was an "onDingDetected" observable that behaved with simple true/false similar to motion.

Now perhaps you're just exposing the way ding vs motion events work from the Ring API perspective, in which case I understand if you wouldn't want to implement this at the API level, I'll do it in my app, no problem, but I thought I'd put it out there. Besides, maybe you'll just tell me I'm doing it totally wrong and teach me something, and that's fine too!

Handle failure to arm

If a sensor is faulted when you try to arm the alarm, it will audibly tell you that sensors need bypass. This plugin doesn't currently handle this situation. First step will be calling the set callback with an error.

Unable to install

When I run npm i -g homebridge-ring-alarm, I get the following error:

npm ERR! git fetch -a origin ([email protected]:github:dgreif/ring-api) fatal: remote error: 
npm ERR! git fetch -a origin ([email protected]:github:dgreif/ring-api)    is not a valid repository name
npm ERR! git fetch -a origin ([email protected]:github:dgreif/ring-api)   Email [email protected] for help
npm ERR! notarget No compatible version found: ring-api@'github:dgreif/ring-api'
npm ERR! notarget Valid install targets:
npm ERR! notarget ["2.0.0","2.0.1","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.1.0","2.1.2","2.1.3","3.0.0","3.0.1","3.0.2","3.0.3","3.0.4","3.0.5","3.0.6","3.0.7"]
npm ERR! notarget 
npm ERR! notarget This is most likely not a problem with npm itself.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.

npm ERR! System Linux 4.14.79+
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "i" "-g" "homebridge-ring-alarm"
npm ERR! cwd /home/pi
npm ERR! node -v v8.11.1
npm ERR! npm -v 1.4.21
npm ERR! code ETARGET
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/pi/npm-debug.log
npm ERR! not ok code 0

I'm on a raspberry pi B+, not sure if that matters.

Thanks!

Ring 2FA

Does this work if you have the ring 2fa turned on? I was using a different ring plugin until last week, I turned on Ring 2FA and then the plugin could not authenticate. Please can you advise if yours works with the Ring 2FA enabled before I install, thanks in advance...

Error loading plugin

Homebridge 0.4.45
node.js v6.10.2
homebridge-ring-alarm 1.1.0

I install the plugin using "npm i -g homebridge-ring-alarm" -- everything installs fine, no issues. When I start up homebridge, it throws an error on loading the homebridge-ring-alarm plugin:

====================
ERROR LOADING PLUGIN homebridge-ring-alarm:
/usr/local/lib/node_modules/homebridge-ring-alarm/node_modules/ring-api/main.js:7
email = process.env.RING_USER,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
SyntaxError: Invalid shorthand property initializer
at createScript (vm.js:56:10)
at Object.runInThisContext (vm.js:97:10)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. (/usr/local/lib/node_modules/homebridge-ring-alarm/lib/src/ring-alarm-platform.js:11:17)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object. (/usr/local/lib/node_modules/homebridge-ring-alarm/lib/index.js:3:31)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Plugin.load (/usr/local/lib/node_modules/homebridge/lib/plugin.js:72:23)
at Server. (/usr/local/lib/node_modules/homebridge/lib/server.js:149:14)
at Array.forEach (native)

Ring API unable to fetch session

@riveraj33 looks like I'm eating my words on the API never changing 🤦‍♂️. Ring broke some of the old android endpoints being used by the ring-api library. I'm updating my fork to use new endpoints and should have a fix out soon.

API fails when network connection is interrupted

I'm back. I tried to use the onConnected observable and it works to provide notification when the websocket is disconnected, however, almost immediately I get an unhandled promise warning. Also, if I remove the Internet block, it does not reestablish the connections automatically and I can't figure out any way to make it reconnect from within my code. I do not have this reconnect issue with the ring-api code. This could still easily be something I'm doing incorrectly, but I get the error even with the example code.

If it helps, below is the output from a slightly modified version (my platform is Node 8.x so I couldn't seem to use import) of the example script after I interrupt the internet connections with a firewall rule:

**** Disconnected from alarm at location a234428cb-cbfc-761c-4598-29d23f33dcd8
Request to https://app.ring.com/api/v1/rs/connections failed
(node:451) UnhandledPromiseRejectionWarning: Error: connect ETIMEDOUT 54.85.88.4:443
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1191:14)
(node:451) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
(node:451) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

How do you suggest implementing multiple users?

First I want to thank you for this plugin. It works great with the Apple Watch since the watch verifies identity without verification on the phone.

Here's my application: I've set up and want to continue to manage my home through the iOS/macOS Home app. (I've got a few other plugins too.) I'd like to just "Invite" my wife in the Home app so I can continue to manage the whole thing and she can just use it and be oblivious to my tinkering.

When she uses this plugin to, say, disarm the alarm, she's prompted that there needs to be the correct user (me) logged into her phone's app.

Is there any way to use this plugin with multiple Ring users?

The two workarounds I've thought of are to:

  1. Obviously, I could just let her use my Ring account on her phone. Or,
  2. I could run a second homebridge instance just for her.

Both are kind of clunky, and what if I want to add another person, like a grandparent or nanny?

Anyway have you put any thought into this? I've looked through the docs and issues and can't see any mention of this type of thing.

Thanks again.

Losing connection after a few hours

The socket.io connection with Ring gets reset after a few hours. We receive a message with datatype: 'HubDisconnectionEventType'. I've got a fix for this, but need to try it out today to be sure it works.

Keypad & Cameras not showing up

I am pretty experienced with running Homebridge, installed RingAlarm. Home picked up the motion sensor on my ring doorbell and floodlight, but no other devices showed up. No cameras, and no keypad control. Am I completely missing something? Is there additional configurations I need to apply?

"platforms": [
{
"platform": "RingAlarm",
"email": "[email protected]",
"password": "mypassword",
"locationIds": [],
"alarmOnEntryDelay": false,
"beamDurationSeconds": 60,
"hideLightGroups": false
},

Add support for police/fire panic button

Ring Alarm recently added a panic button to their mobile app, which can either (a) trigger the siren on the base station, (b) request a police response, or (c) request a fire department response. (Options (b)/(c) require an active monitoring plan.)

It would be interesting to expose an API endpoint for this feature, since it would be very useful for writing certain types of automation rules.

(On the other hand, one would have to be very careful with this API to avoid false alarms. Testing could also be a challenge.)

Install failure

Hello. I’ve used this plugin for a few months and unfortunately I had to reinstall raspian on my pi and start over with a bunch of things. Homebridge and this plug in are one of those. I’m getting an error when trying to install this plug in. I have the latest version on homebridge. I get a command failed and permission denied. I’ll try to post a pic tomorrow. I can’t forgive out how to paste a photo from my iPhone to this thread.

Doorbell doesn't appear with shared user account

I have a weird issue that I just can't seem to figure out. I was trying to add support for cameras to my ring-alarm-mqtt bridge script (probably with a rename to ring-mqtt since it will no longer be just for Ring alarm) but I've hit a snag. I use a shared user account for all of my integrations for multiple reasons, mainly that I have 2FA enabled on the owner account, but also because my owner account has access to some other locations that are shared with me that I don't really want part of my integrations (yes I know I can limit this with location IDs, I even have that support in my script config, but I find it easier to just create an account with only the items I want as I can be granular even per location). Not only that, but it's an easy way to control what devices show up in Home Assistant and this way my automation actions are logged with a custom username instead of my name (in my case I created an account named Home Assistant so it's really clear).

Anyway, I've shared all the devices that I want to show up in my integrations with this shared user account. I only have a single location and I have an alarm and 4 cameras in total, two stickup cams, a floodlight cam, and a doorbell pro. If I login to the app or use this account with the Home Assistant native plugin, all of these devices appear and work perfectly. However, when I use this account with the API, I get 3 of the 4 cameras and the alarm, but the Doorbell Pro never shows up regardless of if I use getCameras() or locations.cameras.

However, if I switch to use the owner account, then I'm able to see all four cameras, including the Doorbell Pro, with no issues. Any ideas around this? It's just such a strange issue I'm not sure what could cause this? What can I provide that might help troubleshooting?

Random Mode Changes

Hey,

I’ve been noticing random mode changes for the past few weeks. All of the activity in the screenshot was happening while I was asleep:

dfdc71f3-9c23-43a1-9c09-9bf8a21ceccb

Is it possible that this plugin may have something to do with that? How can I find out?

Thanks!

Alarm instructions and stupid SIREN!!!

I like to think I am a technical guy. For the life of me I cannot consistently arm (home and away) and disarm my Ring. The stupid siren keeps coming on.

  1. What are the actual full Siri commands to arm in home, away and disarm?
  2. Can teh siren switch be DELETED??

Permission Issues w/ install

I'm getting consistent permission issues when trying to install. I have homebridge running fine and I've installed other plugins without issue. Relevant part of debug.log below.

I even tried:
sudo npm install -g homebridge-ring-alarm --unsafe-perm=true --allow-root
But still getting errors. I also had this confirmed by another user with another Pi who has homebridge and other plugins working fine.

192 silly install generateActionsToTake
193 warn checkPermissions Missing write access to /usr/lib/node_modules
194 timing stage:rollbackFailedOptional Completed in 2ms
195 timing stage:runTopLevelLifecycles Completed in 5580ms
196 verbose stack Error: EACCES: permission denied, access '/usr/lib/node_modules'
197 verbose cwd /home/pi
198 verbose Linux 4.14.79-v7+
199 verbose argv "/usr/bin/node" "/usr/bin/npm" "i" "-g" "homebridge-ring-alarm"
200 verbose node v8.15.0
201 verbose npm v6.6.0-next.1
202 error path /usr/lib/node_modules
203 error code EACCES
204 error errno -13
205 error syscall access
206 error Error: EACCES: permission denied, access '/usr/lib/node_modules'
206 error { Error: EACCES: permission denied, access '/usr/lib/node_modules'
206 error stack: 'Error: EACCES: permission denied, access '/usr/lib/node_modules'',
206 error errno: -13,
206 error code: 'EACCES',
206 error syscall: 'access',
206 error path: '/usr/lib/node_modules' }
207 error The operation was rejected by your operating system.
207 error It is likely you do not have the permissions to access this file as the current user
207 error
207 error If you believe this might be a permissions issue, please double-check the
207 error permissions of the file and its containing directories, or try running
207 error the command again as root/Administrator (though this is not recommended).
208 verbose exit [ -13, true ]

Smart Light Group or Light Hiding Option?

Is there anyway that you can put an option into this plugin so that you can make it so that the "Patio Group" Light doesn't show or is hidden? because then if we want to group our lights together we can with HomeKit.

IMG_E081330F784D-1
IMG_67BEA2C94167-1

Ring is blocking me?

I suspect that every time I try to use the script RIng is blocking me. After launching it I'm unable to access my ring account from my phone or online. This time I got:

" error Couldn't create the API instance. This could be because ring.com changed their API again"

Error loading pluin

I'm receiving the following error when trying to load the ring-alarm plugin after a successful install. Other plugins load just fine. JSON is valid. Everything launches just fine if plugin Is uninstalled. Node v10.5.0. I appreciate the help.

Loaded plugin: homebridge-ring-alarm
/usr/local/lib/node_modules/homebridge/lib/server.js:166
plugin.initializer(this._api);
^

TypeError: plugin.initializer is not a function
at Server. (/usr/local/lib/node_modules/homebridge/lib/server.js:166:14)
at Array.forEach (:null:null)
at Server._loadPlugins (/usr/local/lib/node_modules/homebridge/lib/server.js:140:22)
at new Server (/usr/local/lib/node_modules/homebridge/lib/server.js:57:24)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:28:16)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:240:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:564:3)

Additional device types

I found the device type array in the ring source code:

deviceType = {
    "access-code": "Security Access Code",
    "access-code.vault": "Code Vault",
    "adapter.zigbee": "ZigBee Adapter",
    "adapter.ringdevices": "Ring Devices Adapter",
    "adapter.zwave": "Z-Wave Adapter",
    "alarm.co": "CO Alarm",
    "alarm.smoke": "Smoke Alarm",
    "hub.redsky": "Ring Alarm",
    lock: "Lock",
    "range-extender.zwave": "Z-Wave Range Extender",
    "security-panel": "Security Panel",
    "security-keypad": "Security Keypad",
    sensor: "Sensor",
    "sensor.contact": "Contact Sensor",
    "sensor.glassbreak": "Glassbreak Sensor",
    "sensor.humidity": "Humidity Sensor",
    "sensor.motion": "Motion Sensor",
    "sensor.shock": "Shock Sensor",
    "sensor.temperature": "Temperature Sensor",
    "sensor.water": "Water Sensor",
    switch: "Switch",
    "switch.multilevel": "Switch Multilevel",
    "switch.multilevel.bulb": "Switch Multilevel Bulb",
    unknown: "Unknown",
    "unknown.zwave": "Unknown Z-Wave Device",
    "unknown.zigbee": "Unknown ZigBee device",
    "temperature-control.thermostat": "Thermostat"
}

I have implemented a few of the sensors along with the keypad, base station and security panel so far. Other types of sensors would be easy to implement now that we know the device type, but I don't have any of them to test out and verify. PRs are welcome from anyone that has one of these additional devices to try out.

camera shown only on one device

Hi, ive come with another issue, i only have the camera on the first device ive added, if i open home app on other devices (ipad or macbook) i cant find the camera/door sensor ive got on iphone. Also the sensor is not firing up only sometimes.

Love it!

Not an issue. Just wanted to thank you for creating this plugin. Just installed it an truly loving it. You literally made my home more secure by enabling me to auto arm when I leave!

Do you accept donations? If so where can I send you a nice dinner? :)

Install Issue

So tried to install your plugin, I get the [2019-5-23 05:40:57] [RingAlarm] Initializing RingAlarm platform...
But then it doesn’t do anything

Multiple Homes in a single account

It would be fantastic if you would allow a configuration to be set to allow for only pulling in the devices for a single location. our ring account has multiple locations and it would be nice to have a home bridge config to be separate for each of them as they are separate homes.

more than one homebridge instance not starting

hi i have 4 homebridge instances, therefore same plugins are shared but in the plugins where there is not ringalarm platform in the config they cant start due to the following error on start up
Load homebridge-ring-alarm.RingAlarm
[6/24/2019, 6:26:31 PM] TypeError: Cannot read property 'cameraStatusPollingSeconds' of null
at new RingAlarmPlatform (/usr/local/lib/node_modules/homebridge-ring-alarm/homebridge/ring-alarm-platform.js:64:52)
at Server._loadDynamicPlatforms (/usr/local/lib/node_modules/homebridge/lib/server.js:358:30)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:92:8)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:59:10)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (internal/modules/cjs/loader.js:721:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:774:12)
at executeUserCode (internal/bootstrap/node.js:342:17)
at startExecution (internal/bootstrap/node.js:276:5)
at startup (internal/bootstrap/node.js:227:5)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)

is like you need the platform entry on the config even if you dont use it in this instance

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.