Compare commits

...

18 Commits

Author SHA1 Message Date
Vinay Rao
264e822c9f Merge pull request #1894 from SmartThingsCommunity/staging
Rolling up staging to production
2017-04-11 13:40:00 -07:00
Vinay Rao
e4642e300f Merge pull request #1893 from SmartThingsCommunity/production
Rolling down production hotfix to staging
2017-04-11 13:34:30 -07:00
Vinay Rao
b4eed54ddd Merge pull request #1892 from jackchi/enrollment-fix-updated
[CHF-595] Device Health enrollment needs to be in both updated() & installed()
2017-04-11 12:27:56 -07:00
jackchi
b2b03604a7 [CHF-595] Device Health enrollment needs to be in both updated() & installed() 2017-04-11 12:16:05 -07:00
Vinay Rao
2b05817843 Merge pull request #1891 from juano2310/OCF_light
ICP-554 - ocfDeviceType: "oic.d.light"
2017-04-11 11:18:02 -07:00
juano2310
1f6a27f381 ICP-554 - ocfDeviceType: "oic.d.light"
more
2017-04-11 14:17:31 -04:00
Vinay Rao
157bc3ef56 Merge pull request #1890 from jackchi/enrollment-fix-harmony
[CHF-596] Device Health Enrollment Fix
2017-04-11 09:01:03 -07:00
jackchi
096f4f767f [CHF-596] Device Health Enrollment Fix 2017-04-11 08:52:45 -07:00
Vinay Rao
c15a21b8bf Merge pull request #1888 from parijatdas/zwave_healthcheck
[CHF-595] Z-Wave checkInterval event needs to be in installed() DTH method
2017-04-11 08:32:21 -07:00
Parijat Das
daefec9d1f Added checkInterval sendEvent in installed() section for all zwave DTHs 2017-04-11 09:37:09 +05:30
Vinay Rao
a28c90e492 Merge pull request #1887 from workingmonk/bug/name_fix
ICP-554 ocf resource type update
2017-04-10 14:22:00 -07:00
Vinay Rao
664b300b37 ICP-554 ocf resource type update 2017-04-10 14:10:32 -07:00
Vinay Rao
2b6d978d13 Merge pull request #1883 from jackchi/revert-zwavesiren
Revert "Added health-check for FortrezZ Siren Strobe Alarm"
2017-04-06 14:33:09 -07:00
jackchi
8197097e1d Revert "Added health-check for FortrezZ Siren Strobe Alarm"
This reverts commit 7a7a08ea6e.
2017-04-06 14:15:08 -07:00
Vinay Rao
4644362465 Merge pull request #1882 from juano2310/production
ICP-554 - OCF device types Public Repo HOTFIX
2017-04-05 17:39:42 -07:00
juano2310
2c25e293c0 ICP-554 - OCF device types Public Repo 2017-04-05 20:34:14 -04:00
Vinay Rao
36fe6428ab Merge pull request #1878 from SmartThingsCommunity/master
Rolling up master to staging
2017-04-04 14:42:18 -07:00
Vinay Rao
7f3a99d889 Merge pull request #1874 from SmartThingsCommunity/staging
Rolling up staging to production
2017-04-04 13:58:28 -07:00
50 changed files with 320 additions and 220 deletions

View File

