RUTX11 Event Juggler

Wiki mirrorView source
The information in this page is updated in accordance with firmware version RUTX_R_00.07.22.1.

Summary

The Event Juggler is a feature that allows you to create automatic jugglers that perform certain actions when 'event type' changes are detected and 'conditions' are met.
The photo is common to all products. Different products have different event types and action types.

When an Input Trigger occurs, the Input check to see if user-specified conditions are also met. If so, it executes a user-specified action.
For example, if we configure the event data like this:
  • Trigger - input state rising.
  • Condition - 8:00 AM - 5:00 PM.
  • Action - send email.
The operating sequence would look like this:
  1. A connected device raises the input state.
  2. This RUTX11 device checks whether the current time is between 8:00 AM and 5:00 PM.
    • Yes - RUTX11 sends an email.
    • No - RUTX11 doesn't send an email.
You can specify multiple actions and multiple conditions for any event juggler rule. Selecting conditions is optional. If there are no set or configured Event Juggler conditions, the operating sequence is as such:
The juggler list is empty by default. To create a new event juggler, click the 'Add' button:
After this you will be redirected to the event data configuration window.

Event data configuration

FieldValueDescription
Enableoff | on; default: onEnable Event Juggler configuration.
Event nameEvent Juggler name.
Trigger intervalinterger [0..4294967295]; default: noneSpecifies the shortest amount of seconds between triggers. The trigger interval and the action's execution delay values are summed up when calculating the total interval between triggers.
Event typeBoot | Time | Hotspot | Astronomical time | GSM | GPS | Mobile data limit | I/O | Log; default: Not selectedEvent that will trigger the rule.
Boot modeReboot | Power on; default: RebootSelect the boot mode that will trigger the event.
HoursSelect all | hours [0..23]; default: noneHours when the event should be triggered. If nothing is selected, every hour will be included.
MinutesSelect all | minutes [0..59]; default: noneMinutes when the event should be triggered. If nothing is selected, every minute will be included.
MonthsSelect all | months [January..December]; default: noneMonths when the event should be triggered. If nothing is selected, every month will be included.
Interval typeWeekday | Month day; default: WeekdaySelect between week and month days for instance intervals.
Interval type: WeekdaySelect all | weekday [Monday..Sunday]; default: noneSelect between week days for instance intervals.
Interval type: Month day - Day of the monthSelect all | month day [1..31]; default: noneMonth days when the action should be triggered. If nothing is selected, every day of the month will be included.
Interval type: Month day - Force last dayoff | on; default: offForce intervals to accept the last day of the month as a valid option if the selected day does not exist in the ongoing month.
TriggerSunrise | Sunset; default: SunriseAstronomical event that will trigger the action.
Trigger offsetinteger [0..1440]; default: noneTrigger offset in minutes.
LongitudeFloating part of number must contain 6 digits (e.g., 25.000000); default: noneLongitude for the Astro Time event.
LatitudeFloating part of number must contain 6 digits (e.g., 25.000000); default: noneLatitude for the Astro Time event.
Astronomical event typeOfficial | Civil | Nautical | Astronomical; default: OfficialSelect the type of astronomical event calculation to use:
  • Official - standard time used by most people;
  • Civil - used for general purposes;
  • Nautical - used by sailors;
  • Astronomical - used by astronomers;
GSM event triggerRSSI value | Service mode; default: RSSI valueGSM event type that will trigger the action.
RSSI value: Signal strength triggerLess than | Greater than | Range; default: Less thanSignal strength condition that will trigger the event.
RSSI value: Signal strength (dBm)integer [-130..0] or Range; default: noneSignal strength in dBm.
GPS event triggerGeofencing | Altitude | Speed; default: GeofencingGPS event that will trigger the action.
GPS event trigger: Geofencing - LongitudeFloating part of number must contain 6 digits (e.g., 25.000000); default: noneLongitude for the GPS event.
GPS event trigger: Geofencing - LatitudeFloating part of number must contain 6 digits (e.g., 25.000000); default: noneLatitude for the GPS event.
GPS event trigger: Geofencing - Radiusinteger [1..999999]; default: noneRadius for the GPS event in meters.
OperatorExit | Enter | Enter/Exit (for Geofencing); default: ExitOperator for the GPS event.
GPS event trigger: Altitude - AltitudeFloating part of number must contain 6 digits (e.g., 25.000000); default: noneAltitude for the GPS event.
GPS event trigger: Speed - Speedinteger [0..482]; default: noneSpeed for the GPS event in km/h.
Interface namemobile interface; default: mob1s1a1Network interface that will trigger the event.
I/O pin nameInput (3) |  ; default: -Specify the I/O to which the event is listening.
TriggerRising | Falling | Both; default: RisingSpecify the condition that will trigger the event.
Prevent action executionoff | on; default: offPrevents execution of actions if the I/O returns to its normal state before the action delay time has elapsed.
Events log typeConfig change | New DHCP client | Reboot | SSH | Web UI | New WiFi client | | Mobile data | SMS | SIM switch (if dual SIM device) | Port state | WAN failover (if device supports wired WAN) |Topology changes | GPS | FOTA; default: Config changeType of event that will trigger the action.
Events log subtypeThere are many subtypes of events. It depends on what features the device supports.More specific subtype of the event that will trigger the action.

