# By Juan Pablo Risso (3) and others
# Via Kris Schaller (24) and others
* 'master' of github.com:SmartThingsCommunity/SmartThingsPublic:
PROB-870 - Harmony fails to save credentials
add missing translations
add event translation
Removed canInstallLabs()
remove segmented style input to prevent iOS crash
PROB-537 - Fix error in line 335
MSA-68: Spruce Irrigation controller and soil moisture sensors.
# This is a combination of 3 commits. # The first commit's message is: MSA-68: Spruce Irrigation controller and soil moisture sensors.
DVCSMP-1480 Fixed ArrayIndexOutOfBoundsException
Convert closure to method
Revert "Convert closure to method"
Closure was causing sandbox issues locally
Bugfixes for codeReports
Fix Homeseer Multi Instance encap parse PROB-398
Merge pull request #135 from kwarodom/fibaroSmokeSensor
Merge in bug fixes and renames to match with new repository layout.
Deleted spruce-controller.groovy from 'Spruce Irrigation'
Deleted spruce-sensor-v1.groovy from 'Spruce Irrigation'
Deleted spruce-scheduler.groovy from 'Spruce Irrigation'
Modifying 'Spruce Irrigation'
Merge in bug fixes and renames to match with new repository layout.
1. Missing break in case 32 for AlarmReport
2. Bugfix - Not reporting all codes programmed into the lock causing SmartApps to fail while awaiting a codeReport notification (once a code is programmed into a lock it should be notified because there is no way to read back codes from the lock, apps awaiting a codeReport will go into an infinite programming loop to trying to update the codes and awaiting a codeReport notification indicating a successful programming)
Commenting out fingerprint temporarily to avoid potential conflicts with other devices as this devices is specifically for a Korean deployment in AP01 - see DVCSMP-1425
Previously parse was returning null which causes the platform to create an event
using the message passed to parse. We don't want that to happen so return
an empty list instead.
Resolves:
https://smartthings.atlassian.net/browse/SMJN-38
The previous threshold multiplier was found to be too low so motion was
being detected while the sensor was idle. This new value of 630 seems to
produce better results.
The previous axis value parsing code was very fragile. For example, this
code block:
def unsignedY = hexToInt(part.split("13")[1].trim())
would fail when `part` was "13xx13", where "xx" is any value. The split
assumed the value "13" was present only once in the string, and everything
after the "13" was the value. When "13" was part of the value this code
would interpret only "xx" as the value, instead of "xx13".
The new parsing code is not fragile like this. It knows exactly what bytes
of the string are X, Y, and Z and parses the values correctly.