Skip to content

Commit 58a9ffc

Browse files
committed
Merge remote-tracking branch 'upstream/master'
uno, the merge ... baby * upstream/master: (378 commits) WWST-7239 - new fingerprint for Jasco, In-Wall Smart Outlet With Energy Monitoring, 43132 (SmartThingsCommunity#53315) DevWs for frient containing containing Ozom Smart Siren (SmartThingsCommunity#52672) DevWs for frient containing containing Zigbee Power Meter (SmartThingsCommunity#52604) Adding the device handler for Zigbee Metering Plug Power Consumption Report (SmartThingsCommunity#52774) WWST-7192, WWST-7201, WWST-7205, WWST-7223 - new fingerprints for Enbrighten devices (SmartThingsCommunity#52364) Fix Smart Switch 7 US fingerprint (SmartThingsCommunity#49685) ICP-13858 - fix for setting the thermostat mode to OFF (SmartThingsCommunity#52199) Disable threshold settings BUG-1315: Remove checkInterval event from aeon key fob (SmartThingsCommunity#51554) [WWST-7227, WWST-7213, WWST-7197] Fingerprints for Enbrighten dimmers (SmartThingsCommunity#52044) ICP-13878 - skips rounding of Danfoss Ally Thermostat temperature values (SmartThingsCommunity#52021) ICP-5864 Add health check to original SmartSense Multi (SmartThingsCommunity#51473) Removed extra Thermostat Mode cap entry (SmartThingsCommunity#51976) Revert "CHAD-5290 Move Schlage BR469ZP fingerprint (SmartThingsCommunity#45988)" [WWST-7209, WWST-7219, WWST-7235] Fingerprints for Enbrighten In-Wall Smart Switch Toggle 43084 and Plug-in Smart Switch 43094 and In-Wall Smart Outlet, 43102 (SmartThingsCommunity#51705) BUG-1315: Remove checkInterval event from aeon key fob (SmartThingsCommunity#51554) WWST-7231 New fingerprint for Enbrighten, Plug-in Outdoor Smart Switch, 43100 (SmartThingsCommunity#51625) ICP-11537 - add vid (custom UI Metadata) to Aeotec Nano Dimmer fingerprint (AU) (SmartThingsCommunity#51550) DevWs for frient containing containing Zigbee Metering Plug (SmartThingsCommunity#51389) DevWs for frient containing containing SmartSense Open/Closed Sensor (SmartThingsCommunity#51460) ...
2 parents 6f33888 + bb5a3fa commit 58a9ffc

File tree

357 files changed

+17637
-8723
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

357 files changed

+17637
-8723
lines changed

.githooks/pre-commit

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#!/bin/bash
2+
3+
ERROR_COUNT=0
4+
while IFS= read -r DTH; do
5+
echo "Verifying $DTH"
6+
ERRORS=$(groovyc $DTH 2>&1 | grep ".groovy:")
7+
# echo $ERRORS
8+
IMPORTANT_ERRORS=$(echo $ERRORS | grep -v "unable")
9+
if [[ ${#IMPORTANT_ERRORS} -eq 0 ]]; then
10+
echo "No disqualifying compilation errors found"
11+
else
12+
echo "$DTH failed to compile, run groovyc on your source file for the full error: $ERRORS"
13+
ERROR_COUNT=$((ERROR_COUNT + 1))
14+
fi
15+
echo "======================================================================="
16+
done < <(git diff --cached --name-only | grep .*.groovy)
17+
18+
if [[ $ERROR_COUNT -gt 0 ]]; then
19+
echo "rejected" && exit 1
20+
else
21+
exit 0
22+
fi

build.gradle

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,3 +138,17 @@ slackSendMessage {
138138
text: messageText
139139
)
140140
}
141+
142+
task configure(type: Exec) {
143+
description "Configures automatic spaces->tabs conversion on merge and a commit hook to detect syntax errors"
144+
File attributeFile = new File("${projectDir}/.git/info/attributes")
145+
attributeFile.write("*.groovy filter=tabspace\n")
146+
commandLine "git", "config", "filter.tabspace.clean", "unexpand -t 2"
147+
commandLine "git", "config", "core.hooksPath", ".githooks"
148+
}
149+
150+
task unconfigure(type: Exec) {
151+
description "Undoes configuration put in place by configure"
152+
commandLine "git", "config", "--unset-all", "filter.tabspace.clean"
153+
commandLine "git", "config", "core.hooksPath", "${projectDir}/.git/hooks"
154+
}

devicetypes/axis/axis-gear-st.src/axis-gear-st.groovy

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ metadata {
2222
command "stop"
2323
command "getversion"
2424

25-
fingerprint profileID: "0104", manufacturer: "AXIS", model: "Gear", deviceJoinName: "AXIS Gear"
26-
fingerprint profileId: "0104", deviceId: "0202", inClusters: "0000, 0003, 0006, 0008, 0102, 0020, 0001", outClusters: "0019", manufacturer: "AXIS", model: "Gear", deviceJoinName: "AXIS Gear"
27-
fingerprint endpointID: "01, C4", profileId: "0104, C25D", deviceId: "0202", inClusters: "0000, 0003, 0006, 0008, 0102, 0020, 0001", outClusters: "0019", manufacturer: "AXIS", model: "Gear", deviceJoinName: "AXIS Gear"
25+
fingerprint profileID: "0104", manufacturer: "AXIS", model: "Gear", deviceJoinName: "AXIS Window Treatment" //AXIS Gear
26+
fingerprint profileId: "0104", deviceId: "0202", inClusters: "0000, 0003, 0006, 0008, 0102, 0020, 0001", outClusters: "0019", manufacturer: "AXIS", model: "Gear", deviceJoinName: "AXIS Window Treatment" //AXIS Gear
27+
fingerprint endpointID: "01, C4", profileId: "0104, C25D", deviceId: "0202", inClusters: "0000, 0003, 0006, 0008, 0102, 0020, 0001", outClusters: "0019", manufacturer: "AXIS", model: "Gear", deviceJoinName: "AXIS Window Treatment" //AXIS Gear
2828

2929
//ClusterIDs: 0000 - Basic; 0006 - On/Off; 0008 - Level Control; 0102 - Window Covering;
3030
//Updated 2017-06-21
@@ -84,7 +84,7 @@ metadata {
8484
state "default", label: "Preset", action:"presetPosition", icon:"st.Home.home2"
8585
}
8686
preferences {
87-
input "preset", "number", title: "Preset percentage (1-100) [Default - 50%]", defaultValue: 50, required: false, displayDuringSetup: true, range:"1..100"
87+
input "preset", "number", title: "Preset position", description: "Set the window shade preset position", defaultValue: 50, required: false, displayDuringSetup: true, range:"1..100"
8888
}
8989

9090
main(["main"])
@@ -416,4 +416,4 @@ private Map parseReportAttributeMessage(String description) {
416416
log.debug "parseReportAttributeMessage() --- ignoring attribute"
417417
}
418418
return resultMap
419-
}
419+
}

devicetypes/drzwave/ezmultipli.src/ezmultipli.groovy

Lines changed: 24 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ metadata {
1818
capability "Refresh"
1919
capability "Health Check"
2020

21-
fingerprint mfr: "001E", prod: "0004", model: "0001"
21+
fingerprint mfr: "001E", prod: "0004", model: "0001", deviceJoinName: "EZmultiPli Multipurpose Sensor"
2222
}
2323

2424
simulator {
@@ -135,6 +135,8 @@ def setupHealthCheck() {
135135
def installed() {
136136
sendEvent(name: "motion", value: "inactive", displayed: false)
137137
state.colorReceived = [red: null, green: null, blue: null]
138+
state.setColor = [red: null, green: null, blue: null]
139+
state.colorQueryFailures = 0
138140
setupHealthCheck()
139141
}
140142

@@ -247,15 +249,30 @@ def zwaveEvent(switchcolorv3.SwitchColorReport cmd) {
247249
result << createEvent(name: "color", value: hexColor)
248250
// Send the color as hue and saturation
249251
def hsv = rgbToHSV(*colors)
250-
result << createEvent(name: "hue", value: hsv.hue)
251-
result << createEvent(name: "saturation", value: hsv.saturation)
252-
// Reset the values
253-
RGB_NAMES.collect { state.colorReceived[it] = null}
252+
if (state.setColor.red == state.colorReceived.red && state.setColor.green == state.colorReceived.green && state.setColor.blue == state.colorReceived.blue) {
253+
unschedule()
254+
result << createEvent(name: "hue", value: hsv.hue)
255+
result << createEvent(name: "saturation", value: hsv.saturation)
256+
state.colorQueryFailures = 0
257+
} else {
258+
if (++state.colorQueryFailures >= 6) {
259+
sendHubCommand(commands([
260+
zwave.switchColorV3.switchColorSet(red: state.setColor.red, green: state.setColor.green, blue: state.setColor.blue),
261+
queryAllColors()
262+
]))
263+
} else {
264+
runIn(2, "sendColorQueryCommands", [overwrite: true])
265+
}
266+
}
254267
}
255268

256269
result
257270
}
258271

272+
private sendColorQueryCommands() {
273+
sendHubCommand(commands(queryAllColors()))
274+
}
275+
259276
def zwaveEvent(physicalgraph.zwave.Command cmd) {
260277
// Handles all Z-Wave commands we aren't interested in
261278
log.debug "Unhandled $cmd"
@@ -324,6 +341,7 @@ def setColor(value) {
324341
return
325342
}
326343

344+
state.setColor = [red: myred, green: mygreen, blue: myblue]
327345
cmds << zwave.switchColorV3.switchColorSet(red: myred, green: mygreen, blue: myblue)
328346
cmds << zwave.basicV1.basicGet()
329347

@@ -391,7 +409,7 @@ private crcEncap(physicalgraph.zwave.Command cmd) {
391409
private command(physicalgraph.zwave.Command cmd) {
392410
if (zwaveInfo.zw.contains("s")) {
393411
secEncap(cmd)
394-
} else if (zwaveInfo.cc.contains("56")) {
412+
} else if (zwaveInfo?.cc?.contains("56")) {
395413
crcEncap(cmd)
396414
} else {
397415
cmd.format()

0 commit comments

Comments
 (0)