Comfort  Automation/ Security System Forums Home
Home Search search Menu menu Not logged in - Login | Register

Bug in CF 3.1.1 ??
 Moderated by: admin
 New Topic   Reply   Printer Friendly 
 Rate Topic 
AuthorPost
 Posted: Wednesday Sep 23rd, 2009 03:20 pm
   PM  Quote  Reply 
1st Post
Pgordon
Member
 

Joined: Saturday Sep 23rd, 2006
Location: London, United Kingdom
Posts: 237
Status: 
Offline

  back to top

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.

Attachment: response_error.JPG (Downloaded 38 times)



 Posted: Thursday Sep 24th, 2009 02:56 pm
   PM  Quote  Reply 
2nd Post
Pgordon
Member
 

Joined: Saturday Sep 23rd, 2006
Location: London, United Kingdom
Posts: 237
Status: 
Offline

  back to top

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.

 



 Posted: Thursday Sep 24th, 2009 03:10 pm
   PM  Quote  Reply 
3rd Post
Pgordon
Member
 

Joined: Saturday Sep 23rd, 2006
Location: London, United Kingdom
Posts: 237
Status: 
Offline

  back to top

Bump...

Last edited on Thursday Sep 24th, 2009 03:57 pm by Pgordon



 Posted: Thursday Sep 24th, 2009 11:24 pm
   PM  Quote  Reply 
4th Post
ident
Administrator


Joined: Wednesday Aug 9th, 2006
Location: Singapore
Posts: 3493
Status: 
Offline

  back to top

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



 Posted: Friday Sep 25th, 2009 10:39 am
   PM  Quote  Reply 
5th Post
ident
Administrator


Joined: Wednesday Aug 9th, 2006
Location: Singapore
Posts: 3493
Status: 
Offline

  back to top

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



 Posted: Saturday Jan 9th, 2010 05:19 am
   PM  Quote  Reply 
6th Post
slychiu
Administrator


Joined: Saturday Apr 29th, 2006
Location: Singapore
Posts: 5500
Status: 
Offline

  back to top

This has been fixed in Comfigurator 3.1.3



 Current time is 01:16 pm
Top




UltraBB 1.172 Copyright © 2007-2014 Data 1 Systems