SimpliSafe Alarm Integration (cloud to cloud)

I am fairly new to SmartThings and know nothing about coding. I would like to use this SmartApp to integrate Simplisafe with my ST but can’t figure out exactly how to get it working. I went to the Github repository and forked it, linked Github to my ST account. Went to My SmartApps, tried to update from repository, nothing listed under simplisafe-smartthings. I tried to create my own app and copy and past the original code and get this:
groovy.lang.MissingMethodException: No signature of method: script1449423844298951136377.metadata() is applicable for argument types: (script1449423844298951136377$_run_closure2) values: [script1449423844298951136377$_run_closure2@68790a42]
Possible solutions: getMetadata(), getState(), setState(java.lang.Object), metaClass(groovy.lang.Closure) @ line 28

Any help would be appreciated. Thanks.

Nevermind, figured out that I needed to add a new device type rather than Smart App.

1 Like

As I’m new to this, I just want to make sure…

Do I need to have the system already in order to be able to add the device onto my ST console? SS is not listed or is on a list that I can pick from which is why I’m asking.

Do I need to “HACK” a remote in order for this to work?

Also,is SS Z-wave?? How do you get both systems to find each other? Just asking so I don’t order something that I can’t connect to each other.

Once connected, do I need to code or do something special to the preference to make it work?

Last, Will ST automatically set and disarm the system when I enter or leave?

Thanks in advance and TY for providing something SS should have supported… I’m looking forward to using this if it simple and I don’t need to “HACK” a remote in order to use it.

You need to have a valid SS login with a system registered on their site.

No hacking of a remote is necessary.

SS is not zWave, it’s proprietary protocol.

You will need to install the SimpliSafe device type code in the ST IDE at the top of this thread.

@tobycth3 is working on integration with mode changes so we can enable/disable the SS alarm from automated ST actions. This will be the final piece of the integration which some of us are very excited for!

How do you “You will need to install the SimpliSafe device type code in the ST IDE at the top of this thread”.

Is there a video or a step by step showing how to do this?

Is this in the app itself?

BTW thank you for all the answers… as I am excited as well…

1 Like

This FAQ should help. (This is a clickable link.)

1 Like

Nothing to do with ST, but Simplisafe now officially “Works with Nest”! If you have the interactive plan and login to manage your account from your browser, you can connect to your Nest account. It will change your Nest home/away based on your Simplisafe status and also read your thermostat temperature readings (don’t see a real benefit here yet), as well as verify your zip code from Nest matches your Simplisafe zip code (not sure of benefit here either). I tested this and it worked perfect and put my Nests into away mode immediately when I put my Simplisafe into away mode.

This is exciting news for Simplisafe customers. I have been previously using ST presence to change my Nest home/away status but that hasn’t been the most reliable since ST presence bugs and unsupported Nest devices has been inconsistent throughout the past 2 years. I will always choose officially supported ways over unsupported ST ways. Let’s now hope Simplisafe is working on IFTTT and Amazon Echo integration next.

1 Like

I’ve found this super useful after replacing my alarm with SimpliSafe this week. Nice job on building a great device type!!

I’ve put a smartapp together to to be able to change my simplisafe alarm state based on the smartthings mode. It works well. I have three instances of the app for each simplisafe state. Hopefully others find this useful:

 *  SimpliSafe Alarm State
 *  Copyright 2015
 *  Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
 *  in compliance with the License. You may obtain a copy of the License at:
 *  Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
 *  on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License
 *  for the specific language governing permissions and limitations under the License.
	name: "SimpliSafe Alarm State",
	namespace: "foxxyben",
	author: "Ben Fox",
	description: "Automatically sets the SimpliSafe alarm state based on the Smartthings mode.",
	category: "My Apps",
	iconUrl: "",
	iconX2Url: ""

