HomeGate, Security App and Logic

Discussion in 'C-Touch/HomeGate/SchedulePlus/PICED Software' started by NickLocke, Jul 11, 2008.

  1. NickLocke

    NickLocke

    Joined:
    Oct 27, 2004
    Messages:
    141
    Likes Received:
    0
    First question, do I have to use logic at all for this - I might be missing something very simple!

    What I am trying to do is get HomeGate to jump to a specific page when a particular event happens within the Security application. So far as I can see, that needs logic. Assuming it does.....

    This works:

    Code:
    once (GetLightingState("Nick Study Fan") = ON) then
    begin
      ShowPage("Driveway");
    end;
    This does nothing:

    Code:
    once (GetCBusState("Local Network", "Security", "Front Study PIR") = ON) then
    begin
      ShowPage("Driveway");
    end;
    If I monitor C-Bus (using ToolKit), I can see messages like:

    Code:
    208 / 23 / Security Zone Unsealed
    208 / 23 / Security Zone Sealed
    056 / 200 / Group On
    056 / 200 / Group Off
    So, it looks as if either I have got the logic syntax wrong or HomeGate is not "seeing" the events on app 208. I'm a bit concerned about the usual confusion about zones/groups - and am a bit surpised to be seeing names for the "groups" in app 208. They can only be coming from where I (stupidly) named all the zones in ToolKit the other day.

    Clues?
     
    NickLocke, Jul 11, 2008
    #1
  2. NickLocke

    Matty

    Joined:
    Oct 15, 2004
    Messages:
    131
    Likes Received:
    0
    Hi NickLocke,

    In order to get the touch screen to change pages when a group address changes you do need to use logic.

    The first snippet of code is the correct way of doing this with a lighting application group. The security application snippet won't work because the security application works in a completely different manner to the lighting application.

    The specific reason the second snippet doesn't work is because the security group does not actually go 'on' when the zone changes from sealed to unsealed. The way to get the function you want is by using the inbuilt system IO functions.

    Code:
    {? 0 = sealed
     ? 1 = unsealed
     ? 2 = open circuit
     ? 3 = short circuit }
    once GetIntIBSystemIO("Security Zone Status", 1) = 0 then
    begin
      ShowPage("Driveway");
    end;
    In this example the number 1 represents the zone number

    Regards,

    Matty
     
    Matty, Jul 16, 2008
    #2
  3. NickLocke

    NickLocke

    Joined:
    Oct 27, 2004
    Messages:
    141
    Likes Received:
    0
    Thanks Matty.

    That certainly helped with my understanding. I did have to change "= 0" to "= 1" to detect the "unsealing" rather than the later "resealing".

    I am a Comfort user and it is interesting to note that Comfort reports security events on Application 1 in addition to Application 208. That seems to be configured as a "lighting like" application so I can actually also watch that rather than Application 208. Not sure (yet) of the relative merits there!

    Thanks again.
     
    NickLocke, Jul 16, 2008
    #3
Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.