Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bug in CF 3.1.1 ??
#1
Having upgraded just recently from CF 2.2.3 to the latest 3.1.1, I seem to have - possibly coincidentally? - suffered a raft of failures, some of which probably aren\'t related, but this one I\'m fairly certain is...

Some time ago I modified the keySwitchArm responses to test which keypad was being used to arm the system, so that I could ensure that KP2 - which is by my bedside could only ever arm to night mode.. (prior to this, I had inadvertantly set to away mode by mistake). This had been working perfectly until the first time I uploaded a config with the new version of comfigurator...

In CF 2, - using the response wizard - if you go through the wizard and select the appropriate options to test for (say) \"IF KeypadID = 1\" - when you hit OK to save that command into the response, the actual code that appears is: \"IF KeypadID=65\"

I.E. ID 1 is translated to the value 65, ID 2 to value 66, and so on... Upload this, and it worked perfectly, and my keypads behaved in the manner I required. I then subsequently opened that CCL file with CF 3.1.1, made a few tiny changes, and saved it as a new CCLX, and uploaded that. Only later - the next time I left the house, - did I notice that the away arm sequence at the final exit door was \"different\" - i.e. it wasn\'t announcing \"please exit\", and when I opened the door to leave I got a zone open error, and when I finally left the building the arm completed but there was no chirp from the external bellbox.

Only after I returned & checked the logs did I notice that it had armed to night mode instead of away mode. Obviously I initially doubted myself, and thought that I must have hit the wrong keypad button by mistake, but the next time I left I was very deliberate and double-checked my actions, and sure enough it was definately arming to night mode when it should have been going to away mode. So I checked the code in the response, and I noticed that ALL the If...Then conditionals were missing! Instead of containing this code: (which is what appears in CF2)

If SecurityMode = SecurityOff Then
    If  KeypadId = 65 Then
        KeySwitchArm VacationMode
        Do AwayModeResponse
    End If
    If  KeypadId = 66 Then
        KeySwitchArm NightMode
        Do NightModeRespons
    End If
End If

The response actually contained this code:

        KeySwitchArm VacationMode
        Do AwayModeResponse
        KeySwitchArm NightMode
        Do NightModeRespons
  

What I then did was to open my old CCL file with CF 3.1.1 to go & look at the response, and the attached graphic shows what I saw...

Clearly it didn\'t like the translated values for the keypad ID\'s that the older version of CF had substituted in the code in place of the 1-8 that were offered in the wizard and as a consequence, it looks like it just completely removed all the conditional statements from the response!

The most annoying thing about this is that as far as I can recall, there was absolutely no warning whatosever from CF 3.1.1 at any point that there were what it considered to be errors in the responses... - it perfectly happily opened the older CCL, (no warning), saved it as a new CCLX (no warning) and uploaded the config to Comfort (no warning). As a result some fairly crucial behaviour was FUBAR\'ed.

I\'m guessing that the values of 65, 66, etc. are the internal values for the keypads that correspond to ID\'s 1, 2, etc. and that Comfigurator has always translated the human-friendly ID number into the internal value? - and that older versions did that translation right when the response is being edited so that the modifed values are visible to the user straight away? - Has the new version changed this behaviour perhaps? - and potentially introduced a bug in the process such that any reference in a CCL file to a keypad ID value will be rejected as invalid?

To fix it I basically had to re-write the response using the response wizard in CF 3.1.1, reselecting the IF keypadID conditions, at which point CF3.1.1 saved the human-readable ID value in the response code shown in the UI - i.e...

If SecurityMode = SecurityOff Then
    If KeypadId = 1 Then
        KeyswitchArm VacationMode
        Do AwayModeResponse
    End If
    If KeypadId = 2 Then
        KeyswitchArm NightMode
        Do NightModeRespons
    End If
End If

Paul G.



Attached Files Thumbnail(s)
   
Reply

#2
OK, it\'s getting worse... having re-written the response in the wizard in CF3.1.1 and uploaded it to Comfort, the system now won\'t keyarm to away mode from keypad 1 at all... When I press the \"Away\" button on KP1, absolutely nothing happens..

I did notice something that I thought was slightly odd...

In CF 3.1.1 this is the code that appears in the response editor:

If SecurityMode = SecurityOff Then
    If KeypadId = 1 Then
        KeyswitchArm VacationMode
        Do AwayModeResponse
    End If
    If KeypadId = 2 Then
        KeyswitchArm NightMode
        Do NightModeRespons
    End If
End If

And these are the action codes for this response:
73,0, 115,16, 73,16, 146,4,1, 72,4, 74,3, 146,4,2, 72,2, 74,23, 255

However, in CF 2.2.3, if I create *EXACTLY* the same response via the wizard, the code produced is this:

If SecurityMode = SecurityOff Then
    If  KeypadId = 65 Then
        KeySwitchArm VacationMode
        Do AwayModeResponse [Away Mode Response]
    End If
    If  KeypadId = 66 Then
        KeySwitchArm NightMode
        Do NightModeRespons [Night Mode Response]
    End If
End If

and the action codes for this response are:
73,0, 115,18, 73,16, 146,4,65, 72,4, 74,3, 73,16, 146,4,66, 72,2, 74,25, 255

And I note that the Keypad ID test in each is different - (73,16, 146,4,65) in CF 2.2.3 as opposed to (73,16, 146,4,1) in CF 3.1.1

It is my belief that CF 3.1.1 has completely mucked up the translation of the Keypad ID number into the internal value for this action reference. As a test, I knocked up another quick response in both 2.2.3 and 3.1.1 - the response code is simply:

\"Keypad 2 Broadcast Disable\"

Which in BOTH versions of Comfigurator produces the action codes:
139,66,0, 255

So clearly, for other actions CF3 *is* translating the keypad ID 2 into value \"66\" but in the case of my use of the \"IF KeypadID\" construct it is not doing so.

I believe I will have to revert to CF 2.2.3 until this is fixed...

Paul G.

 
Reply

#3
Bump...
Reply

#4
Thanks for the detailed information
We are looking into this and if verified we will fix in the next release
Reply

#5
This has been confirmed as a bug in 3.1.1
We will release a new version to fix this and other known bugs in http://www.comfortforums.com/view_topic.php?id=1570&forum_id=20&jump_to=6156#p6156
Thanks for the feedback
Reply

#6
This has been fixed in Comfigurator 3.1.3
Reply



Forum Jump:


Users browsing this thread:
1 Guest(s)

Powered By MyBB, © 2002-2026 Melroy van den Berg.