preferences {
	page(name: "selectProgram", title: "SimpliSafe Alarm State", install: false, uninstall: true,
		nextPage: "Notifications") {
		section("Use this Alarm...") {
			input "simpliSafeAlarm", "capability.alarm", multiple: false, required: true
section("Change to this arming state...") {
			input "alarmState","enum", options: ["Away", "Home", "Off"], required: true
		section("When SmartThings changes to this mode... [optional]") {
    input "smartthingsMode","mode",multiple:true, required: false
page(name: "Notifications", title: "Notifications Options", install: true, uninstall: true) {
		section("Notifications") {
			input "sendPushMessage", "enum", title: "Send a push notification?", metadata: [values: ["Yes", "No"]], 
    		required: false
			input "phone", "phone", title: "Send a Text Message?", required: false
section([mobileOnly:true]) {
			label title: "Assign a name", required: false

def installed() {
	subscribe(location, changeMode)
	subscribe(app, changeMode)

def updated() {
	subscribe(location, changeMode)
	subscribe(app, changeMode)

def changeMode(evt) {
def currentState = simpliSafeAlarm.currentState("alarm")
log.debug "Current SimpliSafe state is: ${currentState.value}"
if ( alarmState.toLowerCase() == currentState.value.toLowerCase() ) {
log.debug "No alarm state change needed"
if ( alarmState.toLowerCase() != currentState.value.toLowerCase() ) {
def message
Boolean foundMode=false        
smartthingsMode.each {
    if (it==location.mode) {

if ((smartthingsMode != null) && (!foundMode)) {
    log.debug "changeMode>location.mode= $location.mode, smartthingsMode=${smartthingsMode},foundMode=${foundMode}, not doing anything"

if (alarmState=="Home") {
    message = "SimpliSafe is Armed HOME"

if (alarmState=="Away") {
    message = "SimpliSafe is Armed AWAY"

if (alarmState=="Off") {
    message = "SimpliSafe is DISARMED"

private send(msg) {
	if (sendPushMessage != "No") {
		log.debug("sending push message")
	if (phone) {
		log.debug("sending text message")
		sendSms(phone, msg)

	log.debug msg

Thank you, Thank you, Thanks you!!! I’ve been wanting this for the longest time!!! This means total integration between ST and Simplisafe! The only thing better would be removal of double hardware on my doors and windows at this point which no smartapp will resolve. Tagging @smart since I know he was possibly interested in using Simplisafe. Between this and the Nest/Simplisafe integration, it’s been a good week!!

My ADT contract expires in January and was looking for options. Thx. Will compare and see how it looks! Thanks a lot and happy holidays!

Not sure if I will “gain” anything by switching?


Happy Holidays to you also!

Money. Isn’t ADT like $50 a month? SimpliSafe is half that. True, you will have to buy new hardware, but over 5 years, it should be saving you money. ADT Pulse has been promising IFTTT integration for over a year now and nothing. I’ve been disappointed in Simplisafe’s lack of innovation, but now with the brilliant ST community, it’s not as much of as an issue for me.

1 Like

Buddy, in case you missed this thread, you cannot go wrong with Abode. If you look for a solid security system that is flexible and modern, look no further. I cannot be happier with my decision to get on board with them.

1 Like

Yes, definitely check them out also. If I was to start a brand new system right now, I would strongly consider Abode also. One thing that concerns me though is they aren’t proven yet and are brand new. Doesn’t mean they will fail, but it does have to be considered in your decision.

1 Like

Hi @foxxyben, I noticed one issue with your smartapp. It is not checking the current state of your Simplisafe status before setting it and therefore is making unnecessary changes to SimpliSafe. For example, I set the smartapp to turn off SimpliSafe in my Home and Home (night) modes so when I come home from being away day or night, my SimpliSafe alarm is turned off. However, when I am home and sunset hits and changes my mode to Home (night), it turns off my SimpliSafe alarm even though it’s already off. I would image a quick check to see the current status and if it’s already at the desired state, to exit and do nothing would fix the issue?

@SBDOBRESCU @Mbhforum Can I simply use the SHM? :wink: :wink:


Just as a general reminder to everyone - be very careful when interfacing with SS. The device type leverages and unofficial API and abusing it could cause unwanted attention that may result in it getting blocked.


Good idea @Mbhforum ! I only have 3 smartthings modes, so any time my mode changes, so does simplisafe. I definitely see where this could be a problem for other folks though.

I’ve gone ahead and updated my post (post 102) to first check the SimpliSafe alarm state and only makes the change if it will be different. Let me know how that works for you.

Just tested and it worked perfect! Awesome work. You should consider moving the code to github and setting up a repo for Github sync updates so it’s easy for people to update their code. Thx again and happy holidays! Now I don’t have to hear my wife every night “did you put the alarm on?”!!!

1 Like

Ask and you shall recieve!! Github available here:

Thanks. Looks like a sync won’t work because you have to to name your source code .src not .smartapp. Once you rename it I can retest again.