Action data configuration

FieldValueDescription
Action namestring; default: action1Action name.
Delayinteger [0..4294967295]; default: noneDelay in seconds before the action is executed.
Action typeConnection | Send SMS | Modem | Make a call | MQTT | Send emaill | HTTP | Lua | Script | Shutdown | RMS | WiFi | Output | Profile change | Reboot ; default: noneThe type of action that will be performed.
Condition compatibilityAnd | Or; default: And
  • And - all added conditions must evaluate to true.
  • Or - at least one condition must evaluate to true.
Active conditionscondition list; default: noneAll active conditions for the action.
Connection stateoff | on; default: offEnable or disable the connection. Disabling will stop the network interface or modem connection.
Persist connection stateoff | on; default: offIf enabled, the connection state will be maintained even after a system restart or power cycle.
Connection typeModem | Interface; default: ModemSelect the type of connection this configuration applies to.
Connection type: Interface - Interface nameinterface; default: lan/wan etc...Select the name for the network interface.
Text messagestring; default: noneText parameters to be sent with the message. Note: the allowed SMS length is 8 messages at a time.
RecipientsSingle | Group; default: SingleChoose whether to add a single phone number or use a phone group list.
Recipients: Single - Phone numberA phone number containing 0-9 and + characters is accepted.; default: noneEnter the phone number to which the message will be sent.
Recipients: Group - Phone grouplist; default: noneRecipient's phone number group. Configure groups here
Modem actionReload | Restart | Hard restart; default: ReloadSelect action to be performed on the modem.
Phone numberA phone number containing 0-9 and + characters is accepted; default: noneEnter the phone number to which the call will be made.
Call timeoutinteger [5..180]; default: 15Specify the timeout for the call in seconds. After this time, the call will be automatically ended (the receiver will be hung up).
Text messagestring; default: noneText parameters to be sent with the message.
Topicstring; default: noneMQTT topic used for publishing the data.
Server addressDomain names or IP addresses; default: noneAddress of the MQTT broker.
Portinteger [1..65535]; default: 1883Port number of the MQTT broker.
Keepaliveinteger [0..2147483647]; default: 60The number of seconds after which the broker should send a PING message to the client if no other messages have been exchanged in that time.
Client IDstring; default: noneClient ID to send with the data. If empty, a random client ID will be generated.
QoSAt most once (0) | At least once (1) | Exactly once (2); default: noneMQTT quality of service. Allowed values:
  • 0 - the message may not arrive at all rather than arriving multiple times.
  • 1 - the message should arrive at least once, but it may arrive multiple times.
  • 2 - the message should arrive exactly once.
  • A higher QoS value means a slower transfer.
Use credentialsoff | on; default: offUse a username and password for MQTT authentication.
Use credentials: on - Usernamestring; default: noneUsername for MQTT authentication.
Use credentials: on - Passwordstring; default: nonePassword for MQTT authentication.
Use secure connectionoff | on; default: offEnable TLS for a secure connection. Requires certificate files.
TLS Encryption TypeCertificate based | Pre-Shared Key based; default: Certificate basedType of TLS encryption.
Certificate based: Allow insecure connectionoff | on; default: offAllow connections without verifying server authentication.
Certificate based: Use certificate files from deviceoff | on; default: offChoose this option if you want to select certificate files from device. Certificate files can be generated here
Certificate based: Store keys in TPMoff | on; default: onWhen enabled, keys will be stored in TPM2 secure storage if space is available. Note: this option is only available on devices with TPM support.
Certificate based: Certificate authority fileUpload the Certificate Authority (CA) file. Required for verifying the server's certificate.
Certificate based: Client certificateUpload the client certificate file. This is used for client authentication by the server.
Certificate based: Client private keyfileUpload the client private key file. This is used along with the client certificate for authentication.
Pre-Shared Key based: Pre-Shared Keyhexadecimal string; default: noneThe pre-shared key in hex format.
Pre-Shared Key based: Client identitystring; default: noneThe pre-shared key in hex format.
Subjectstring; default: noneSubject of the email.
Text messagestring; default: noneBody of the email.
Sender's email accountlist; default: noneSender's email configuration. Configure email account here
Recipient's email addressemail; default: noneEmail addresses of the recipients.
Request methodGET | POST; default: GETHTTP method to use for the request.
Request URLurl; default: noneDestination host URL where data will be sent.
Verifyoff | on; default: offVerify the validity of certificates. Only works with HTTPS.
Send parameters asText parameters | Key-value parameters; default: Text parametersChoose how to send parameters with the request.
Text parametersstring; default: noneParameters to be sent with the request as text.
Key-value parametersstring & list; default: noneParameters to be sent with the request as key-value pairs.
Timeoutinteger [0..3600]; default: noneTimeout for the request in seconds.
Custom HTTP headersstring; default: noneCustom headers for the HTTP requests.
Use secure connectionoff | on; default: offEnable TLS for a secure connection. Requires certificate files.
Use secure connection: Use certificate files from deviceoff | on; default: offChoose this option if you want to select certificate files from device. Certificate files can be generated here
Use secure connection: Store keys in TPMoff | on; default: onWhen enabled, keys will be stored in TPM2 secure storage if space is available. Note: this option is only available on devices with TPM support.
Use secure connection: Certificate authority fileUpload the Certificate Authority (CA) file. Required for verifying the server's certificate.
Use secure connection: Client certificateUpload the client certificate file. This is used for client authentication by the server.
Use secure connection: Client private keyfileUpload the client private key file. This is used along with the client certificate for authentication.
Lua action example script-(interactive button)Downloads Lua action example script.
File-(interactive button)Upload a Lua script file to be executed.
Script file typeUpload | Path; default: UploadChoose whether to upload a file directly or specify a file path.
Script file-(interactive button)Upload the script file to be executed.
Script file pathstring; default: noneEnter the full path to the script file.
Send arguments asText parameters | Key-value parameters; default: Text parametersChoose how to send arguments: as text or key-value pairs.
Text argumentsstring; default: noneArguments to be sent to the script as text.
Key-value argumentsstring & list; default: noneArguments to be sent to the script as key-value pairs.
RMS stateoff | on; default: offTurn the RMS state on or off.
Profile namelist; default: defaultName of the profile to be applied.
Control modeInvert | Copy | Set; default: InvertSelect the control mode for the output pin. This determines how the pin will be controlled: inverted, copied, or set to selected state.
Control pinOutput (4) |  ; default: Output (4)Select the output or relay whose state will be changed.
Control mode: Copy - Copy pin statelist of pins; default: Copy the state from the selected input to the selected output.
Control mode: Set - Set pin statefor Output - Low | High, for relay - Closed | Open; default: LowSet the output state.
Revert stateinteger [0..2147483647]; default: 0Number of seconds after which the state will revert. If set to 0 or left empty, the state will not revert.
Maintain stateoff | on; default: offMaintain the current IO state after a reboot.

