Dali occupancy sensors provide event messages onto the dali line that indicate whether there is motion detected in their field of view. An application controller such as our controller will take those event messages and send dali commands to groups to turn on/off etc when receiving these triggers. In some products, the PIR sensor itself will perform the additional functionality of acting on these triggers. For example, a zencontrol PIR sensor running in standalone mode can be configured to act on its own motion sensing without an external controller, present. Note that this functionality is not part of the IEC62386-303 standard and may not be present on other products.
This document will only show how to use occupancy sensors with our controller.
Shown below are the types of events that we generally see.
In the zencontrol system, we call a PIR motion detection a trigger event. By giving targets to a PIR sensor (generally addresses, groups etc on the local controller it is on or remote controllers) and configuring the occupancy sensor behaviour, you are prescribing targets to convert the motion to trigger events, for.
When motion is indicated to the controller, the controller will take motion detected events and create trigger events for each of the targets that the user has set for the particular sensor.
Triggers are simply rules to follow when we receive input from various things happening (sensor motion, external lighting, scene changes, system variable changes, profile changes etc). Triggers are configured on the trigger page in the Triggers & Sequences section.
The triggers page allows you to simply set a type of trigger (in most cases, Sensor or Switch or External Cmd), a target to listen for. In the case of the above sensor, we'd be looking for G10, and finally, a resultant sequence to run if there is a match. The triggered sequence can be different for each profile the controller is configured for.
For this trigger configuration, we have configured the system to react to a trigger from G6, (whether it is a sensor, external lighting command or a lighting command heard from a push button action). When the trigger occurs, we will run the sequence "sensor 30s".
To see a sequence, you can click on the sequence tab and select to see the commands.
It turns out that we're actually waiting 40 seconds for this sequence. We can rename the sequence in the sequence view. Simply double click on the label name and modify as needed.
Important note on where to set up trigger entries
It is very important to note that you should configure triggers and a sequence on each controller that your sensor is targeting. That is, if your sensor targets 3 remote targets, each on a different controllers, regardless of whether the group is the same number, you must have a triggers set up for that target on each of the remote controllers. Sequences are generally only used to send commands to the dali bus of the controller they are triggered on. You can use the exact same sequence for each trigger map entry though as sequences inherit the dali target of the trigger they are running on (unless otherwise specified). Be careful modifying sequences as they are sitewide.
For full understanding, you can use a sequence on a controller to send dali commands on other controllers via the Target field of the sequence action but this would not be the way you would generally carry out an occupancy sequence. This is generally used for very specific cases.
Step by Step
To setup a sensor requires a few steps. In this example we will create a occupancy sensor to turn on the room lights for 30 minutes when someone is present, change the lights low as a warning for the occupants to retrigger the sensor if more time is needed otherwise the lights will turn off. In order for this to happen there are a few actions that need to be called in a certain order.
1. Create/Find a sequence.
A controller can contain up to 40 sequences, these sequences can be reused in different areas of the building or at different times so there may be already a sequence that we can already use. In the case that the sequence is not present we will need to create one.
A sequence is made up of a group of actions, each action has a delay, command and an override.
So when a person enters the room that is currently off, we will need to turn the lights on. In this case we will need to add the first action to the sequence to send the DALI command Recall Max and since we want to run that immediately the action will have the delay value of 0 seconds.
For this example the room needs to stay illuminated for a minimum of 30 minutes if no motion is detected. Instead of turning the lights off instantly, we want to warn the person that the lights are going to turn off so they can move to reset the timer allowing for more time if they are still there. In this case we will need to add another action to the sequence for a DALI command Recall Min and we will need to add a delay of 1800 seconds (30mins). If the sensor is triggered again while in the delay of 1800 seconds we want to reset the delay timer so we will add an override of the action index we want to jump to in the sequence, in this case it would be itself so index 1.
When the lights have dimmed to their minimum level, we need to give the person sometime to trigger the sensor if they need more time. In this case we will add another action to the sequence this time with the DALI command off and a delay of 60 seconds. However this time if the sensor is triggered within this delay we need to set the light back to max so the override will need to be set to the action index 0 (first action in the sequence) to trigger recall max.
That is now the sequence complete we need to tell it which profile change action index to start the sequence when a profile is changed while it is active, here we would tell it to start index 1 and carry the delay so the lights will stay the same during a profile switch. Now give it a clever name like "30 Min Fade off" so we can easily find it next time.
A sample occupancy sequence. Note that we are using Warn Functions->Recall Min, rather than Dali Command->Recall Min. This gives the system more context that we should not modify the lights, during this period.
If the user requires the lights to retain their currently dimmed value, a variant of this sequence is shown, below. The current level of the lights is stored into a scene, immediately before recalling the minimum level. Rather than recalling the maximum level, the lights will be instructed to come back on in the previously stored scene. Go to memory dim level can be found in in the Action drop down under Dali Command->Go To Scene->Memory dim level. This uses Scene 15, which is restricted from usage in the control system to support this functionality.
2. Set targets and profile
We need to now assign the targets to the sensor and the profile the sensor will run in. There are three profiles for sensors; Disabled, Presence or Absence.
Presence profile will trigger the targets to fire its sequence when motion is detected, great for when people work into a room.
Absence profile is essentially an automatic off trigger. Absence sensor will only trigger targets that are already on. That means that those targets have generally been turned on by a switch.
Absence sensors are generally used in scenarios where you need an occupant to confirm that they wish to use the lights, but do not want to risk the lights being left on.
In our example we will set the Occupancy Sensor profile to Presence and then select our room as the target.
Navigate to the grid view and in the Instance types perspective click on the Occupancy sensor tab.
You will see all of the instances that are currently on that site. If there are profiles that have been created and assigned to control systems then they will appear on the very right of the view.
You can create a new occupancy sensor application by ticking the checkbox at the start of the profile column. Applications that can be created will have a white background. Instances that are not assigned to the profile can not be ticked and will have a grey background. Unticking the checkbox will remove the application from that control system.
When you create a new application it will lock the fields until it has successfully been created. It will default the values of the application on creation. Once created these values can be updated to suit the needs of the push button.
The behaviour field contains a list of all of the behaviours that can be applied to the occupancy sensor.
- Presence
- Causes a trigger to be emitted regardless of the current light state.
- Used primarily for when you want lights to turn on when people walk into a room
Presence mode
- Absence
- Causes a trigger to be emitted if the lights are currently on.
- Used primarily for when you want lights to stay on whilst people are in a room.
- Will NOT turn lights on when someone enters a room where the lights are already off
Absence mode
- Presence with empty room override
- Adds a PIR override when the lights are turned off from a switch press, presence triggers will have no effect until the override time has ended. Any movement detected during the override, will cause the override time to be reset.
- There will be no additional PIR override if lights are turned off from a normal occupancy timeout.
- Used primarily when exiting a room and you do not want the sensors to re-trigger the lights to turn on until you have had time to leave the room
Presence with empty room override, turned off via motion sensor
Presence with empty room override, turned off via switch press
- Absence with presence grace
- Behaves exactly the same as a Presence before the timeout has been reached
- Behaves exactly the same as an Absence after the timeout has been reached
- Timeout starts when the sequence running on the primary target has terminated
- If the lights are turned off from a switch press, there is no presence grace period
Absence with presence grace
3. Set trigger maps
When the sensor detects the state change it will send the trigger call to the specific targeted devices, those devices now need to know which sequence to call when they receive the trigger from the sensor. We do this through a trigger map telling the device, when triggered by a sensor call this sequence depending on which active profile.
Comments
0 comments
Article is closed for comments.