Skip to content

Commit a5be9f0

Browse files
committed
fix iOS bug
1 parent 65bc14d commit a5be9f0

1 file changed

Lines changed: 27 additions & 32 deletions

File tree

user-lock-manager.smartapp.groovy

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* User Lock Manager v3.7.1
2+
* User Lock Manager v3.7.2
33
*
44
* Copyright 2015 Erik Thayer
55
*
@@ -60,6 +60,7 @@ def setupPage() {
6060
}
6161
section("Users") {
6262
for (int i = 1; i <= settings.maxUsers; i++) {
63+
i = i.toString().replaceAll('.0','').toInteger()
6364
if (!state."userState${i}") {
6465
//there's no values, so reset
6566
resetCodeUsage(i)
@@ -72,7 +73,7 @@ def setupPage() {
7273

7374
def userPage(params) {
7475
dynamicPage(name:"userPage", title:"User Settings") {
75-
if (params != null) {
76+
if (params?.number || params?.params?.number) {
7677
def i = 0
7778
if (params.number) {
7879
i = params.number.toString().replaceAll('.0','').toInteger()
@@ -373,7 +374,7 @@ def userPageState(i) {
373374
}
374375

375376
def userIsEnabled(i) {
376-
if (settings."userEnabled${i}" && state."userState${i}".enabled && (settings."userCode${i}" != null)) {
377+
if (settings."userEnabled${i}" && (settings."userCode${i}" != null) && (state."userState${i}".enabled != false)) {
377378
return true
378379
} else {
379380
return false
@@ -774,7 +775,7 @@ def codereturn(evt) {
774775
def usedUserSlot(usedSlot) {
775776
def slot = ''
776777
for (int i = 1; i <= settings.maxUsers; i++) {
777-
if (settings."userSlot${i}" == usedSlot) {
778+
if (settings."userSlot${i}".toInteger() == usedSlot.toInteger()) {
778779
return i
779780
}
780781
}
@@ -928,36 +929,32 @@ def pollCodeReport(evt) {
928929
def userSlots = userSlotArray()
929930

930931
def array = []
931-
(1..numberOfCodes).each { slot->
932-
slot = slot.toInteger()
933-
if (userSlots.contains(slot)) {
934-
def code = codeData."code${slot}"
935-
def usedSlot = usedUserSlot(slot)
936-
937-
if (active) {
938-
if (userIsEnabled(usedSlot) && isActiveBurnCode(usedSlot)) {
939-
if (code == settings."userCode${usedSlot}") {
940-
// Code is Active, We should be active. Nothing to do
941-
} else {
942-
// Code is incorrect, We should be active.
943-
array << ["code${slot}", settings."userCode${usedSlot}"]
944-
}
932+
(1..maxUsers).each { user->
933+
def code = codeData."code${user}"
934+
def usedSlot = usedUserSlot(user)
935+
if (active) {
936+
if (userIsEnabled(usedSlot) && isActiveBurnCode(usedSlot)) {
937+
if (code == settings."userCode${usedSlot}") {
938+
// Code is Active, We should be active. Nothing to do
945939
} else {
946-
if (code != '') {
947-
// Code is set, user is disabled, We should be disabled.
948-
array << ["code${slot}", ""]
949-
} else {
950-
// Code is not set, user is disabled. Nothing to do
951-
}
940+
// Code is incorrect, We should be active.
941+
array << ["code${user}", settings."userCode${usedSlot}"]
952942
}
953943
} else {
954944
if (code != '') {
955-
// Code is set, We should be disabled.
956-
array << ["code${slot}", ""]
945+
// Code is set, user is disabled, We should be disabled.
946+
array << ["code${user}", ""]
957947
} else {
958-
// Code is not active, We should be disabled. Nothing to do
948+
// Code is not set, user is disabled. Nothing to do
959949
}
960950
}
951+
} else {
952+
if (code != '') {
953+
// Code is set, We should be disabled.
954+
array << ["code${user}", ""]
955+
} else {
956+
// Code is not active, We should be disabled. Nothing to do
957+
}
961958
}
962959
}
963960
def i = 0
@@ -976,11 +973,9 @@ def pollCodeReport(evt) {
976973

977974
//Lock is in an error state
978975
state."lock${currentLockNumber}".error_loop = true
979-
def error_number = state.error_loop_count
980-
if (error_number <= 9) {
981-
log.debug "sendCodes fix is: ${json}"
982-
log.debug "Settings: ${settings}"
983-
log.debug "State: ${state}"
976+
def error_number = state.error_loop_count + 1
977+
if (error_number <= 10) {
978+
log.debug "sendCodes fix is: ${json} Error: ${error_number}/10"
984979
currentLock.updateCodes(json)
985980
} else {
986981
log.debug "kill fix is: ${json}"

0 commit comments

Comments
 (0)