So, now that ST and Ring are “talking”, how about bringing Alexa into the conversation?
My Alexa sees the Ring Alarm – assumedly via ST – as a “Contact Sensor”.
Anyone have any thoughts on this? Or just integrating Ring Alarm and Alexa in general? It would be nice to say “Alexa? Set Ring Alarm to Away.” (Or something like that.)
To let Alexa control it,
create a virtual switch, then let that switch trigger a routine that changes SMH state (Alexa can’t trigger a routine that changes SMH)
Either Alexa Helper or Core/Webcore can accomplish this easily
To sync it with SMH, I use Simplisafe’s Smartthings APP
Webcore blocks the off() and home() commands.
To let Webcore set Ring to home or off, add 2 these commands in the device handler:
def hom1() {
log.info “Setting Ring Alarm mode to ‘Home’”
ringApiCall (‘home’)
}
def of1() {
log.info “Setting Ring Alarm mode to ‘Off’”
ringApiCall (‘off’)
}
Can you please some more details for us lesser beings on how you got this done? I have configured Ring via SmartThings and to be able to control is via Alexa would be great. However, I am totally unable to understand what exactly needs to be done. I have created a virtual switch. How do I change the SHM state? SHM configuration requires some kind of motion sensor or contact sensor or alarm.
I know webcore can put the alarm in Armed Away mode, can it somehow do Armed Home mode? Right now I have a virtual switch setup that gets turned on when I tell Alexa goodnight which changes the mode of Smartthings which then cause a SmartApp in Smartthings the put the alarm in Armed Home mode. Not the most elegant solution but it works.
I have done both Home and Away modes. Please do not ask me how it worked, because I myself do not understand it.
Configure Security in SHM :
Away Sensors: Turn off Use Every open/close and motion sensor, Open/Closed Sensors-> Ring Alarm
Stay Sensors: Turn off Use Every open/close and motion sensor, Open/Closed Sensors-> Ring Alarm
Create two simulated switches:
a) Away
b) Home
Create three routines:
a) Away -> Sets SHM to Away mode, Additional Settings -> When Something Turns ON/OFF -> Select Away simulated switch ON
b) Home -> Sets SHM to Stay mode, Additional Settings -> When Something Turns ON/OFF -> Select Home simulated switch ON
c) Disarm -> Sets SHM to Disarm mode, Additional Settings -> When Something Turns ON/OFF -> Select both Away and Home simulated switches OFF
I also installed the Simplisafe Smartapp and Simplisafe DTH. I still do not know how these get called, but they do. In the Simplisafe Smartapp, selet alarm system as Ring Alarm, select on state away, home.
As far as I remember, this is all I did. Then Alexa discovered the switches and alarm could be armed in away or home mode and disarmed by turning off the away or home mode switch.
I just found out webcore can change Smartthings mode directly. I just setup a Smartup to arm the system in home mode when webcore changes the mode to Home, very simple and easy.
I used the link shared by @asishrs and I was able to get to the last step. The smart things mobile app is showing “connecting…” while displaying the ring-alarm device on the home dashboard. The web-interface from smart things (device-list) correctly shows my ring-alarm status.
Anyone able to get the status of the alarm into Webcore? I am able to get webcore yo change the status of the alarm but I am not able to get the status into webcore. I had to set up three virtual switches and each one turns on when the alarm is set to a specific mode in a SmartApp in Smartthings. I then am able to perform actions in webcore based on the virtual switch statuses, but not the alarm status directly. Am I missing something? I know there is a “status” attribute in webcore associated with the Ring Alarm in webcore but when it is executed it throws errors in the log in webcore.
So I just hooked this up tonight and works like a charm. Your write up was one of the best I’ve seen in a while so just wanted to say thank you! I’m going to hook this up to my Google Assistant and my smart lock.
Is there a way to tell if the alarm is going off? I just see the three statuses in the smart app. It would be nice if I could get all my other sound devices to start playing something as well as all the lights to turn red and blue or something if an alarm is triggered.
I also seem to be having a problem with updating the status when I use my keypad from the ring. The “Recently” Tabs show that it hasn’t had any activity for almost 3 hours so I may try to reinstall it and see if that works.
The problem I have is that if I set the status from smartthings it works beautifully. If I set the alarm from my base station it does not update. I waited for about 5 minutes before I just switched it again in smartthings so they would be in sync.
I also saw that you said you would expose the polling time, but I cannot see that in your code anywhere. Can you tell me where to look @asishrs ?
If anything I can try to replicate and file a bug, but for now I am going to just delete the smart app and try again.
So to answer some of my own questions here I found out how it finds the status of the alarm. It is polled using the runEvery5Minutes() function. This does exatly what it sounds like and just runs the command given every 5 minutes. In our case it is the poll() function which calls the api /status. This explains my problem I was having.
I’m looking into setting this to an event instead of a poll, just because there can be up to 5 minutes where the alarm is out of sync. I have professional monitoring so I don’t want to accidentally get the cops here. The solution I see as of right now is to not use the ring keypad but instead use a different zwave pad and figure out how to lock/unlock with a pin.
I would still be interested if there was an “alarm” status that I could hook in to so I can trigger other things on my network to happen.
I’ll keep digging in and post anything I find out.
Sometime in the future, I will add all device status (need to find time to code this). If anyone interested in contributing to that, please send me a pull request on GitHub https://github.com/asishrs/smartthings-ringalarm.