From e1175494d8d74b7e0dbf605ed64ca55c8cc542e8 Mon Sep 17 00:00:00 2001
From: Przemyslaw Kacprowicz
Date: Thu, 23 Jul 2020 15:45:31 +0200
Subject: [PATCH 1/2] Added fingerprint for Qubino Flush Shutter DC
---
.../qubino-flush-shutter.groovy | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/devicetypes/qubino/qubino-flush-shutter.src/qubino-flush-shutter.groovy b/devicetypes/qubino/qubino-flush-shutter.src/qubino-flush-shutter.groovy
index 90916e144e1..f3055ad2d59 100644
--- a/devicetypes/qubino/qubino-flush-shutter.src/qubino-flush-shutter.groovy
+++ b/devicetypes/qubino/qubino-flush-shutter.src/qubino-flush-shutter.groovy
@@ -24,7 +24,9 @@ metadata {
capability "Configuration"
//zw:L type:1107 mfr:0159 prod:0003 model:0052 ver:1.01 zwv:4.05 lib:03 cc:5E,86,72,5A,73,20,27,25,26,32,60,85,8E,59,70 ccOut:20,26 epc:2
- fingerprint mfr: "0159", prod: "0003", model: "0052", deviceJoinName: "Qubino Window Treatment"
+ fingerprint mfr: "0159", prod: "0003", model: "0052", deviceJoinName: "Qubino Window Treatment" // Qubino Flush Shutter (110-230 VAC)
+ //zw:L type:1107 mfr:0159 prod:0003 model:0053 ver:1.01 zwv:4.05 lib:03 cc:5E,86,72,5A,73,20,27,25,26,32,85,8E,59,70 ccOut:20,26
+ fingerprint mfr: "0159", prod: "0003", model: "0053", deviceJoinName: "Qubino Window Treatment" // Qubino Flush Shutter DC
}
tiles(scale: 2) {
@@ -227,7 +229,12 @@ def open() {
}
def pause() {
- sendHubCommand(encap(zwave.switchMultilevelV3.switchMultilevelStopLevelChange()))
+ def currentShadeState = device.currentState("windowShade").value
+ if (currentShadeState == "opening" || currentShadeState == "closing") {
+ encap(zwave.switchMultilevelV3.switchMultilevelStopLevelChange())
+ } else {
+ encap(zwave.switchMultilevelV3.switchMultilevelGet())
+ }
}
def setLevelChild(level, childDni) {
@@ -235,7 +242,6 @@ def setLevelChild(level, childDni) {
}
def setLevel(level) {
- state.blindsLastCommand = currentLevel > level ? "opening" : "closing"
setShadeLevel(level)
}
@@ -355,7 +361,7 @@ def zwaveEvent(physicalgraph.zwave.commands.meterv3.MeterReport cmd, ep = null)
eventMap.value = Math.round(cmd.scaledMeterValue)
eventMap.unit = "W"
events += createEvent(eventMap)
- if (cmd.scaledMeterValue) {
+ if (Math.round(cmd.scaledMeterValue)) {
events += createEvent([name: "windowShade", value: state.blindsLastCommand])
events += createEvent([name: "shadeLevel", value: state.shadeTarget, displayed: false])
} else {
From ca1c341ac3e1b18349b20c680c1fc3c58b17b75e Mon Sep 17 00:00:00 2001
From: Przemyslaw Kacprowicz
Date: Fri, 24 Jul 2020 11:39:16 +0200
Subject: [PATCH 2/2] Opening/closing report also for manual actions
---
.../qubino-flush-shutter.groovy | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/devicetypes/qubino/qubino-flush-shutter.src/qubino-flush-shutter.groovy b/devicetypes/qubino/qubino-flush-shutter.src/qubino-flush-shutter.groovy
index f3055ad2d59..22cd56f40f1 100644
--- a/devicetypes/qubino/qubino-flush-shutter.src/qubino-flush-shutter.groovy
+++ b/devicetypes/qubino/qubino-flush-shutter.src/qubino-flush-shutter.groovy
@@ -247,9 +247,6 @@ def setLevel(level) {
def setShadeLevel(level) {
log.debug "Setting shade level: ${level}"
- def currentLevel = Integer.parseInt(device.currentState("shadeLevel").value)
- state.blindsLastCommand = currentLevel > level ? "opening" : "closing"
- state.shadeTarget = level
encap(zwave.switchMultilevelV3.switchMultilevelSet(value: Math.min(0x63, level)))
}
@@ -263,7 +260,10 @@ def setSlats(level) {
}
def refresh() {
- encap(zwave.switchMultilevelV3.switchMultilevelGet())
+ [
+ encap(zwave.switchMultilevelV3.switchMultilevelGet()),
+ encap(zwave.meterV3.meterGet(scale: 0x00)),
+ ]
}
def ping() {
@@ -319,6 +319,9 @@ def zwaveEvent(physicalgraph.zwave.commands.switchmultilevelv3.SwitchMultilevelR
}
def zwaveEvent(physicalgraph.zwave.commands.switchmultilevelv3.SwitchMultilevelSet cmd, ep = null) {
+ def currentLevel = Integer.parseInt(device.currentState("shadeLevel").value)
+ state.blindsLastCommand = currentLevel > cmd.value ? "opening" : "closing"
+ state.shadeTarget = cmd.value
sendHubCommand(encap(zwave.meterV3.meterGet(scale: 0x02)))
}