@@ -14,7 +14,7 @@
* *
*/ */
metadata { metadata {
definition (name: "Fibaro Door/Window Sensor ZW5 with Temperature", namespace: "fibargroup", author: "Fibar Group S.A.") { definition (name: "Fibaro Door/Window Sensor ZW5 with Temperature", namespace: "fibargroup", author: "Fibar Group S.A.", ocfDeviceType: "x.com.st.d.sensor.contact") {
capability "Battery" capability "Battery"
capability "Contact Sensor" capability "Contact Sensor"
capability "Sensor" capability "Sensor"

View File

@@ -14,7 +14,7 @@
* *
*/ */
metadata { metadata {
definition (name: "Fibaro Door/Window Sensor ZW5", namespace: "fibargroup", author: "Fibar Group S.A.") { definition (name: "Fibaro Door/Window Sensor ZW5", namespace: "fibargroup", author: "Fibar Group S.A.", ocfDeviceType: "x.com.st.d.sensor.contact") {
capability "Battery" capability "Battery"
capability "Contact Sensor" capability "Contact Sensor"
capability "Sensor" capability "Sensor"

View File

@@ -14,7 +14,7 @@
* *
*/ */
metadata { metadata {
definition (name: "Fibaro Flood Sensor ZW5", namespace: "fibargroup", author: "Fibar Group S.A.") { definition (name: "Fibaro Flood Sensor ZW5", namespace: "fibargroup", author: "Fibar Group S.A.", ocfDeviceType: "x.com.st.d.sensor.moisture") {
capability "Battery" capability "Battery"
capability "Configuration" capability "Configuration"
capability "Sensor" capability "Sensor"

View File

@@ -14,7 +14,7 @@
* *
*/ */
metadata { metadata {
definition (name: "Fibaro Motion Sensor ZW5", namespace: "fibargroup", author: "Fibar Group S.A.") { definition (name: "Fibaro Motion Sensor ZW5", namespace: "fibargroup", author: "Fibar Group S.A.", ocfDeviceType: "x.com.st.d.sensor.motion") {
capability "Battery" capability "Battery"
capability "Configuration" capability "Configuration"
capability "Illuminance Measurement" capability "Illuminance Measurement"

View File

@@ -100,6 +100,11 @@ metadata {
} }
} }
def installed(){
// Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated(){ def updated(){
// Device-Watch simply pings if no device events received for 32min(checkInterval) // Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -58,6 +58,11 @@ metadata {
} }
} }
def installed() {
// Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated() { def updated() {
// Device-Watch simply pings if no device events received for 32min(checkInterval) // Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -15,7 +15,7 @@
*/ */
metadata { metadata {
definition (name: "Cree Bulb", namespace: "smartthings", author: "SmartThings") { definition (name: "Cree Bulb", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.light") {
capability "Actuator" capability "Actuator"
capability "Configuration" capability "Configuration"

View File

@@ -84,6 +84,11 @@ metadata {
} }
} }
def installed() {
// Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated(){ def updated(){
// Device-Watch simply pings if no device events received for 32min(checkInterval) // Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -85,6 +85,11 @@ def parse(String description) {
result result
} }
def installed() {
// Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
//send the command to stop polling //send the command to stop polling
def updated() { def updated() {
// Device-Watch simply pings if no device events received for 32min(checkInterval) // Device-Watch simply pings if no device events received for 32min(checkInterval)

View File

@@ -12,7 +12,7 @@
* *
*/ */
metadata { metadata {
definition (name: "Everspring Flood Sensor", namespace: "smartthings", author: "SmartThings") { definition (name: "Everspring Flood Sensor", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "x.com.st.d.sensor.moisture") {
capability "Water Sensor" capability "Water Sensor"
capability "Configuration" capability "Configuration"
capability "Sensor" capability "Sensor"

View File

@@ -38,7 +38,7 @@
* @return none * @return none
*/ */
metadata { metadata {
definition (name: "Fibaro Motion Sensor", namespace: "smartthings", author: "SmartThings") { definition (name: "Fibaro Motion Sensor", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "x.com.st.d.sensor.motion") {
capability "Motion Sensor" capability "Motion Sensor"
capability "Temperature Measurement" capability "Temperature Measurement"
capability "Acceleration Sensor" capability "Acceleration Sensor"
@@ -436,4 +436,3 @@ def listCurrentParams() {
delayBetween(cmds, 500) delayBetween(cmds, 500)
} }

View File

@@ -50,6 +50,11 @@ metadata {
} }
} }
def installed(){
// Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated(){ def updated(){
// Device-Watch simply pings if no device events received for 32min(checkInterval) // Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -42,7 +42,7 @@
*/ */
metadata { metadata {
definition (name: "GE Link Bulb", namespace: "smartthings", author: "SmartThings") { definition (name: "GE Link Bulb", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.light") {
capability "Actuator" capability "Actuator"
capability "Configuration" capability "Configuration"

View File

@@ -57,10 +57,20 @@ metadata {
} }
} }
void installed() { def initialize() {
sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"LAN\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device.hub.hardwareID}\"}", displayed: false) sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"LAN\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device.hub.hardwareID}\"}", displayed: false)
} }
void installed() {
log.debug "installed()"
initialize()
}
def updated() {
log.debug "updated()"
initialize()
}
// parse events into attributes // parse events into attributes
def parse(description) { def parse(description) {
log.debug "parse() - $description" log.debug "parse() - $description"

View File

@@ -45,10 +45,20 @@ metadata {
} }
} }
void installed() { def initialize() {
sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"LAN\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device.hub.hardwareID}\"}", displayed: false) sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"LAN\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device.hub.hardwareID}\"}", displayed: false)
} }
void installed() {
log.debug "installed()"
initialize()
}
def updated() {
log.debug "updated()"
initialize()
}
// parse events into attributes // parse events into attributes
def parse(description) { def parse(description) {
log.debug "Parsing '${description}'" log.debug "Parsing '${description}'"

View File

@@ -66,10 +66,20 @@ metadata {
} }
} }
void installed() { def initialize() {
sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"LAN\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device.hub.hardwareID}\"}", displayed: false) sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"LAN\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device.hub.hardwareID}\"}", displayed: false)
} }
void installed() {
log.debug "installed()"
initialize()
}
def updated() {
log.debug "updated()"
initialize()
}
// parse events into attributes // parse events into attributes
def parse(description) { def parse(description) {
log.debug "parse() - $description" log.debug "parse() - $description"

View File

@@ -50,10 +50,19 @@ metadata {
} }
} }
void installed() { def initialize() {
sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"LAN\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device.hub.hardwareID}\"}", displayed: false) sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"LAN\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device.hub.hardwareID}\"}", displayed: false)
} }
void installed() {
log.debug "installed()"
initialize()
}
def updated() {
initialize()
}
// parse events into attributes // parse events into attributes
def parse(description) { def parse(description) {
log.debug "parse() - $description" log.debug "parse() - $description"

View File

@@ -55,10 +55,20 @@ metadata {
} }
} }
void installed() { def initialize() {
sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"LAN\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device.hub.hardwareID}\"}", displayed: false) sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"LAN\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device.hub.hardwareID}\"}", displayed: false)
} }
void installed() {
log.debug "installed()"
initialize()
}
def updated() {
log.debug "updated()"
initialize()
}
// parse events into attributes // parse events into attributes
def parse(description) { def parse(description) {
log.debug "parse() - $description" log.debug "parse() - $description"

View File

@@ -5,7 +5,7 @@
* *
*/ */
metadata { metadata {
definition (name: "LIFX Color Bulb", namespace: "smartthings", author: "LIFX") { definition (name: "LIFX Color Bulb", namespace: "smartthings", author: "LIFX", ocfDeviceType: "oic.d.light") {
capability "Actuator" capability "Actuator"
capability "Color Control" capability "Color Control"
capability "Color Temperature" capability "Color Temperature"
@@ -64,8 +64,18 @@ metadata {
} }
} }
def initialize() {
sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"cloud\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device?.hub?.hardwareID}\"}", displayed: false)
}
void installed() { void installed() {
sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"cloud\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device?.hub?.hardwareID}\"}") log.debug "installed()"
initialize()
}
def updated() {
log.debug "updated()"
initialize()
} }
// handle commands // handle commands

View File

@@ -5,7 +5,7 @@
* *
*/ */
metadata { metadata {
definition (name: "LIFX White Bulb", namespace: "smartthings", author: "LIFX") { definition (name: "LIFX White Bulb", namespace: "smartthings", author: "LIFX", ocfDeviceType: "oic.d.light") {
capability "Actuator" capability "Actuator"
capability "Color Temperature" capability "Color Temperature"
capability "Switch" capability "Switch"
@@ -55,8 +55,18 @@ metadata {
} }
} }
def initialize() {
sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"cloud\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device?.hub?.hardwareID}\"}", displayed: false)
}
void installed() { void installed() {
sendEvent(name: "DeviceWatch-Enroll", value: "{\"protocol\": \"cloud\", \"scheme\":\"untracked\", \"hubHardwareId\": \"${device?.hub?.hardwareID}\"}") log.debug "installed()"
initialize()
}
def updated() {
log.debug "updated()"
initialize()
} }
// handle commands // handle commands

View File

@@ -1,3 +1,4 @@
import groovy.json.JsonOutput
/** /**
* Logitech Harmony Hub * Logitech Harmony Hub
* *
@@ -39,14 +40,18 @@ metadata {
} }
} }
def initialize() {
sendEvent(name: "DeviceWatch-Enroll", value: JsonOutput.toJson([protocol: "cloud", scheme:"untracked"]), displayed: false)
}
def installed() { def installed() {
log.debug "installed()" log.debug "installed()"
sendEvent(name: "DeviceWatch-Enroll", value: JsonOutput.toJson([protocol: "cloud", scheme:"untracked"]), displayed: false) initialize()
} }
def updated() { def updated() {
log.debug "updated()" log.debug "updated()"
sendEvent(name: "DeviceWatch-Enroll", value: JsonOutput.toJson([protocol: "cloud", scheme:"untracked"]), displayed: false) initialize()
} }
def startActivity(String activityId) { def startActivity(String activityId) {

View File

@@ -12,7 +12,7 @@
* *
*/ */
metadata { metadata {
definition (name: "Open/Closed Sensor", namespace: "smartthings", author: "SmartThings") { definition (name: "Open/Closed Sensor", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "x.com.st.d.sensor.contact") {
capability "Contact Sensor" capability "Contact Sensor"
capability "Sensor" capability "Sensor"

View File

@@ -17,7 +17,7 @@
*/ */
metadata { metadata {
definition (name: "RGBW Light", namespace: "smartthings", author: "SmartThings") { definition (name: "RGBW Light", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.light") {
capability "Switch Level" capability "Switch Level"
capability "Color Control" capability "Color Control"
capability "Color Temperature" capability "Color Temperature"

View File

@@ -91,6 +91,11 @@ def parse(String description) {
return result return result
} }
def installed() {
// Device-Watch simply pings if no device events received for 482min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 4 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated() { def updated() {
// Device-Watch simply pings if no device events received for 482min(checkInterval) // Device-Watch simply pings if no device events received for 482min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 4 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 4 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -15,7 +15,7 @@
//DEPRECATED - Using the generic DTH for this device. Users need to be moved before deleting this DTH //DEPRECATED - Using the generic DTH for this device. Users need to be moved before deleting this DTH
metadata { metadata {
definition (name: "Sylvania Ultra iQ", namespace:"smartthings", author: "SmartThings") { definition (name: "Sylvania Ultra iQ", namespace:"smartthings", author: "SmartThings", ocfDeviceType: "oic.d.light") {
capability "Switch Level" capability "Switch Level"
capability "Configuration" capability "Configuration"
capability "Switch" capability "Switch"

View File

@@ -18,7 +18,7 @@
//DEPRECATED - Using the generic DTH for this device. Users need to be moved before deleting this DTH //DEPRECATED - Using the generic DTH for this device. Users need to be moved before deleting this DTH
metadata { metadata {
definition (name: "WeMo Bulb", namespace: "smartthings", author: "SmartThings") { definition (name: "WeMo Bulb", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.light") {
capability "Actuator" capability "Actuator"
capability "Configuration" capability "Configuration"

View File

@@ -13,7 +13,7 @@
*/ */
metadata { metadata {
definition (name: "ZigBee Dimmer Power", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.switch") { definition (name: "ZigBee Dimmer Power", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.light") {
capability "Actuator" capability "Actuator"
capability "Configuration" capability "Configuration"
capability "Refresh" capability "Refresh"

View File

@@ -13,7 +13,7 @@
*/ */
metadata { metadata {
definition (name: "ZigBee Dimmer", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.switch") { definition (name: "ZigBee Dimmer", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.light") {
capability "Actuator" capability "Actuator"
capability "Configuration" capability "Configuration"
capability "Refresh" capability "Refresh"

View File

@@ -16,7 +16,7 @@ import groovy.transform.Field
@Field Boolean hasConfiguredHealthCheck = false @Field Boolean hasConfiguredHealthCheck = false
metadata { metadata {
definition (name: "ZLL Dimmer Bulb", namespace: "smartthings", author: "SmartThings") { definition (name: "ZLL Dimmer Bulb", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.light") {
capability "Actuator" capability "Actuator"
capability "Configuration" capability "Configuration"

View File

@@ -14,7 +14,7 @@
import physicalgraph.zigbee.zcl.DataType import physicalgraph.zigbee.zcl.DataType
metadata { metadata {
definition (name: "ZLL RGB Bulb", namespace: "smartthings", author: "SmartThings") { definition (name: "ZLL RGB Bulb", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.light") {
capability "Actuator" capability "Actuator"
capability "Color Control" capability "Color Control"

View File

@@ -14,7 +14,7 @@
import physicalgraph.zigbee.zcl.DataType import physicalgraph.zigbee.zcl.DataType
metadata { metadata {
definition (name: "ZLL RGBW Bulb", namespace: "smartthings", author: "SmartThings") { definition (name: "ZLL RGBW Bulb", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.light") {
capability "Actuator" capability "Actuator"
capability "Color Control" capability "Color Control"

View File

@@ -16,7 +16,7 @@ import groovy.transform.Field
@Field Boolean hasConfiguredHealthCheck = false @Field Boolean hasConfiguredHealthCheck = false
metadata { metadata {
definition (name: "ZLL White Color Temperature Bulb 5000K", namespace: "smartthings", author: "SmartThings") { definition (name: "ZLL White Color Temperature Bulb 5000K", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.light") {
capability "Actuator" capability "Actuator"
capability "Color Temperature" capability "Color Temperature"

View File

@@ -16,7 +16,7 @@ import groovy.transform.Field
@Field Boolean hasConfiguredHealthCheck = false @Field Boolean hasConfiguredHealthCheck = false
metadata { metadata {
definition (name: "ZLL White Color Temperature Bulb", namespace: "smartthings", author: "SmartThings") { definition (name: "ZLL White Color Temperature Bulb", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.light") {
capability "Actuator" capability "Actuator"
capability "Color Temperature" capability "Color Temperature"

View File

@@ -12,7 +12,7 @@
* *
*/ */
metadata { metadata {
definition (name: "Z-Wave Dimmer Switch Generic", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.switch") { definition (name: "Z-Wave Dimmer Switch Generic", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "oic.d.light") {
capability "Switch Level" capability "Switch Level"
capability "Actuator" capability "Actuator"
capability "Health Check" capability "Health Check"
@@ -78,6 +78,11 @@ metadata {
} }
} }
def installed(){
// Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated(){ def updated(){
// Device-Watch simply pings if no device events received for 32min(checkInterval) // Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -17,7 +17,7 @@
*/ */
metadata { metadata {
definition (name: "Z-Wave Door/Window Sensor", namespace: "smartthings", author: "SmartThings") { definition (name: "Z-Wave Door/Window Sensor", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "x.com.st.d.sensor.contact") {
capability "Contact Sensor" capability "Contact Sensor"
capability "Sensor" capability "Sensor"
capability "Battery" capability "Battery"
@@ -79,6 +79,11 @@ def parse(String description) {
return result return result
} }
def installed() {
// Device-Watch simply pings if no device events received for 482min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 4 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated() { def updated() {
// Device-Watch simply pings if no device events received for 482min(checkInterval) // Device-Watch simply pings if no device events received for 482min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 4 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 4 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -65,6 +65,11 @@ metadata {
import physicalgraph.zwave.commands.barrieroperatorv1.* import physicalgraph.zwave.commands.barrieroperatorv1.*
def installed(){
// Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated(){ def updated(){
// Device-Watch simply pings if no device events received for 32min(checkInterval) // Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -68,6 +68,11 @@ metadata {
import physicalgraph.zwave.commands.doorlockv1.* import physicalgraph.zwave.commands.doorlockv1.*
import physicalgraph.zwave.commands.usercodev1.* import physicalgraph.zwave.commands.usercodev1.*
def installed() {
// Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated() { def updated() {
// Device-Watch simply pings if no device events received for 32min(checkInterval) // Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -100,6 +100,11 @@ def parse(String description) {
result result
} }
def installed() {
// Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated() { def updated() {
// Device-Watch simply pings if no device events received for 32min(checkInterval) // Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -74,6 +74,11 @@ metadata {
} }
} }
def installed() {
// Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated() { def updated() {
// Device-Watch simply pings if no device events received for 32min(checkInterval) // Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -17,7 +17,7 @@
*/ */
metadata { metadata {
definition (name: "Z-Wave Motion Sensor", namespace: "smartthings", author: "SmartThings") { definition (name: "Z-Wave Motion Sensor", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "x.com.st.d.sensor.motion") {
capability "Motion Sensor" capability "Motion Sensor"
capability "Sensor" capability "Sensor"
capability "Battery" capability "Battery"
@@ -51,7 +51,12 @@ metadata {
} }
} }
def updated(){ def installed() {
// Device wakes up every 4 hours, this interval allows us to miss one wakeup notification before marking offline
sendEvent(name: "checkInterval", value: 8 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated() {
// Device wakes up every 4 hours, this interval allows us to miss one wakeup notification before marking offline // Device wakes up every 4 hours, this interval allows us to miss one wakeup notification before marking offline
sendEvent(name: "checkInterval", value: 8 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 8 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
} }

View File

@@ -16,7 +16,7 @@
*/ */
metadata { metadata {
definition (name: "Z-Wave Plus Door/Window Sensor", namespace: "smartthings", author: "SmartThings") { definition (name: "Z-Wave Plus Door/Window Sensor", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "x.com.st.d.sensor.contact") {
capability "Contact Sensor" capability "Contact Sensor"
capability "Configuration" capability "Configuration"
capability "Battery" capability "Battery"

View File

@@ -1,2 +0,0 @@
.st-ignore
README.md

View File

@@ -1,42 +0,0 @@
# Z-wave Siren
Cloud Execution
Works with:
* [FortrezZ Siren Strobe Alarm](https://www.smartthings.com/works-with-smartthings/other/fortrezz-water-valve)
## Table of contents
* [Capabilities](#capabilities)
* [Health](#device-health)
* [Troubleshooting](#troubleshooting)
## Capabilities
* **Actuator** - represents that a Device has commands
* **Alarm** - allows for interacting with devices that serve as alarms
* **Battery** - defines device uses a battery
* **Health Check** - indicates ability to get device health notifications
* **Polling** - represents that poll() can be implemented for the device
* **Refresh** - _refresh()_ command for status updates
* **Sensor** - detects sensor events
* **Switch** - can detect state (possible values: on/off)
## Device Health
FortrezZ Siren Strobe Alarm is polled by the hub.
As of hubCore version 0.14.38 the hub sends up reports every 15 minutes regardless of whether the state changed.
Device-Watch allows 2 check-in misses from device plus some lag time. So Check-in interval = (2*15 + 2)mins = 32 mins.
Not to mention after going OFFLINE when the device is plugged back in, it might take a considerable amount of time for
the device to appear as ONLINE again. This is because if this listening device does not respond to two poll requests in a row,
it is not polled for 5 minutes by the hub. This can delay up the process of being marked ONLINE by quite some time.
* __32min__ checkInterval
## Troubleshooting
If the device doesn't pair when trying from the SmartThings mobile app, it is possible that the device is out of range.
Pairing needs to be tried again by placing the device closer to the hub.
Instructions related to pairing, resetting and removing the device from SmartThings can be found in the following link:
* [FortrezZ Siren Strobe Alarm Troubleshooting Tips](https://support.smartthings.com/hc/en-us/articles/202294760-FortrezZ-Siren-Strobe-Alarm)

View File

@@ -20,7 +20,6 @@ metadata {
capability "Actuator" capability "Actuator"
capability "Alarm" capability "Alarm"
capability "Battery" capability "Battery"
capability "Health Check"
capability "Polling" capability "Polling"
capability "Refresh" capability "Refresh"
capability "Sensor" capability "Sensor"
@@ -28,7 +27,6 @@ metadata {
fingerprint inClusters: "0x20,0x25,0x86,0x80,0x85,0x72,0x71" fingerprint inClusters: "0x20,0x25,0x86,0x80,0x85,0x72,0x71"
fingerprint mfr:"0084", prod:"0313", model:"010B", deviceJoinName: "FortrezZ Siren Strobe Alarm"
} }
simulator { simulator {
@@ -60,11 +58,6 @@ metadata {
} }
} }
def updated(){
// Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def createEvents(physicalgraph.zwave.commands.batteryv1.BatteryReport cmd) { def createEvents(physicalgraph.zwave.commands.batteryv1.BatteryReport cmd) {
def map = [ name: "battery", unit: "%" ] def map = [ name: "battery", unit: "%" ]
if (cmd.batteryLevel == 0xFF) { if (cmd.batteryLevel == 0xFF) {
@@ -126,13 +119,6 @@ def both() {
on() on()
} }
/**
* PING is used by Device-Watch in attempt to reach the Device
* */
def ping() {
refresh()
}
def refresh() { def refresh() {
log.debug "sending battery refresh command" log.debug "sending battery refresh command"
zwave.batteryV1.batteryGet().format() zwave.batteryV1.batteryGet().format()

View File

@@ -53,7 +53,12 @@ metadata {
} }
} }
def updated(){ def installed() {
// Device checks in every hour, this interval allows us to miss one check-in notification before marking offline
sendEvent(name: "checkInterval", value: 2 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated() {
// Device checks in every hour, this interval allows us to miss one check-in notification before marking offline // Device checks in every hour, this interval allows us to miss one check-in notification before marking offline
sendEvent(name: "checkInterval", value: 2 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 60 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
} }

View File

@@ -61,6 +61,11 @@ metadata {
} }
} }
def installed(){
// Device-Watch simply pings if no device events received for checkInterval duration of 32min = 2 * 15min + 2min lag time
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated(){ def updated(){
// Device-Watch simply pings if no device events received for checkInterval duration of 32min = 2 * 15min + 2min lag time // Device-Watch simply pings if no device events received for checkInterval duration of 32min = 2 * 15min + 2min lag time
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -65,6 +65,11 @@ metadata {
} }
} }
def installed() {
// Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated(){ def updated(){
// Device-Watch simply pings if no device events received for 32min(checkInterval) // Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -124,6 +124,11 @@ metadata {
} }
} }
def installed(){
// Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])
}
def updated(){ def updated(){
// Device-Watch simply pings if no device events received for 32min(checkInterval) // Device-Watch simply pings if no device events received for 32min(checkInterval)
sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID]) sendEvent(name: "checkInterval", value: 2 * 15 * 60 + 2 * 60, displayed: false, data: [protocol: "zwave", hubHardwareId: device.hub.hardwareID])

View File

@@ -16,7 +16,7 @@
* Date: 2013-03-07 * Date: 2013-03-07
*/ */
metadata { metadata {
definition (name: "Z-Wave Virtual Momentary Contact Switch", namespace: "smartthings", author: "SmartThings") { definition (name: "Z-Wave Virtual Momentary Contact Switch", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "x.com.st.d.sensor.contact") {
capability "Actuator" capability "Actuator"
capability "Switch" capability "Switch"
capability "Refresh" capability "Refresh"

View File

@@ -17,7 +17,7 @@
*/ */
metadata { metadata {
definition (name: "Z-Wave Water Sensor", namespace: "smartthings", author: "SmartThings") { definition (name: "Z-Wave Water Sensor", namespace: "smartthings", author: "SmartThings", ocfDeviceType: "x.com.st.d.sensor.moisture") {
capability "Water Sensor" capability "Water Sensor"
capability "Sensor" capability "Sensor"
capability "Battery" capability "Battery"