diff --git a/devicetypes/smartthings/smartpower-outlet.src/smartpower-outlet.groovy b/devicetypes/smartthings/smartpower-outlet.src/smartpower-outlet.groovy index 4a71834..11febf1 100644 --- a/devicetypes/smartthings/smartpower-outlet.src/smartpower-outlet.groovy +++ b/devicetypes/smartthings/smartpower-outlet.src/smartpower-outlet.groovy @@ -101,12 +101,6 @@ def parse(String description) { else { def descriptionText = finalResult.value == "on" ? '{{ device.displayName }} is On' : '{{ device.displayName }} is Off' sendEvent(name: finalResult.type, value: finalResult.value, descriptionText: descriptionText, translatable: true) - // Temporary fix for the case when Device is OFFLINE and is connected again - if (state.lastOnOff == null){ - state.lastOnOff = now() - sendEvent(name: "deviceWatch-lastActivity", value: state.lastOnOff, description: "Last Activity is on ${new Date(state.lastOnOff)}", displayed: false, isStateChange: true) - } - state.lastOnOff = now() } } else { @@ -122,24 +116,9 @@ def off() { def on() { zigbee.on() } -/** - * PING is used by Device-Watch in attempt to reach the Outlet - * */ -def ping() { - - // send read attribute onOFF if the last time we heard from the outlet is outside of the checkInterval - if (state.lastOnOff < (now() - (1000 * device.currentValue("checkInterval"))) ){ - log.info "ping, alive=no, lastOnOff=${new Date(state.lastOnOff)}" - state.lastOnOff = null - return zigbee.onOffRefresh() - } else { // if the last onOff activity is within the checkInterval we artificially create a Device-Watch event - log.info "ping, alive=yes, lastOnOff=${new Date(state.lastOnOff)}" - sendEvent(name: "deviceWatch-lastActivity", value: state.lastOnOff, description: "Last Activity is on ${new Date(state.lastOnOff)}", displayed: false, isStateChange: true) - } -} def refresh() { - zigbee.onOffRefresh() + zigbee.electricMeasurementPowerRefresh() + zigbee.onOffRefresh() + zigbee.refreshData("0x0B04", "0x050B") } def configure() {