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
7374def 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
375376def 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) {
774775def 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