Skip to main content

Scheduler

The scheduler provides the user interface to the HSYCO's scheduler system. The scheduler

is a powerful function that allows you to define a set of calendar entries to schedule

actions at the beginning and end of each time interval.

A normal scheduler rule is defined with a start date/time and an end date/time and is

valid within the defined period, even across several days. A daily rule is instead

defined to be valid between a start time and end time, on a single day or spanning

several days. If the end time is less than the start time, it will be considered as the

next day.

An alternative scheduler mode, called trigger mode, is 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.

The "repeat every year" flag can be set to automatically repeat the date interval on

every year following the initial date.

In addition to the validity dates, you can set a rule to be active only on specific week

days. When the current time matches the date/time and week days, the default behavior is

that the scheduler generates a TIMER <schedule name> = ON event and the

corresponding userTimerEvent() Java callback — just like the (timer) object — and a

TIMER <schedule name> = OFF event at the end of the period. Only the

TIMER <schedule name> = ON event is generated for trigger mode

schedulers.

You can also define an interval rule, setting the on and off minutes. An interval rule

will go on and off repeatedly during the date/time validity period. Each rule has a

group. This group is used to generate the events, and is not unique, as you can define

several rules under the same group. In this case the scheduler will evaluate the rules

having the same group in the order they appear in the scheduler display, from top to

bottom.

When a rule matches the date/time validity period, the scheduler stops checking any

following rules with the same group. So, rules on top have priority within the rules

with the same group.

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).

Rules set to work in off mode are used as "blocking rules", because when they are valid

they will not become active, and at the same time will prevent the scheduler from

processing the following rules that could otherwise match.

A scheduler has two graphical modes: compact and wide, depending on the object's width.

A width of 750 pixels or more will toggle the wide mode that will display both the list

of rules and the rule's details.

Scheduler tutorial

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 dinamically 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.

The default value is: x0y0.

Attribute Values
ValueDescriptionExample
x<left>y<top>Specify left/top coordinates in pixels.x10y20

Flex Grow

Specifies if the objects should grow to fill the available space.

The default value is: true.

Attribute Values
ValueDescription
trueDefault value. Objects expand to fill the available space.
falseObjects do not grow to fill the available space.

Flex Shrink

Specifies if the objects should shrink to fit the available space.

The default value is: true.

Attribute Values
ValueDescription
trueDefault value. Objects shrink to fit the available space.
falseObjects do not shrink to fit the available space.

Width

Sets the object's width in pixels.

Minimum value is 1.

Height

Sets the object's height in pixels.

Minimum value is 1.

Common

Rule List Mode

Specifies the rule list mode.

The default value is: edit.

Attribute Values
ValueDescription
editDefault value. Enables the creation or deletion of individual schedules.
noeditOnly allows editing of already defined schedules.

Groups

Specifies the groups that are shown in this object.

Note that group names are case sensitive.

Attribute Values
ValueDescription
*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).

The default value is: false.

Attribute Values
ValueDescription
falseDefault value. Activation period.
truePunctual activation.

Panel

Panel

Shows a panel that frames the object. Its style can be modified.

The default value is: true.

Attribute Values
ValueDescription
trueDefault value. Shows the panel.
falseHides the panel.

Panel Color

Specifies the panel color.

The default value is: default.

Attribute Values
ValueDescription
defaultDefault value. Default color.
primaryPrimary color, used to highlight important areas.
warningWarning color, used to highlight warning areas.
successSuccess color, used to highlight success areas.
errorError color, used to highlight error areas.
red,blue,yellow,green,yellow,purple,orange,greenPalette colors.
customCustom color, defined in the "Custom Color" attribute.

Panel Custom Color

Specifies the panel custom color.

Attribute Values
ValueDescriptionExample
<html color>Color in any html accepted format.#ff0000

View

Visible

Sets the object's visibility.

The default value is: true.

Attribute Values
ValueDescription
trueDefault value. Visible.
falseHidden.

Enabled

Specifies if the object is enabled or disabled. A disabled object appears as grayed out and can't be interacted with.

The default value is: true.

Attribute Values
ValueDescription
trueDefault value. Enabled.
falseDisabled.

Blinks the object at the specified speed.

The default value is: false.

Attribute Values
ValueDescription
falseDefault value. Not blinking.
slowBlinks slowly.
fastBlinks fast.

Transition

Specifies the transition effect when the object is shown or hidden.

The default value is: none.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values
ValueDescription
noneDefault value. No transition.
fadeFade in/out.
fade-leftSlide from left and fade in/out.
fade-rightSlide from right and fade in/out.
fade-upSlide from top and fade in/out.
fade-downSlide from bottom and fade in/out.
slide-leftSlide from left.
slide-rightSlide from right.
slide-upSlide from top.
slide-downSlide from bottom.
zoom-inZoom in.
zoom-outZoom out.
3d-flip-left3D flip from left.
3d-flip-right3D flip from right.

Transition Duration

Specifies the transition duration in milliseconds.

The default value is: 300.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values
ValueDescription
<integer>Duration in milliseconds.

Transition Delay

Specifies the transition delay in milliseconds.

The default value is: 0.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values
ValueDescription
<integer>Delay in milliseconds.

Opacity

Sets the object's opacity. Opacity is the degree to which content behind an object is hidden.

The default value is: 1.0.

Attribute Values
ValueDescription
0The object is fully transparent.
>0.0, <1.0The object is translucent (content behind the element can be seen).
1.0Default value. The object is fully opaque.

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.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values
ValueDescriptionExample
<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

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.

The default value is: 1.0.

note

This attribute is experimental. It might not work properly and it might be modified or removed in a future release.

Attribute Values
ValueDescription
<float>Specify the scale for both width and height of the object.

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.

note

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.

The default value is: false.

note

This attribute is static. Its value can't be changed dynamically with a uiSet command or with a value binding.

Attribute Values
ValueDescription
falseDefault value. Object is included in the UI.
trueObject is excluded from the UI.