Automations
Automations allows for organizations to set up their own custom flows. This could be triggering a notification to a certain group of users if the health of a specific machine changes to unacceptable and creating a work order.
Automation
An automation is a component that links an event with a set of conditions that, if satisfied, triggers an action.
The automation can only be linked with one event type. The selected type of event will determine which conditions can be optionally be added. If an event of the selected type is triggered, and the conditions is satisfied (if any added), the actions of the automation will be carried out. The automation can have several actions configured.
Events
Events around the app works as a trigger for an automation. Due to the amount of unique event types in the app, they are described in a separate page.
Each type of event has its own custom body. For example a "device connection lost" event will include the ID of the device, and a "health changed" event will have the ID of the machine, the previous health, and the new health of the machine.
All events have a timestamp of when it occurred.
Conditions
Conditions are linked to an event. Each event has its own selection of conditions that can be applied to each trigger of an event. Only if all conditions are satisfied, the automation will trigger the associated action.
Actions
Actions is what an automation triggers. An automation can have several actions. Each event has a set of variables that can be used in the actions.
Example
If a machine's health changes to unacceptable, we can trigger a notification to the maintenance team, append the event to the machine's log, and create a work order. Variables from the event like machine ID, previous health, and new health can be used in the notification and log messages.
Trigger Notification
Will trigger a notification to the selected users or user group. If no users or user group is selected, the notification will be sent organization-wide to all users.
Append To Log
Appends the event to the log of events for the associated object. For example if the health changes of a machine, we can append it to the machine's log. This will show a log of everything that has happened on the specific machine over time.
Create Work Order
Creates a work order in the app. If a CMMS is configured for the organization in the App Center, the work order is automatically synchronized if the object in the event is linked.
Publish To Connector
One of the available actions is the "Publish To Connector" action. This action allows organizations to forward events into a message broker in their own cloud.
A connector is simply a channel that the organization can configure. The channel is a connection from Hexastate's app to the organizations MQTT broker. Within the connector, it can be specified which credentials to use, the type of message broker to use, and which topic the message of the event should be delivered to.
Real-time sync between Hexastate and your app
You have your own sensors, and want to connect a data analytics engine without building it yourself. You also want to receive updates in real-time, for example when a temperature measurement from your sensor crossed 35 degrees Celsius or if the health of your machine changes.
Solution: you publish the sensor messaages to Hexastate's app, spins up a message broker in your cloud, connects your own app with the message broker, then create a Connector in Hexastate's app. You will now receive real-time updates back to your own app.
This is simply an alternative to using webhooks that is a bit more flexible but requires some cloud infrastructure on client side.