Compare commits

...

7 Commits

Author SHA1 Message Date
Nick Mahon
4cffd91250 MSA-1780: turn off a mains switch (i.e. a light) only when all windows are closed (I used a shop "open" sign by the front door, to remind my housemates to close the windows before they leave) 2017-02-13 07:20:26 -08:00
Vinay Rao
2d82b05f90 Merge pull request #1660 from SmartThingsCommunity/staging
Rolling down staging hotfixes to master
2017-02-09 17:54:06 -06:00
Vinay Rao
1611fd0144 Merge pull request #1640 from skt123/device_filtering_1
[CHANGE-840] Adding new capabilities to DTHs
2017-02-09 17:51:50 -06:00
Vinay Rao
c416c39ac4 Merge pull request #1639 from pchomal/devicefiltering1
[CHANGE-839] Adding New Capabilities (Light & Outlet)
2017-02-09 17:51:19 -06:00
Vinay Rao
bc0f849dad Merge pull request #1655 from SmartThingsCommunity/master
Rolling up master to staging
2017-02-07 14:24:23 -08:00
sushant.k1
f164b8832c [CHANGE-840]
Added new capabilities for following DTHs:
1. Dimmer Switch
2. Zigbee RGB Bulb
3. Zigbee Dimmer
2017-02-03 16:33:30 +05:30
piyush.c
2d3fa22e07 [CHANGE-839]
Adding New Capabilities (Light & Outlet) to the DTHs
2017-02-03 16:22:56 +05:30
8 changed files with 87 additions and 0 deletions

View File

@@ -23,6 +23,7 @@ metadata {
capability "Switch"
capability "Switch Level"
capability "Health Check"
capability "Light"
fingerprint profileId: "C05E", inClusters: "0000,0003,0004,0005,0006,0008,1000", outClusters: "0000,0019"
}

View File

@@ -21,6 +21,7 @@ metadata {
capability "Refresh"
capability "Sensor"
capability "Health Check"
capability "Light"
fingerprint mfr:"0063", prod:"4457", deviceJoinName: "GE In-Wall Smart Dimmer "
fingerprint mfr:"0063", prod:"4944", deviceJoinName: "GE In-Wall Smart Dimmer "

View File

@@ -23,6 +23,8 @@ metadata {
capability "Refresh"
capability "Sensor"
capability "Health Check"
capability "Light"
capability "Outlet"
fingerprint profileId: "0104", inClusters: "0000,0003,0004,0005,0006,0B04,0B05", outClusters: "0019", manufacturer: "CentraLite", model: "3200", deviceJoinName: "Outlet"
fingerprint profileId: "0104", inClusters: "0000,0003,0004,0005,0006,0B04,0B05", outClusters: "0019", manufacturer: "CentraLite", model: "3200-Sgb", deviceJoinName: "Outlet"

View File

@@ -20,6 +20,7 @@ metadata {
capability "Switch"
capability "Switch Level"
capability "Health Check"
capability "Light"
fingerprint profileId: "0104", inClusters: "0000, 0003, 0004, 0005, 0006, 0008"

View File

@@ -28,6 +28,7 @@ metadata {
capability "Switch"
capability "Switch Level"
capability "Health Check"
capability "Light"
fingerprint profileId: "0104", inClusters: "0000,0003,0004,0005,0006,0008,0300,0B04,FC0F", outClusters: "0019", manufacturer: "OSRAM", model: "Gardenspot RGB", deviceJoinName: "SYLVANIA Smart Gardenspot mini RGB"
fingerprint profileId: "0104", inClusters: "0000,0003,0004,0005,0006,0008,0300,0B04,FC0F", outClusters: "0019", manufacturer: "OSRAM", model: "LIGHTIFY Gardenspot RGB", deviceJoinName: "SYLVANIA Smart Gardenspot mini RGB"

View File

@@ -29,6 +29,7 @@ metadata {
capability "Switch"
capability "Switch Level"
capability "Health Check"
capability "Light"
attribute "colorName", "string"
command "setGenericName"

View File

@@ -26,6 +26,7 @@ metadata {
capability "Refresh"
capability "Switch"
capability "Switch Level"
capability "Light"
attribute "colorName", "string"
command "setGenericName"

View File

@@ -0,0 +1,79 @@
/**
* Turn Off Switch when Windows/Doors closed
*
* Copyright 2017 Nick Mahon
*
* 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: "Turn Off Switch",
namespace: "Nick257b",
author: "Nick Mahon",
description: "Turn off a switch (e.g. a light), when all specified door/window contact sensors closed",
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 the switch to turn off") {
input "theSwitch", "capability.switch", title: "Which switch?", required: true, multiple: false
}
section("when these are ALL closed") {
input "contactSensors", "capability.contactSensor", multiple: true
}
section("Send Push Notification?") {
input "sendPush", "bool", required: false,
title: "Send Push Notification when ALL closed?"
}
}
def installed() {
log.debug "Installed with settings: ${settings}"
initialize()
}
def updated() {
log.debug "Updated with settings: ${settings}"
unsubscribe()
initialize()
}
def initialize() {
subscribe(contactSensors, "contact.closed", contactClosedHandler)
}
def contactClosedHandler(evt)
{
log.trace "evt.name: $evt.value, $evt.deviceId"
if (evt.value == "closed") {
log.debug "isDoorsOpen()? ${isDoorsOpen()}"
def device = contactSensors.find { it.id == evt.deviceId }
if (!isDoorsOpen()) {
def message = "${device.displayName} was closed, switching off light as all other selected contacts sensors also in a closed state."
log.debug (message)
theSwitch.off()
if (sendPush) {
sendPush(message)
}
}
}
}
def isDoorsOpen() {
log.debug "doorss: $contactSensors.currentContact"
doors.findAll{it.currentContact == "open"}
}