From 34c2b0f4d3e20c4d1898bb5bee332e7eeba22936 Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Tue, 7 Aug 2018 08:23:27 -0700 Subject: [PATCH 01/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index 9e7c0c0d193..f8395ad46dd 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -32,9 +32,9 @@ preferences { } private debug(data) { - if(appSettings.debug == "true"){ + //if(appSettings.debug == "true"){ log.debug(data) - } + //} } private discoverAllWemoTypes() { @@ -220,7 +220,7 @@ def initialize() { subscribeToDevices() //setup cron jobs - schedule("10 * * * * ?", "subscribeToDevices") + runEvery5Minutes(subscribeToDevices) } def locationHandler(evt) { @@ -349,4 +349,4 @@ private Boolean hasAllHubsOver(String desiredFirmware) { private List getRealHubFirmwareVersions() { return location.hubs*.firmwareVersionString.findAll { it } -} \ No newline at end of file +} From c9b8a8d0dbf417994153ed0fe6d544d45c058f23 Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Tue, 7 Aug 2018 08:30:11 -0700 Subject: [PATCH 02/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index b23e23b651e..db366d6c1a0 100644 --- a/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -72,9 +72,9 @@ metadata { } private debug(data){ - if(parent.appSettings.debug == "true"){ + //if(parent.appSettings.debug == "true"){ log.debug(data) - } + //} } // parse events into attributes @@ -307,4 +307,4 @@ SID: uuid:${sid} """, physicalgraph.device.Protocol.LAN) -} \ No newline at end of file +} From 20c0be6af3c205787f5fcbcd2b7eddd3af7c3262 Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Tue, 7 Aug 2018 09:26:22 -0700 Subject: [PATCH 03/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index f8395ad46dd..c67431a8d88 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -256,7 +256,7 @@ def locationHandler(evt) { if (deviceChangedValues) { def children = getChildDevices() - children.each { + children.each { it -> if (it.getDeviceDataByName("mac") == parsedEvent.mac) { it.subscribe(parsedEvent.ip, parsedEvent.port) } From 3b020b494912bd287b0a792423568165226edd46 Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Tue, 7 Aug 2018 16:33:56 -0700 Subject: [PATCH 04/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 41 ++++++++++--------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index c67431a8d88..37ee8430bb2 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -127,7 +127,18 @@ def getWemoDimmerLightSwitches() { def installed() { debug("Installed with settings: ${settings}") - initialize() + unschedule() + unsubscribe() + + if (selecteddimmerLightSwitches) { + adddimmerLightSwitches() + } + + // run once subscribeToDevices + subscribeToDevices() + + //setup cron jobs + runEvery5Minutes(subscribeToDevices) } def uninstalled() { @@ -148,7 +159,16 @@ private removeChildDevices(devices) { def updated() { debug("Updated with settings: ${settings}") - initialize() + unschedule() + if (selecteddimmerLightSwitches) { + adddimmerLightSwitches() + } + + // run once subscribeToDevices + subscribeToDevices() + + //setup cron jobs + runEvery5Minutes(subscribeToDevices) } def resubscribe() { @@ -206,23 +226,6 @@ def adddimmerLightSwitches() { } } -def initialize() { - debug("Initialiaze") - // remove location subscription afterwards - unsubscribe() - state.subscribe = false - - if (selecteddimmerLightSwitches) { - adddimmerLightSwitches() - } - - // run once subscribeToDevices - subscribeToDevices() - - //setup cron jobs - runEvery5Minutes(subscribeToDevices) -} - def locationHandler(evt) { if(evt.name == "ping") { return "" From f67df646265bb09b5a15c9a70cb0287c56d02e39 Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Wed, 8 Aug 2018 05:18:59 -0700 Subject: [PATCH 05/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index 37ee8430bb2..961bddaa02c 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -64,12 +64,10 @@ def firstPage() { debug("REFRESH COUNT :: ${refreshCount}") - if(!state.subscribe) { - debug("Subscribe to location") - // subscribe to answers from HUB - subscribe(location, null, locationHandler, [filterEvents:false]) - state.subscribe = true - } + + debug("Subscribe to location") + // subscribe to answers from HUB + subscribe(location, null, locationHandler, [filterEvents:false]) //ssdp request every 25 seconds if((refreshCount % 5) == 0) { @@ -196,15 +194,18 @@ def subscribeToDevices() { } def adddimmerLightSwitches() { + debug("adddimmerLightSwitches()") def dimmerLightSwitches = getWemoDimmerLightSwitches() - + debug("dimmerLightSwitches: ${dimmerLightSwitches}") selecteddimmerLightSwitches.each { dni -> - def selectedDimmerLightSwitch = dimmerLightSwitches.find { it.value.mac == dni } ?: dimmerLightSwitches.find { "${it.value.ip}:${it.value.port}" == dni } + def selectedDimmerLightSwitch = dimmerLightSwitches.find { + debug("it:${it}") + it?.value?.mac == dni } def d if (selectedDimmerLightSwitch) { d = getChildDevices()?.find { - it.dni == selectedDimmerLightSwitch.value.mac || it.device.getDataValue("mac") == selectedDimmerLightSwitch.value.mac + it?.dni == selectedDimmerLightSwitch?.value?.mac || it?.device?.getDataValue("mac") == selectedDimmerLightSwitch?.value?.mac } } From 069615aae6825ea5116069328050ed1afb711ccc Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Wed, 8 Aug 2018 05:26:42 -0700 Subject: [PATCH 06/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index 961bddaa02c..04c5d666e99 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -201,12 +201,13 @@ def adddimmerLightSwitches() { def selectedDimmerLightSwitch = dimmerLightSwitches.find { debug("it:${it}") it?.value?.mac == dni } - + debug("selectedDimmerLightSwitch:${selectedDimmerLightSwitch}") def d if (selectedDimmerLightSwitch) { d = getChildDevices()?.find { it?.dni == selectedDimmerLightSwitch?.value?.mac || it?.device?.getDataValue("mac") == selectedDimmerLightSwitch?.value?.mac } + debug("FOUND D:${d}") } if (!d) { From f565c825729488172cb924b102b9b29e5f6ba9ec Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Wed, 8 Aug 2018 05:54:17 -0700 Subject: [PATCH 07/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index db366d6c1a0..78497e38c07 100644 --- a/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -270,6 +270,10 @@ def subscribe() { subscribe(getHostAddress()) } +def sync(ip, port) { + subscribe(ip, port) +} + def subscribe(ip, port) { def existingIp = getDataValue("ip") def existingPort = getDataValue("port") From 45b478bcde724a26aa9b1a9f601ff6455f44db86 Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Wed, 8 Aug 2018 06:06:38 -0700 Subject: [PATCH 08/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index 04c5d666e99..55dc4811c13 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -67,7 +67,7 @@ def firstPage() { debug("Subscribe to location") // subscribe to answers from HUB - subscribe(location, null, locationHandler, [filterEvents:false]) + subscribe(location, "ssdpTerm.urn:Belkin:service:basicevent:1", locationHandler) //ssdp request every 25 seconds if((refreshCount % 5) == 0) { @@ -223,7 +223,7 @@ def adddimmerLightSwitches() { debug("Mac: " + selectedDimmerLightSwitch.value.mac) debug("Hub: " + (selectedDimmerLightSwitch?.value.hub)) debug("Data: " + data) - d = addChildDevice("kris2k2", "Wemo Dimmer Light Switch", selectedDimmerLightSwitch.value.mac, (selectedDimmerLightSwitch?.value.hub), data) + d = addChildDevice("kris2k2", "Wemo Dimmer Light Switch", selectedDimmerLightSwitch.value.mac, selectedDimmerLightSwitch?.value.hub, data) } } } From d9dd130983ad26bb26bc062716f948ae455f92ae Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Wed, 8 Aug 2018 09:00:46 -0700 Subject: [PATCH 09/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index 78497e38c07..f87d6799521 100644 --- a/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -253,8 +253,9 @@ def refresh() { } def subscribe(hostAddress) { - debug("Executing 'subscribe()'") + debug("Executing 'subscribe(${hostAddress})'") def address = getCallBackAddress() + debug("hostAddress: ${hostAddress}") new physicalgraph.device.HubAction("""SUBSCRIBE /upnp/event/basicevent1 HTTP/1.1 HOST: ${hostAddress} CALLBACK: @@ -267,6 +268,7 @@ User-Agent: CyberGarage-HTTP/1.0 } def subscribe() { + debug("calling getHostAddress()") subscribe(getHostAddress()) } From 61840b8a7f9335b9c0a7f13eb292eb5934cf314d Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Wed, 8 Aug 2018 09:10:26 -0700 Subject: [PATCH 10/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index 55dc4811c13..5cbba454b64 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -251,23 +251,17 @@ def locationHandler(evt) { } else { // just update the values debug("Updating devices") def d = dimmerLightSwitches."${parsedEvent.ssdpUSN.toString()}" - boolean deviceChangedValues = false - + debug("parsedEvent:${parsedEvent} d:${d}") + if(d.ip != parsedEvent.ip || d.port != parsedEvent.port) { d.ip = parsedEvent.ip d.port = parsedEvent.port - deviceChangedValues = true - } - - if (deviceChangedValues) { - def children = getChildDevices() - children.each { it -> - if (it.getDeviceDataByName("mac") == parsedEvent.mac) { - it.subscribe(parsedEvent.ip, parsedEvent.port) - } + def child = getChildDevice(parsedEvent.mac) + if (child) { + debug("triggering subscribe on: ${parsedEvent.mac} ${parsedEvent.ip} ${parsedEvent.port}") + child.subscribe(parsedEvent.ip, parsedEvent.port) } } - } } else if (parsedEvent.headers && parsedEvent.body) { def headerString = new String(parsedEvent.headers.decodeBase64()) From eaafae8b75be8ad830355756aff6189af90cb292 Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Wed, 8 Aug 2018 09:19:36 -0700 Subject: [PATCH 11/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index 5cbba454b64..5f3aed8a6b0 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -253,15 +253,16 @@ def locationHandler(evt) { def d = dimmerLightSwitches."${parsedEvent.ssdpUSN.toString()}" debug("parsedEvent:${parsedEvent} d:${d}") - if(d.ip != parsedEvent.ip || d.port != parsedEvent.port) { + //if(d.ip != parsedEvent.ip || d.port != parsedEvent.port) { d.ip = parsedEvent.ip d.port = parsedEvent.port def child = getChildDevice(parsedEvent.mac) + debug("child:${child}") if (child) { debug("triggering subscribe on: ${parsedEvent.mac} ${parsedEvent.ip} ${parsedEvent.port}") child.subscribe(parsedEvent.ip, parsedEvent.port) } - } + //} } } else if (parsedEvent.headers && parsedEvent.body) { def headerString = new String(parsedEvent.headers.decodeBase64()) From dcd742c39626ea1e8f8c1f57258475fded0fcea5 Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Mon, 13 Aug 2018 01:28:18 -0700 Subject: [PATCH 12/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index 5f3aed8a6b0..129f002fb84 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -128,10 +128,6 @@ def installed() { unschedule() unsubscribe() - if (selecteddimmerLightSwitches) { - adddimmerLightSwitches() - } - // run once subscribeToDevices subscribeToDevices() @@ -158,9 +154,6 @@ private removeChildDevices(devices) { def updated() { debug("Updated with settings: ${settings}") unschedule() - if (selecteddimmerLightSwitches) { - adddimmerLightSwitches() - } // run once subscribeToDevices subscribeToDevices() @@ -186,6 +179,9 @@ def refreshDevices() { def subscribeToDevices() { debug("subscribeToDevices() called") + if (selecteddimmerLightSwitches) { + adddimmerLightSwitches() + } def devices = getAllChildDevices() devices.each { d -> debug('Call subscribe on '+d.id) From 5a7052ed62223637ae141e5cfa57c9f879c51d69 Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Mon, 13 Aug 2018 01:54:50 -0700 Subject: [PATCH 13/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index 129f002fb84..9558463fb57 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -127,7 +127,9 @@ def installed() { debug("Installed with settings: ${settings}") unschedule() unsubscribe() - + if (selecteddimmerLightSwitches) { + adddimmerLightSwitches() + } // run once subscribeToDevices subscribeToDevices() @@ -154,7 +156,9 @@ private removeChildDevices(devices) { def updated() { debug("Updated with settings: ${settings}") unschedule() - + if (selecteddimmerLightSwitches) { + adddimmerLightSwitches() + } // run once subscribeToDevices subscribeToDevices() @@ -179,9 +183,7 @@ def refreshDevices() { def subscribeToDevices() { debug("subscribeToDevices() called") - if (selecteddimmerLightSwitches) { - adddimmerLightSwitches() - } + discoverAllWemoTypes() def devices = getAllChildDevices() devices.each { d -> debug('Call subscribe on '+d.id) From 8e9611bb44a48ec7748aeb1d78fc7faccf299a5a Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Mon, 13 Aug 2018 02:14:09 -0700 Subject: [PATCH 14/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index f87d6799521..6541de87d7c 100644 --- a/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -253,9 +253,8 @@ def refresh() { } def subscribe(hostAddress) { - debug("Executing 'subscribe(${hostAddress})'") + debug("Executing subscribe(${hostAddress})") def address = getCallBackAddress() - debug("hostAddress: ${hostAddress}") new physicalgraph.device.HubAction("""SUBSCRIBE /upnp/event/basicevent1 HTTP/1.1 HOST: ${hostAddress} CALLBACK: @@ -272,10 +271,6 @@ def subscribe() { subscribe(getHostAddress()) } -def sync(ip, port) { - subscribe(ip, port) -} - def subscribe(ip, port) { def existingIp = getDataValue("ip") def existingPort = getDataValue("port") @@ -292,7 +287,7 @@ def subscribe(ip, port) { } def resubscribe() { - debug("Executing 'resubscribe()'") + debug("Executing resubscribe()") def sid = getDeviceDataByName("subscriptionId") new physicalgraph.device.HubAction("""SUBSCRIBE /upnp/event/basicevent1 HTTP/1.1 From f9af0dcec3006e8f6a0dabbff459bd826b37284a Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Mon, 13 Aug 2018 02:16:29 -0700 Subject: [PATCH 15/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index 9558463fb57..76dad92615d 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -183,6 +183,7 @@ def refreshDevices() { def subscribeToDevices() { debug("subscribeToDevices() called") + // Need to discover each subscribe call or updated ports wont be caught! discoverAllWemoTypes() def devices = getAllChildDevices() devices.each { d -> @@ -205,7 +206,6 @@ def adddimmerLightSwitches() { d = getChildDevices()?.find { it?.dni == selectedDimmerLightSwitch?.value?.mac || it?.device?.getDataValue("mac") == selectedDimmerLightSwitch?.value?.mac } - debug("FOUND D:${d}") } if (!d) { @@ -251,7 +251,7 @@ def locationHandler(evt) { def d = dimmerLightSwitches."${parsedEvent.ssdpUSN.toString()}" debug("parsedEvent:${parsedEvent} d:${d}") - //if(d.ip != parsedEvent.ip || d.port != parsedEvent.port) { + if(d.ip != parsedEvent.ip || d.port != parsedEvent.port) { d.ip = parsedEvent.ip d.port = parsedEvent.port def child = getChildDevice(parsedEvent.mac) @@ -260,7 +260,7 @@ def locationHandler(evt) { debug("triggering subscribe on: ${parsedEvent.mac} ${parsedEvent.ip} ${parsedEvent.port}") child.subscribe(parsedEvent.ip, parsedEvent.port) } - //} + } } } else if (parsedEvent.headers && parsedEvent.body) { def headerString = new String(parsedEvent.headers.decodeBase64()) From bb95e649cd362a44b688ab9e4fefaa0c274c455b Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Mon, 13 Aug 2018 02:20:11 -0700 Subject: [PATCH 16/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index 76dad92615d..adb6e419090 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -257,7 +257,7 @@ def locationHandler(evt) { def child = getChildDevice(parsedEvent.mac) debug("child:${child}") if (child) { - debug("triggering subscribe on: ${parsedEvent.mac} ${parsedEvent.ip} ${parsedEvent.port}") + debug("triggering subscribe on: ${parsedEvent.mac} ${parsedEvent.ip} ${parsedEvent.port}") child.subscribe(parsedEvent.ip, parsedEvent.port) } } From 3c03489e80be651b730e01a081846396d8483564 Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Mon, 13 Aug 2018 02:29:27 -0700 Subject: [PATCH 17/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index adb6e419090..ce56a4da486 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -195,12 +195,10 @@ def subscribeToDevices() { def adddimmerLightSwitches() { debug("adddimmerLightSwitches()") def dimmerLightSwitches = getWemoDimmerLightSwitches() - debug("dimmerLightSwitches: ${dimmerLightSwitches}") selecteddimmerLightSwitches.each { dni -> def selectedDimmerLightSwitch = dimmerLightSwitches.find { debug("it:${it}") it?.value?.mac == dni } - debug("selectedDimmerLightSwitch:${selectedDimmerLightSwitch}") def d if (selectedDimmerLightSwitch) { d = getChildDevices()?.find { @@ -249,15 +247,12 @@ def locationHandler(evt) { } else { // just update the values debug("Updating devices") def d = dimmerLightSwitches."${parsedEvent.ssdpUSN.toString()}" - debug("parsedEvent:${parsedEvent} d:${d}") - if(d.ip != parsedEvent.ip || d.port != parsedEvent.port) { d.ip = parsedEvent.ip d.port = parsedEvent.port def child = getChildDevice(parsedEvent.mac) - debug("child:${child}") if (child) { - debug("triggering subscribe on: ${parsedEvent.mac} ${parsedEvent.ip} ${parsedEvent.port}") + debug("Triggering subscribe on: ${parsedEvent.mac} ${parsedEvent.ip} ${parsedEvent.port}") child.subscribe(parsedEvent.ip, parsedEvent.port) } } From e3e679afdc7f4f402adbfb750c0164d7f0b9c9be Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Mon, 13 Aug 2018 02:32:13 -0700 Subject: [PATCH 18/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index ce56a4da486..d8cb76e0745 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -196,9 +196,7 @@ def adddimmerLightSwitches() { debug("adddimmerLightSwitches()") def dimmerLightSwitches = getWemoDimmerLightSwitches() selecteddimmerLightSwitches.each { dni -> - def selectedDimmerLightSwitch = dimmerLightSwitches.find { - debug("it:${it}") - it?.value?.mac == dni } + def selectedDimmerLightSwitch = dimmerLightSwitches.find { it?.value?.mac == dni } def d if (selectedDimmerLightSwitch) { d = getChildDevices()?.find { From 037cf9cbb4beb760f180bfba54ef3d2b055a8e1f Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Wed, 15 Aug 2018 07:47:47 -0700 Subject: [PATCH 19/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index 6541de87d7c..f8b84fb164c 100644 --- a/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/devicetypes/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -72,9 +72,9 @@ metadata { } private debug(data){ - //if(parent.appSettings.debug == "true"){ + if(parent.appSettings.debug == "true"){ log.debug(data) - //} + } } // parse events into attributes From 129852b0d52575200da437c9bd265cf2399d4d82 Mon Sep 17 00:00:00 2001 From: meatheadmike Date: Wed, 15 Aug 2018 07:48:30 -0700 Subject: [PATCH 20/21] Update wemo-dimmer-light-switch.groovy --- .../wemo-dimmer-light-switch.groovy | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index d8cb76e0745..e2979f3f176 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -32,9 +32,9 @@ preferences { } private debug(data) { - //if(appSettings.debug == "true"){ + if(appSettings.debug == "true"){ log.debug(data) - //} + } } private discoverAllWemoTypes() { From f4292198f8b5a047643e88cda5c55033bf9a11a8 Mon Sep 17 00:00:00 2001 From: mskovgaard Date: Fri, 24 Aug 2018 08:04:08 -0700 Subject: [PATCH 21/21] bug fix for device detection --- .../wemo-dimmer-light-switch.groovy | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy index e2979f3f176..75cbe93f4fc 100644 --- a/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy +++ b/smartapps/kris2k2/wemo-dimmer-light-switch.src/wemo-dimmer-light-switch.groovy @@ -64,10 +64,12 @@ def firstPage() { debug("REFRESH COUNT :: ${refreshCount}") - - debug("Subscribe to location") - // subscribe to answers from HUB - subscribe(location, "ssdpTerm.urn:Belkin:service:basicevent:1", locationHandler) + if (!state.subscribe) { + debug("Subscribe to location") + // subscribe to answers from HUB + subscribe(location, "ssdpTerm.urn:Belkin:service:basicevent:1", locationHandler, [filterEvents:false]) + state.subscribe = true + } //ssdp request every 25 seconds if((refreshCount % 5) == 0) {