Conditions

Conditions can be added with data configuration setup or after setup on the event juggler main page.
FieldValueDescription
Condition namestring; default: condition1Condition name.
Condition typeFilter | Lua | GPS | I/O | Boolean group | Time; default: Not selectedCondition type.
Field namelist; default: quota.interfaceName of the data field to be filtered.
Valuestring; default: noneValue that should be compared against the data field.
OperatorEquals | Not equals | In (a set of values); default: noneOperator to be used for filtering the data field.
Invert filteroff | on; default: offInvert the filter result.
Lua condition example script-(interactive button)Downloads Lua condition example script.
File-(interactive button)Upload a Lua script file.
Event typeIn | Out; default: InEvent type for the GPS condition:
  • In for entering the area;
  • Out for leaving the area.
LongitudeFloating part of number must contain 6 digits (e.g., 25.000000); default: noneLongitude for the GPS event.
LatitudeFloating part of number must contain 6 digits (e.g., 25.000000); default: noneLatitude for the GPS event.
Radiusinteger [1..999999]; default: noneRadius for the GPS event in meters.
I/O pin nameInput (3) |  ; default: Specify the I/O to which the condition is listening.
Pin statefor Output - Low | High, for relay - Closed | Open; default: LowSpecify the state the pin must be in.
Boolean operatorAnd | Or; default: And
  • And - all added conditions must evaluate to true.
  • Or - at least one condition must evaluate to true.
Invert resultsoff | on; default: offInvert the evaluation results of the boolean group.
List of conditionslist; default: noneList of conditions that will be evaluated.
Interval typeWeekday | Month day | Year day; default: WeekdaySelect between week, month, and year days for instance intervals.
Interval type: Weekday - WeekdaySelect all | weekday [Monday..Sunday]; default: noneWeekdays when the action should be triggered. If nothing is selected, every day of the week will be included.
Interval type: Month day - Month daySelect all | month day [1..31]; default: noneMonth days when the action should be triggered. If nothing is selected, every day of the month will be included.
Interval type: Month day - Force last dayoff | on; default: offForce intervals to accept the last day of the month as a valid option if the selected day does not exist in the ongoing month.
Interval type: Year day - Start year dayinteger [1..366]; default: noneStart day number of the year for the interval when the action should be triggered.
Interval type: Year day - End year dayinteger [1..366]; default: noneEnd day number of the year for the interval when the action should be triggered.
Interval type: Year day - Start hour and minuteAccepted formats are hh:mm or *:mm, where * is a wildcard for any hour; default: noneStart time in the format hh:mm for the interval when the action should be triggered. Use a 24-hour format (00:00 - 23:59).
Interval type: Year day - End hour and minuteAccepted formats are hh:mm or *:mm, where * is a wildcard for any hour; default: noneEnd time in the format hh:mm for the interval when the action should be triggered. Use a 24-hour format (00:00 - 23:59).
Invert valueoff | on; default: offInvert the condition value.