This is a good opportunity for a tutorial on C-Bus interfacing to Comfort
See your Garage Sensor on Zone 1 (\"Standard Passive\"), whose Response is
If Flag Flag01 <> 0 Then
Cbus On 2 1
Do GARAGE2OFF After 120 Seconds Using Timer01
Else
Exit Response
End If
Note that the lines Else, Exit Response are not necessary, just put ENDIF in place of this although it does no harm
eg a better way
If Flag Flag01 <> 0 Then
Cbus On 2 1
Do GARAGE2OFF After 120 Seconds Using Timer01
End If
The response switches on CBus Group address 1 for 2 minutes and then off again IF Flag 01 is on
We want to check what turns on Flag 1. Go to Names > Flags and look at Flag 1. It is in blue (move your cursor from Flag 1 to see the colout) which means it is referenced, which is correct.. Right Click and select \"Show References\" to show where it is used
This shows that Flag 1 is referenced from 3 Responses
Garage2On, SetFlag1, ClearFlag1
So it seems that SetFlag1 turns on the flag. So we need to find out what calls SetFlag1. Go to Events > Responses and look for
SETFLAG1 which has actions;
If Counter Counter077 > 0 Then
Set Flag Flag01
End If
Notice that SETFLAG1 is in BLACK and not Blue which means it is not referenced from anywhere. You can right click and Show References to confirm this
That means that nothing calls this Response, so Flag 1 is never set
I can see that your intention is that Counter 77 which is addressed by C-Bus Group address 77 should set the flag when the group address becomes ON, but Group address 77 will set a value of 255 (if ON) or 0 (if OFF) to Counter 77 and it will activate the Counter Response in Counter 77. There is no relation between Counter 77 and the SETFLAG1 Response. The SETFLAG1 Response will not run just because Counter 77 has a value >0 and you have not linked the two
You should have selected SETFLAG1 in Counter 77 Response. This links Flag 1 to Counter 77
In Fact a better way fof writing the SETFLAG1 Response is
If LastUcmCounter > 0 Then
Set Flag Flag01
End If
Last UCMCounter means it does not matter what the counter number is, as long as the counter value is >0 then the statement is true
You can do this because this is a Counter Response which is activated by the specified counter ie 77.
This is better because in theory you can use the same Response in other Counter Responses for different Group addresses to set Flag 1 if you want without having to write separate Responses for each Counter
eg for Counter 78,
If Counter Counter078 > 0 Then
Set Flag Flag01
End If
For Counter 79,
If Counter Counter079 > 0 Then
Set Flag Flag01
End If
Your programming of the CBUS PIR causing Intruder Alarm when the system is armed is correct. The Counter 0 response is
If Counter Counter000 > 0 Then
If SecurityMode = NightMode Or SecurityMode = AwayMode Then
AlarmZone Intruder
End If
Else
Exit Response
End If
Again this can be done more efficiently to allow the same Response to be used for ALL your CBUS Passives, ie
If LastUCMCounter > 0 Then
If SecurityMode = NightMode Or SecurityMode = AwayMode Then
AlarmZone Intruder
End If
End If
In my test setup, I set Counter 00 = FF by using the Monitor I/O (View > check Monitor I/O ) and entering C!00FF (as I dont have Cbus connected)
When the security system is armed to Night or Away Mode, the Intruder Alarm occurs
Turn on Monitor I/O and make a movement on the CBUS Garage PIR. You should see on the Monitor I/O Screen
CT00FF which means Counter 0 is changed to FF. This should definately turn on the Intruder alarm IF the system is already armed
I would advise that you use alarm PIRs instead of CBus PIRs in future for the following reasons
- They are much cheaper than the Cbus ones
- You have much more alarm PIRs to choose from
- They are battery backed up by Comfort
- They can still activate Cbus lights through Comfort
- CbUS PIRS do not record the zone number in the event log and give no information about the zone
I hope this helps to sort out your problems