mirror of
https://github.com/mtan93/SmartThingsPublic.git
synced 2026-03-22 05:10:52 +00:00
Compare commits
7 Commits
MSA-1900-9
...
MSA-1914-1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
026cffddfe | ||
|
|
03a79b8bb5 | ||
|
|
d91fc1c9d1 | ||
|
|
db7288f245 | ||
|
|
b59d979fbf | ||
|
|
f445ffc67c | ||
|
|
95c383a2ea |
48
devicetypes/jaffala/nest-protect.src/nest-protect.groovy
Normal file
48
devicetypes/jaffala/nest-protect.src/nest-protect.groovy
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
/**
|
||||||
|
* Nest Protect
|
||||||
|
*
|
||||||
|
* Copyright 2017 nick@nickhbailey.com
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
metadata {
|
||||||
|
definition (name: "Nest Protect", namespace: "jaffala", author: "nick@nickhbailey.com") {
|
||||||
|
capability "Battery"
|
||||||
|
capability "Carbon Monoxide Detector"
|
||||||
|
capability "Polling"
|
||||||
|
capability "Smoke Detector"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
simulator {
|
||||||
|
// TODO: define status and reply messages here
|
||||||
|
}
|
||||||
|
|
||||||
|
tiles {
|
||||||
|
// TODO: define your main and details tiles here
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// parse events into attributes
|
||||||
|
def parse(String description) {
|
||||||
|
log.debug "Parsing '${description}'"
|
||||||
|
// TODO: handle 'battery' attribute
|
||||||
|
// TODO: handle 'carbonMonoxide' attribute
|
||||||
|
// TODO: handle 'smoke' attribute
|
||||||
|
// TODO: handle 'carbonMonoxide' attribute
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// handle commands
|
||||||
|
def poll() {
|
||||||
|
log.debug "Executing 'poll'"
|
||||||
|
// TODO: handle 'poll' command
|
||||||
|
}
|
||||||
@@ -47,6 +47,7 @@ def getCallbackUrl() { return "${getServerUrl()}/oauth/callback" }
|
|||||||
def apiURL(path = '/') { return "https://api.lifx.com/v1${path}" }
|
def apiURL(path = '/') { return "https://api.lifx.com/v1${path}" }
|
||||||
def getSecretKey() { return appSettings.secretKey }
|
def getSecretKey() { return appSettings.secretKey }
|
||||||
def getClientId() { return appSettings.clientId }
|
def getClientId() { return appSettings.clientId }
|
||||||
|
private getVendorName() { "LIFX" }
|
||||||
|
|
||||||
def authPage() {
|
def authPage() {
|
||||||
log.debug "authPage test1"
|
log.debug "authPage test1"
|
||||||
@@ -76,6 +77,7 @@ def authPage() {
|
|||||||
return dynamicPage(name:"Credentials", title:"", nextPage:"", install:true, uninstall: true) {
|
return dynamicPage(name:"Credentials", title:"", nextPage:"", install:true, uninstall: true) {
|
||||||
section("Select your location") {
|
section("Select your location") {
|
||||||
input "selectedLocationId", "enum", required:true, title:"Select location ({{count}} found)", messageArgs: [count: count], multiple:false, options:options, submitOnChange: true
|
input "selectedLocationId", "enum", required:true, title:"Select location ({{count}} found)", messageArgs: [count: count], multiple:false, options:options, submitOnChange: true
|
||||||
|
paragraph "Devices will be added automatically from your ${vendorName} account. To add or delete devices please use the Official ${vendorName} App."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user