Skip to content

Ioto Events

Ioto will signal important events and conditions using the Ioto runtime signal mechanism.

You can watch for certain conditions to happen and be notified when they do. For example, it can be useful to be notified when the network connects or disconnects to the cloud.

You can also use the signal mechanism to create your own conditions on which to watch and signal.

To watch for a condition:

c
rWatch("mqtt:connect", fn, data);

This will invoke fn() when the condition occurs and will provide the watch data and the signal argument.

c
void fn(void *data, void *arg) {
    //  Do something
}

Event List

The list of triggered events:

NameDescriptionArguments
app:readyWhen the Ioto app is fully initialized.None
cloud:readyWhen cloud services are initialized.None
db:changeWhen a database table value has changed.A SyncChange structure with model, item, params and command that caused the change.
db:syncWhen the database changes due to receiving a cloud sync updateThe update message received from the cloud with the update.
db:sync:doneWhen a sync to the cloud has been completed and an acknowledgement has been receivedNone
db:syncup:doneWhen a syncup on device reboot is completeNone
device:keysTriggered when AWS access credentials are rotated locallyNone
device:registeredWhen the device has registered with the BuilderNone
device:provisionedWhen the device is claimed by a device cloud and provisioned for managementNone
mqtt:connectWhen the MQTT connection to the cloud is establishedNone
mqtt:disconnectWhen the MQTT connection to the cloud is lostNone
mqtt:throttleWhen the device is sending to much data to the cloud and further sending is delayedNone

To manually signal a condition, call:

c
rSignal("mqtt:connect", arg);

To disable watching, call:

c
rWatchOff("mqtt:connect", fn, data);

This will disable the watch registered with exactly the same arguments.