Scheduler
The scheduler provides the user interface for defining calendar-based automation rules. Each rule belongs to a rule group, and the rule group name is used when generating TIMER events.
A standard scheduler rule defines an active period with a start date/time and an end date/time. The period can span multiple days. A daily rule defines a start time and an end time within selected days; if the end time is earlier than the start time, it is treated as ending on the following day.
Rules can be limited to specific weekdays. They can also repeat every year, using the original date interval as the yearly recurrence.
The scheduler supports three rule modes:
On/off rules define an active period. When the rule becomes active, the scheduler generates a TIMER <rule group> = ON event and calls the userTimerEvent() Java callback, like the (timer) object. When the active period ends, it generates a TIMER <rule group> = OFF event.
Trigger rules define a punctual activation time instead of an active period. A trigger rule only generates the TIMER <rule group> = ON event at the configured minute.
Interval rules repeatedly switch on and off during their valid date/time period. The on and off durations are configured in minutes.
If several rules use the same rule group, they are evaluated from top to bottom. When a matching rule is found, following rules in the same group are not evaluated, so rules higher in the list have priority.
In trigger mode, rules with matching date limits mask following rules in the same group that have no date limits.
Off rules are blocking rules: when they are valid, they do not become active, and they prevent following rules in the same rule group from matching.
The scheduler has compact and wide graphical modes. A width of 750 pixels or more enables wide mode, which displays both the rule list and the selected rule details.
Attributes
Common
ID
Sets the object's ID.
The ID identifies the object and is used to reference it in UISet actions, allowing to change its attributes dynamically.
The ID is not unique, it can be shared among multiple objects to quickly change a common attribute.
IDs can't be changed with a UISet action, but they can have a Value Binding assigned to them. Value Bindings on IDs allow an object to be dynamically attached to a set of attribute values.
E.g. the following Value Binding switches the ID of the object between mybutton1 and mybutton2 based on the value of the UISet button.address:
Value binding:
"mybutton" + ui('button', 'address')
UISet:
UISet('button', 'address', '1') switches the ID to mybutton1
UISet('button', 'address', '2') switches the ID to mybutton2
Position and Size
Position
Sets the object's position.
Attribute Values
| Value | Description | Example |
|---|---|---|
| x<left>y<top> | Specify left/top coordinates in pixels. | x10y20 |
This attribute is available when parent's layout is neither "flex" nor "grid".
When parent's layout is neither "flex" nor "grid", this attribute defaults to x0y0.
Flex Grow
Specifies if the objects should grow to fill the available space.
Attribute Values
| Value | Description |
|---|---|
| false | Default value. Objects do not grow to fill the available space. |
| true | Objects expand to fill the available space. |
This attribute is available when parent's layout is "flex".
The default value is: false.
Flex Shrink
Specifies if the objects should shrink to fit the available space.
Attribute Values
| Value | Description |
|---|---|
| false | Default value. Objects do not shrink to fit the available space. |
| true | Objects shrink to fit the available space. |
This attribute is available when parent's layout is "flex".
The default value is: false.
Column
Specifies the starting column of the object inside a grid container.
Minimum value is 1.
Attribute Values
| Value | Description |
|---|---|
| <int> | Column index starting from 1. |
This attribute is available when parent's layout is "grid".
This attribute is experimental. It might not work properly and it might be modified or removed in a future release.
Column Span
Specifies how many grid columns the object spans.
Minimum value is 1.
Attribute Values
| Value | Description |
|---|---|
| <int> | Column span starting from 1. |
This attribute is available when parent's layout is "grid".
When parent's layout is "grid", this attribute defaults to 1.
This attribute is experimental. It might not work properly and it might be modified or removed in a future release.
Row
Specifies the starting row of the object inside a grid container.
Minimum value is 1.
Attribute Values
| Value | Description |
|---|---|
| [empty] | Auto placement by the grid. |
| <int> | Row index starting from 1. |
This attribute is available when parent's layout is "grid".
When parent's layout is "grid", this attribute defaults to auto.
This attribute is experimental. It might not work properly and it might be modified or removed in a future release.
Row Span
Specifies how many grid rows the object spans.
Minimum value is 1.
Attribute Values
| Value | Description |
|---|---|
| <int> | Row span starting from 1. |
This attribute is available when parent's layout is "grid".
When parent's layout is "grid", this attribute defaults to 1.
This attribute is experimental. It might not work properly and it might be modified or removed in a future release.
Width
Sets the object's width in pixels.
Minimum value is 320.
Height
Sets the object's height in pixels.
Minimum value is 250.
Scheduler
Rule List Mode
Specifies the rule list mode.
Attribute Values
| Value | Description |
|---|---|
| edit | Default value. Enables the creation or deletion of individual schedules. |
| noedit | Only allows editing of already defined schedules. |
The default value is: edit.
Groups
Specifies the groups that are shown in this object.
Note that group names are case sensitive.
Attribute Values
| Value | Description |
|---|---|
| * | All groups. |
| <string> | A comma-separated list of groups. |
Trigger Mode
Enables the trigger mode, used when you only need to define a punctual activation time, not an activation period.
In this case the schedule will activate only on the minute of the preset time.
When working in trigger mode, if there are rules, with date from or to set, that match the current date, any following rule with no date from and to set will be masked (skipped).
Attribute Values
| Value | Description |
|---|---|
| false | Default value. Activation period. |
| true | Punctual activation. |
The default value is: false.
Rule Modes
Specifies which rule mode choices are displayed for new schedules.
Attribute Values
| Value | Description |
|---|---|
| none | No mode selector. |
| on-off | On and off modes. |
| on-off-interval | Default value. On, off, and interval modes. |
The default value is: on-off-interval.
Default Rule Mode
Specifies the default rule mode for new schedules.
Attribute Values
| Value | Description |
|---|---|
| on | Default value. On. |
| off | Off. |
| interval | Interval. |
The default value is: on.
Default Repeat Interval
Specifies the default on and off repeat intervals, in minutes, for new interval schedules. Use two values separated by comma.
Attribute Values
| Value | Description | Example |
|---|---|---|
| [on interval],[off interval] | On interval and off interval, in minutes. | 5,10 |
Time Settings
Enable Sunrise Sunset
Enables the use of sunrise and sunset times in the scheduler. When enabled, the time fields will allow entering "sunrise" or "sunset" as values.
Attribute Values
| Value | Description |
|---|---|
| false | Default value. Disable. |
| true | Enable. |
The default value is: false.
Panel
Panel
Shows a panel that frames the object. Its style can be modified.
Attribute Values
| Value | Description |
|---|---|
| true | Default value. Shows the panel. |
| false | Hides the panel. |
The default value is: true.
Panel Color
Specifies the panel color.
Attribute Values
| Value | Description |
|---|---|
| default | Default value. Default color. |
| primary | Primary color, used to highlight important areas. |
| warning | Warning color, used to highlight warning areas. |
| success | Success color, used to highlight success areas. |
| error | Error color, used to highlight error areas. |
| red,blue,yellow,green,yellow,purple,orange,green | Palette colors. |
| custom | Custom color, defined in the "Custom Color" attribute. |
This attribute is available when panel is "true".
The default value is: default.
Panel Custom Color
Specifies the panel custom color.
Attribute Values
| Value | Description | Example |
|---|---|---|
| <html color> | Color in any html accepted format. | #ff0000 |
This attribute is available when panelstyle is "custom" or panelstyle is "glass" or panelcolor is "custom".
View
Visible
Sets the object's visibility.
Attribute Values
| Value | Description |
|---|---|
| true | Default value. Visible. |
| false | Hidden. |
The default value is: true.
Enabled
Specifies if the object is enabled or disabled. A disabled object appears as grayed out and can't be interacted with.
Attribute Values
| Value | Description |
|---|---|
| true | Default value. Enabled. |
| false | Disabled. |
The default value is: true.
Blink
Blinks the object at the specified speed.
Attribute Values
| Value | Description |
|---|---|
| false | Default value. Not blinking. |
| slow | Blinks slowly. |
| fast | Blinks fast. |
The default value is: false.
Transition
Specifies the transition effect when the object is shown or hidden.
Attribute Values
| Value | Description |
|---|---|
| none | Default value. No transition. |
| fade | Fade in/out. |
| fade-left | Slide from left and fade in/out. |
| fade-right | Slide from right and fade in/out. |
| fade-up | Slide from top and fade in/out. |
| fade-down | Slide from bottom and fade in/out. |
| slide-left | Slide from left. |
| slide-right | Slide from right. |
| slide-up | Slide from top. |
| slide-down | Slide from bottom. |
| zoom-in | Zoom in. |
| zoom-out | Zoom out. |
| 3d-flip-left | 3D flip from left. |
| 3d-flip-right | 3D flip from right. |
The default value is: none.
This attribute is experimental. It might not work properly and it might be modified or removed in a future release.
Transition Duration
Specifies the transition duration in milliseconds.
Attribute Values
| Value | Description |
|---|---|
| <integer> | Duration in milliseconds. |
This attribute is available when transition is not "none".
When transition is not "none", this attribute defaults to 300.
This attribute is experimental. It might not work properly and it might be modified or removed in a future release.
Transition Delay
Specifies the transition delay in milliseconds.
Attribute Values
| Value | Description |
|---|---|
| <integer> | Delay in milliseconds. |
This attribute is available when transition is not "none".
When transition is not "none", this attribute defaults to 0.
This attribute is experimental. It might not work properly and it might be modified or removed in a future release.
Opacity
Sets the object's opacity. Opacity is the degree to which content behind an object is hidden.
Attribute Values
| Value | Description |
|---|---|
| 0 | The object is fully transparent. |
| >0.0, <1.0 | The object is translucent (content behind the element can be seen). |
| 1.0 | Default value. The object is fully opaque. |
The default value is: 1.0.
Rotation
Specifies the degrees by which the object is rotated. A positive number rotates it clockwise, while a negative value rotates it counter-clockwise.
The default value is: 0.
CSS Class
Specifies a CSS Class that applies to the object, useful to customize its appearance. Custom CSS Classes are specified within the custom.css file.
Margin
Specifies the margin of the object. The margin is the space outside the object's border.
Attribute Values
| Value | Description | Example |
|---|---|---|
| <int> | Specify the margin in pixels for all sides of the object. | |
| <top> <right> <bottom> <left> | Specify the margin in pixels for each side of the object. | 10 20 30 40 |
This attribute is experimental. It might not work properly and it might be modified or removed in a future release.
View Scale
Specifies the scale of the object. The scale is the ratio between the object's size and the size of the view it is contained in.
Attribute Values
| Value | Description |
|---|---|
| <float> | Specify the scale for both width and height of the object. |
The default value is: 1.0.
This attribute is experimental. It might not work properly and it might be modified or removed in a future release.
Meta
Comment
Specifies a comment, visible only in the Project Editor. It can be used to add a note or a tag to the object. The filter in the object's SELECT panel applies to the comment as well.
This attribute is static. Its value can't be changed dynamically with a uiSet command or with a value binding.
Exclude
Excludes the object from the UI. Useful to temporarily hide an object without deleting it. Different from the "Visible" attribute, which hides the object in the UI but keeps it in the project, allowing it to be shown again with a UISet.
Attribute Values
| Value | Description |
|---|---|
| false | Default value. Object is included in the UI. |
| true | Object is excluded from the UI. |
The default value is: false.
This attribute is static. Its value can't be changed dynamically with a uiSet command or with a value binding.