You can set up the Wavelet to schedule its data transmissions to the time of the day you prefer.
In some cases, there is a need to schedule the data transmission of the Wavelet to a specific time of the day (and not based on particular intervals). Wavelet devices only support this feature with firmware (FW) vesrion 2.429 and above, and you can set it up in the advanced configuration of the Wavelet.
This article will explain how to set up the scheduled transmission feature in a Wavelet.
Step 1 - Confirm the Wavelet FW version supports the scheduled transmission feature
Use the FAI or the AyyekaGo mobile app to verify that the Wavelet has FW 2.429 or higher.
Step 2 - Configure the feature in the advanced configuration
Use the advanced configuration to set up the scheduled transmission.
The feature allows scheduling events on the device on specified hours/dates. The schedules are encoded in Cron syntax.
Cron is a Job scheduler utility common in Linux systems. we adapted the Cron syntax to specify job schedules
a schedule string is made of 5 fields separated by spaces:
A schedule transmission command (Cron job) will be executed if all the fields of the Cron expression match the current datetime.
The values of the fields can be either:
wildcard: * matches all
simple values: e.g., 0 0 1 1 * will match at 1/1 00:00 on any day of the week
ranges: 0-3: e.g 0 12-17 * * * will match on every round hour from 12:00 to 17:00
intervals: */n matches on every nth division e.g */5 * * * * will match every 5 minutes
In addition, multiple values can be grouped into a field using commas:
e.g: */5 7-9,19-21 * 1,5 * will match on every 5 min between 7-9 am and 19-21 pm on January and May
|every Sunday at 13:00||0 13 * * 0|
|every 5 minutes between 7:00 and 14:00||*/5 7-14 * * *|
|every 1st of the month at 12:00 and 00:00||0 0,12 1 * *|
You can create your Cron syntax online here - link
Scheduled events in Wavelet
The Wavelet will execute Cron jobs when a cron expression matches the current datetime (in UTC)
Currently, we implemented two scheduled jobs: HTTP and MQTT transmissions.
HTTP transmission schedule can be set by writing a valid Cron expression to the
MQTT transmission schedule can be set by writing a valid Cron expression to the
the Cron transmission schedule is used in addition to the regular tx intervals (configured by gsm_settings.http_tx_interval/mqtt_tx_interval), so the Wavelet will transmit if either the cron expression is matched or an amount of time >= tx_interval has passed since last communication with the server.
Known issues and recommendations:
Try to keep scheduled events separated by at least 5 minutes or so
It is recommended to set a long tx_interval if the Cron schedule is to be used
It’s better to avoid expressions that have non-wildcard values at both the weekday and day-of-month fields, e.g., “0 * * 1 1” which means “every round hour on the 1st of the month and on Mondays”: both weekday and month-day conditions need to be satisfied for the condition to match so this will only match when the 1st of the month falls on a Monday