Compare commits

..

3 Commits

Author SHA1 Message Date
Someone
58ae4e9721 MSA-1413: A simple notification SmartApp which will send a push notification on smart lock being locked or unlocked. Supports multiple locks 2016-07-26 01:00:25 -05:00
Steve Vlaminck
f0e87fa5e9 Merge pull request #1070 from vlaminck/DVCSMP-1904
Fix: Gentle Wake Up requires contact input for Contact Book users [DVCSMP-1904]
2016-07-22 08:23:51 -05:00
vlaminck
1b385afa5b Fix: Gentle Wake Up requires contact input for Contact Book users 2016-07-22 08:16:42 -05:00
2 changed files with 75 additions and 1 deletions

View File

@@ -0,0 +1,74 @@
/**
* SmartLock Notification
*
* Copyright 2016 Someone
*
* 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:
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* 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.
*
*/
definition(
name: "SmartLock Notification",
namespace: "nirajbhatt7",
author: "Someone",
description: "Sends push notification on the lock/unlock.",
category: "Safety & Security",
iconUrl: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience.png",
iconX2Url: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience@2x.png",
iconX3Url: "https://s3.amazonaws.com/smartapp-icons/Convenience/Cat-Convenience@2x.png")
preferences {
section("Select Smart Lock/s") {
input "theLock", "capability.lock", title:"door lock", required: true, multiple: true
}
}
def installed() {
log.debug "Installed with settings: ${settings}"
initialize()
}
def updated() {
log.debug "Updated with settings: ${settings}"
unsubscribe()
initialize()
}
def initialize() {
// TODO: subscribe to attributes, devices, locations, etc.
subscribe(theLock, "lock", lockHandler)
}
def lockHandler(evt) {
sendPush("The ${evt.displayName} is ${evt.value}!")
// just for debugging
log.debug "lock is ${evt.name}"
log.debug "event data: ${evt.data}"
log.debug "event display name: ${evt.displayName}"
log.debug "Is this event a state change? ${evt.isStateChange()}"
try {
log.debug "The jsonValue of this event is ${evt.jsonValue}"
} catch (e) {
log.debug "Trying to get the jsonValue for ${evt.name} threw an exception: $e"
}
log.debug "The source of this event is: ${evt.source}"
log.debug "event from physical actuation? ${evt.isPhysical()}"
log.debug "lock status changed to ${evt.value}"
}

View File

@@ -237,7 +237,7 @@ def completionPage() {
}
section("Notifications") {
input("recipients", "contact", title: "Send notifications to") {
input("recipients", "contact", title: "Send notifications to", required: false) {
input(name: "completionPhoneNumber", type: "phone", title: "Text This Number", description: "Phone number", required: false)
input(name: "completionPush", type: "bool", title: "Send A Push Notification", description: "Phone number", required: false)
}