This article explains set up for the scheduled transmission feature in a Wavelet.
To schedule Wavelet data transmission at a specific time (not intervals), use firmware version 2.429 or later and configure it in the advanced settings.
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 firmware version 2.429 or newer.
Step 2 - Configure the feature in the advanced configuration
Use advanced configuration to schedule transmissions with Cron syntax for specific hours or dates.
Cron syntax
Cron is a Job scheduler utility common in Linux systems. Ayyeka adapted the Cron syntax to specify job schedules.
A schedule string is made of 5 fields separated by spaces:
A scheduled transmission (Cron job) runs when all Cron fields match the current date and time.
Cron field values can be:
- Wildcard (
*
): Matches all values (e.g.,* * * * *
runs every minute). - Simple values: Specify exact times (e.g.,
0 0 1 1 *
runs at 00:00 on January 1). - Ranges (
-
): Define a range (e.g.,0 12-17 * * *
runs every hour from 12:00 to 17:00). - Intervals (
*/n
): Run at regular intervals (e.g.,*/5 * * * *
runs every 5 minutes). - Multiple values (
,
): Combine values (e.g.,*/5 7-9,19-21 * 1,5 *
runs every 5 minutes between 7–9 AM and 7–9 PM in January and May).
Avoid using Cron expressions with non-wildcard values in both the weekday and day-of-month fields (e.g., 0 * * 1 1
), as both conditions must be met simultaneously. This example will only run when the 1st of the month is a Monday.
Here’s a table with the examples:
Description | Cron Expression |
---|---|
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 * * |
Every Monday at 09:00 | 0 9 * * 1 |
Every 15 minutes on weekdays (Monday–Friday) | */15 * * * 1-5 |
Every 30 minutes between 18:00 and 23:30 | 0,30 18-23 * * * |
Every 1st and 15th of the month at 08:00 | 0 8 1,15 * * |
Every day at 22:00 during January and June | 0 22 * 1,6 * |
You can create your Cron syntax online here - link
To start the schedule at precise times (e.g., 00:00, 00:10, 00:20), set group_sample_interval_type
to INTERVAL_SYNCED
in the advanced configuration:
Scheduled Events in Wavelet
Wavelet executes scheduled transmissions (Cron jobs) when the Cron expression matches the current UTC datetime.
Supported scheduled jobs: HTTP and MQTT transmissions.
- HTTP Schedule: Set a valid Cron expression in
gsm->http_tx_cron
. - MQTT Schedule: Set a valid Cron expression in
gsm->mqtt_tx_cron
.
Try to keep scheduled events separated by at least 5 minutes
These schedules work alongside regular transmission intervals (gsm_settings.http_tx_interval
and gsm_settings.mqtt_tx_interval
)
It is recommended to set a long tx_interval
when using a Cron schedule.
Wavelet transmits when either:
- The Cron expression matches, or
- The configured interval (
tx_interval
) has elapsed since the last transmission.