Available Variables in Actions

Action Configuration View » Available Variables in Actions

Think of the Action Steps as connectable parts that have an input and an output pipe. Each Step waits for incoming objects (in cv.Payload) it can then process and pass on through the output pipe to the next Step. Before processing the Step, you can Pre-Map and after…

Trigger Variables and Properties

Introduction » What is Gravio? » Hub Configuration View » Trigger Tab » Trigger Variables and Properties

Device / timer triggers allow you to pass trigger properties and trigger variables as arguments when performing an action. Trigger variable The trigger variable is a variable in tv., which is passed to the action as tv. In an event-driven trigger by receiving sensor…

Functions available in the Pre Mappings / Post Mappings expressions

Action Configuration View » Functions available in the Pre Mappings / Post Mappings expressions

You can use the following functions on the right side of the expressions in Pre Mappings / Post Mappings. See Functions for a detailed explanation of each function. String Len Contains RuneCount HasPrefix HasSuffix Index Join LastIndex Repeat Replace Split ToLower…

Action Components

Action Configuration View » Action Components

An action consists of one or more steps. Each step can be populated with action components and define inputs and outputs. This section describes the different components available and explains how to use them.

How to write expressions in Pre Mappings / Post Mappings

Action Configuration View » How to write expressions in Pre Mappings / Post Mappings

Each action component in the Action Editor has a pre Pre Mappings / Post Mappings area on the right side of the screen: Press the “+” button to add a new line to either the Pre-Mappings or the Post-Mappings. Pre Mappings are executed before the main…

Referring to the value of a Object variable in an Action

Action Configuration View » Referring to the value of a Object variable in an Action

If you like to refer to the value of a variable of type Object available in an action, you can access the element with a selector or square brackets connected to the variable with a dot. As an example of an Object type variable, if you use IVAR’s face…

Writing an Action

Action Configuration View » Writing an Action

Double-clicking on your Action in the Actions Overview will open your Action Editor. This is where you put your actions together. Actions consist of separate steps which you can string together, create “decision trees” and create inputs and outputs. The…

Environment Functions

Action Configuration View » Functions » Environment Functions

The following functions are available. Function Name Arguments Description Env Env(s) Return environment variables

Template

Action Configuration View » Action Components » Template

The Template component is a component that generates a string (text) from a specified template using placeholders. The template syntax is a GoLang standard described on https://golang.org/pkg/text/template/ . tp. / tv. / ap. / av. / cp. / cv. are all referable to…

Sensor Event Triggers

Introduction » What is Gravio? » Hub Configuration View » Trigger Tab » Sensor Event Triggers

Sensor Triggers Click on the icon on the top right with the plus in the square to create a sensor-based trigger: This will open the trigger popup: Give your trigger a sensible name, we recommend to name it after the condition that triggers the…

Split

Action Configuration View » Action Components » Split

The Split component is a component that splits the input Payload by line feed if it is a string, or by element if it is a JSON array, and passes it to the next component. The Split component provides the ability to filter whether the output data after the split…

Action Component Behavior

Action Configuration View » Action Component Behavior

The action component has two component variables (cv.): the input payload (cv.Payload) and the output payload (cv.Payload). You can use it as the input payload (cv.Payload) when used in Pre-Mapping and as the output payload (cv.Payload) when used in…

Filter

Action Configuration View » Action Components » Filter

The Filter component is a component that filters the data that passes the contents of the input payload to the next component and outputs it to the output payload. You can enter a conditional expression that allows you to pass a test if it’s true, or…

Gravio HubKits Overview

Gravio HubKits Overview

The Gravio’s HubKit Lists view in Gravio gives you an overview of all connected Edge HubKits available. These can be software servers from Linux, Windows or Macs where you have installed the Gravio HubKit, or they can be Gravio Hub devices. For information on how…

Action Configuration View

Action Configuration View

The Gravio HubKits can trigger Actions. You can think of an Action like a small and simple computer program, that’s made up of Steps. Actions can be created in the Action Editor which can be opened by clicking on the Action Editor icon: You can find these…

Debug Log

Action Configuration View » Debug Log

Press the button at the top left of the component to output the debug log. By nature, components run independently and in parallel, but when executing an action while outputting debug logs, they are synchronized within the action engine. The debug log outputs the…

Statistics

Action Configuration View » Action Components » Statistics

The Statistics component stores the statistics (Min, Max, Mean/Average, Median, Standard Deviation, Sum, Mode) in the component variables with the specified values. If the value specified is an improper value for a number, that value will be excluded from the…

Hub Configuration View

Introduction » What is Gravio? » Hub Configuration View

If you double click on the upper half of the Server card, you will get to the Hub Configuration view: At the top you can find a number of buttons such as: A plus sign button to create new physical Areas to group your Layers An edit button to edit an Area or…

Service Architecture

Introduction » Service Architecture

Gravio consists of the following application modules: Gravio Studio, a Windows, macOS and iOS application to view, edit and configure the server infrastructure. Gravio HubKit, a server software installed on the edge device (Windows, macOS or Linux) to retrieve…

Mail Send

Action Configuration View » Action Components » Mail Send

The Mail Send Action Component is to send email via SMTP. The Mail Send component sends an input payload (cv.Payload) as the body of a mail. It converts the data received by the input payload into a string and sends it as the body of an email. After sending the…

Settings Tab

Introduction » What is Gravio? » Hub Configuration View » Settings Tab

In the Settings tab you can manage various settings aspects such as view the hubkit’s versions, backup or restore, set the base property profiles, deploy image inference models or view the disk usage space. If you have the enterprise version, you can also connect…

Trigger Tab

Introduction » What is Gravio? » Hub Configuration View » Trigger Tab

In order to have a trigger, it makes sense to have an action first, that you want to trigger with your trigger. You can see how to make actions here. Once you have an action, you can start triggering it using sensor data. There are three types of…

MQTT Publish

Action Configuration View » Action Components » MQTT Publish

The MQTT Publish Action Component allows you to publish messages to topics within an MQTT PubSub system. Output Payload Explanation cv.Payload Outputs the output payload of the previous component as is. (Pass through) Component…

Software Sensors

Introduction » What is Gravio? » Hub Configuration View » Device Tab » Software Sensors

Gravio also supports software sensors. An example for a software sensor could be a camera that detects how many people are in a room and triggers certain Actions if certain thresholds are reached. These sensors are created using software and artificial intelligence…

Log Viewer Tab

Introduction » What is Gravio? » Hub Configuration View » Log Viewer Tab

In the Log Viewer tab you can access or download the log files that Gravio produces. They are mainly used for debugging. The logs include: Actmgr – containing any logs the Actions and Steps produce Blemgr – Bluetooth related logs Ctrlmgr –…

Slack Post Message

Action Configuration View » Action Components » Slack Post Message

The Slack Post Message Action Component is to post a message to Slack using the Slack API. It can be useful to debug Actions or notifying people. It can be used for sending messages to #channels as well as @people . Component…

HTTP Request

Action Configuration View » Action Components » HTTP Request

Using the HTTP Request component, you can send an HTTP request to a specified URL. The HTTP Request component executes the HTTP request with the input payload as the Body content of the HTTP request, depending on its properties, and writes the HTTP response Body to…

Using the File Viewer

Action Configuration View » Using the File Viewer

Some action components in HubKit are able to read files in the actmgr/data directory and save files in that directory. Files stored in this directory can be retrieved by Gravio Studio, and local files can be uploaded to the directory by Gravio Studio. Use the…

Functions

Action Configuration View » Functions

Functions available on the right-hand side of expressions in Pre Mappings / Post Mappings are described separately in this section. A simple example of using a function is the usage of the Now function to output the current date, like in this example that writes this…

Adding Physical Sensor Devices

Introduction » What is Gravio? » Hub Configuration View » Device Tab » Adding Physical Sensor Devices

Gravio is built in a way that allows us to easily extend new sensor families. On the website https://www.gravio.com/product#Gravio-Rent you can see a range of hardware sensors Gravio supports off the shelf. If you require other sensors to be connected, please do not…

What is Gravio?

Introduction » What is Gravio?

Gravio is a platform that connects IoT devices with software and artificial intelligence. It is built for companies who like to start small and quickly, and yet have the possibility to scale up robustly and fast. Other than most IoT platforms Gravio leverages the…

Restricting access to the Gravio Hub from Gravio Studio

Appendix » Restricting access to the Gravio Hub from Gravio Studio

To restrict Gravio Studio access to the Gravio Hub, install the Gravio Studio client certificate used for the that particular Gravio Hub. Note: This feature is only available for Basic users. Log in to Gravio Cloud with Gravio Studio and select “Client…

Encode Functions

Action Configuration View » Functions » Encode Functions

The following functions are available. Function Name Arguments Description Example URLPathEscape URLPathEscape(s) Escaping s to a string that can be safely placed in a URL path segment URLPathEscape(“test1?test2…

MQTT Subscriptions

Introduction » What is Gravio? » Hub Configuration View » Device Tab » MQTT Subscriptions

You can subscribe to topics from an MQTT broker. These incoming messages would then be treated like sensor input data. To create an MQTT layer, click on the MQTT button on the top right of the screen: This will open the overview of your available MQTT Brokers. You…

Gravio Apps Framework

Gravio Apps Framework

Gravio will also provide a framework, that allows third party companies to build native mobile applications that integrate seamlessly into the Gravio Edge infrastructure. APIs provided by Gravio’s edge servers can provide data or be triggered by an authenticated…

Type Conversion Functions

Action Configuration View » Functions » Type Conversion Functions

The following functions are available. Function Name Arguments Description Example ToBool ToBool(a) Conversion to Bool type ToInt ToInt(a) Conversion to Integer type ToFloat ToFloat(a) …

Setup on macOS

Introduction » Installation and Setup » Setup on macOS

Mac To use Gravio on Mac, you can install Gravio HubKit on your Mac. And you can install Gravio Studio for Mac for managing your Gravio HubKit. Run Gravio HubKit for Mac First, please download the Gravio HubKit dmg for Mac from this link. This is the Edge…

How to Side-Load Gravio Studio for Windows

Appendix » How to Side-Load Gravio Studio for Windows

Sideloading procedures for Gravio Studio for Windows Sideloading is the process of installing an application from an installer file rather than from the App Store. In some cases, for example in a corporate environment, the App store may not be available. Or a computer…

Performance Tuning

Gravio Hub » Performance Tuning

When using the Gravio Hub for inference computer vision detection, please consider the following: Processing Performance When an inference is selected as a “layer as a soft sensor” on a Gravio Hub, only one model should be used per Gravio…

Gravio Hub Led Light Status Indicators

Gravio Hub » Gravio Hub Led Light Status Indicators

The Gravio Logo on the Gravio Hub can light up in various colours and patterns. Here you can find what the colours mean and/or how you can trigger them. LED behaviour Context Meaning Comment Solid Blue Upon boot Out of the box…

Time Based Triggers

Introduction » What is Gravio? » Hub Configuration View » Trigger Tab » Time Based Triggers

You can create triggers that are based on times on time-related parameters such as intervals, weekdays, day-of-month, etc. To create a time-based trigger, open the +-icon with the clock on the trigger tab: You will see the following dialogue box: Give your…

String Functions

Action Configuration View » Functions » String Functions

The following functions are available. Function Name Arguments Description Example Len Len(s) Returns the length of a string (in bytes). s returns the number of elements if s is an array or an object. …

Amazon Polly Speech

Action Configuration View » Action Components » Amazon Polly Speech

The AWS Polly Speech Action Component is to read out text using AWS Polly text-to-speech. Amazon Polly converts input text into life-like speech. This functionality can also be useful for debugging purposes. Note that this functionality may not be available for…

Regular Expression Functions

Action Configuration View » Functions » Regular Expression Functions

The following functions are available. Function Name Arguments Description Example RegExpMatch RegexMatch(re, s) Returns a Bool to see if the regular expressions re and s match RegexMatch(“G.*o”, “Gravio…

Date Functions

Action Configuration View » Functions » Date Functions

The following functions are available. Function Name Arguments Description Example Now Now([timezone]) Returns the date and time type for the current date and time. Year Year(t[, timezone]) Returns the…

Setup on Windows 10

Introduction » Installation and Setup » Setup on Windows 10

Windows 10 Installation Install Gravio Studio from the Microsoft store: https://www.microsoft.com/store/apps/9N5ZLBCTTTH2 Launch Gravio Studio If you don’t have an account already, create an account here by filling out this form and agreeing to the terms and…

JSONPath() Usage Examples

Action Configuration View » Functions » String Functions » JSONPath() Usage Examples

This section describes an example of using JSONPath(). If the sensor data (cv.Payload) or the argument of the action to be executed in the trigger condition (tv.Data) is in JSON format, you can use JSONPath() to refer to the value. Sample Data { "store": { …

MSTeamsPostMessage

Action Configuration View » Action Components » MSTeamsPostMessage

The MSTeamsPostMessage action component can use the Microsoft Teams API to post a message to the channel specified in the component’s properties. How to get the Incoming Webhook URL: Select “Connector” from the “More Options” menu…

Which ports does Gravio require?

Appendix » Which ports does Gravio require?

We use the following Ports in each daemon in HubKit Process Name Protocol Port Gravio Control Manager HTTPS 29442 When installing HubKit and Gravio Studio on a different PC, one of these port numbers, “Gravio Control…

General Gravio Troubleshooting

Troubleshooting » General Gravio Troubleshooting

Symptom Explanation Remedy Comments Gravio Studio is not behaving as expected Gravio Server connection is unstable or Gravio Server is not running Ensure that there is a stable connection between Gravio Studio and the Server is…

AWS S3 Upload

Action Configuration View » Action Components » AWS S3 Upload

The AWS S3 Upload Action Component is to upload content to amazon aws s3. Component Properties Name Required Description Input True Upload a payload or a file. To set the value of cp.Input, use either “Payload” or…

SensorDataDB

Action Configuration View » Action Components » SensorDataDB

The Sensor Data DB Action Component is to read from the Sensor Data DB. Each recorded piece of data gets stored in the Sensor Data DB. With this component, you can query that database. The SensorDataDB component queries data from the SensorDataDB stored in HubKit and…

AWS S3 Download

Action Configuration View » Action Components » AWS S3 Download

The AWS S3 Download Action Component is to download content from Amazon AWS S3. Component Properties Name Required Description Output True Specify whether to keep the content in the Payload variable of the Action or as a file.…

Zigbee Firmware Update

Appendix » Zigbee Firmware Update

dongle is shown below. Download the firmware from Here 1. When using a Mac Prepare a Mac with the Gravio HubKit4 installed. Plug the Zigbee dongle into the USB port of your Mac and launch the terminal. Insert the dongle with the Gravio logo on the top. In Terminal…

Google Analytics Send Event

Action Configuration View » Action Components » Google Analytics Send Event

The Google AnalyticsSendEvent component sends events using the Google Analytics Measurement Protocol. For details of Measurement Protocol and parameters, please refer to this link. Checking “Debug Mode” puts you in debug mode. In debug mode, if…

WriteToExcel365

Action Configuration View » Action Components » WriteToExcel365

The WriteToExcel365 component can output data to a OneDrive in Excel format. The use of this component requires a contract and pre-configuration of Office365 for Business and OneDrive for Business. How to prepare your Microsoft account Prepare an Office365…

Writing Image Inferences

Advanced » Writing Image Inferences

One of the big new features of Gravio 4 is the way you can create inference files to use Artificial Intelligence and Machine Learning to detect objects in visual feeds, such as from CCTV security camera systems based on ONVIF. Please refer to the ONVIF section of this…

Adding an EnOcean Sensors

Introduction » What is Gravio? » Hub Configuration View » Device Tab » Adding Physical Sensor Devices » Adding an EnOcean Sensors

We also rent out EnOcean energy harvesting sensors, that are getting powered by the energy surrounding them, such as solar panels, or by kinetic energy, e.g. when buttons are pushed. We have two types of sensors: The temperature sensors, identifiable by the small…

GravioLight

Action Configuration View » Action Components » GravioLight

The Gravio Light Action Component is to control a Gravio Lights. For this component to work, you must have the Gravio Lights paired in advance. Output Payload Description cv.Payload Outputs the output payload of the previous component…

Sensor Data DB If Zero

Action Configuration View » Action Components » Sensor Data DB If Zero

The SensorDataDBIfZero component outputs the input payload as the output payload if no rows are retrieved; if any rows are found, it outputs nothing. With the content specified in the property, it searches the sensor DB and executes a filter expression for each matched…

Saving Media data path for Camera device

Appendix » Saving Media data path for Camera device

Images acquired from the camera by ONVIF, etc. will be stored in the following directory for each camera device and stored in each date directory. Windows 10 C:/ProgramData/HubKit/mediadata Mac /Library/Application…

Adding a compatible Bluetooth device

Introduction » What is Gravio? » Hub Configuration View » Device Tab » Adding Physical Sensor Devices » Adding a compatible Bluetooth device

Use Gravio Studio to connect the sensor receiver and layer of a Bluetooth-enabled device. Under “Devices”, select the type of Bluetooth sensor you want to use (DataKind) and add a new area and layer.    As a sample, use OMRON’s 2JCIE-BU01 to…

Device Tab

Introduction » What is Gravio? » Hub Configuration View » Device Tab

In the Devices tab, you manage the devices connected to a HubKit by adding, removing and configuring them, including their physical location. In order to keep the data stores organised and efficient, Gravio features two dimensions how to place and assign…

Data Viewer Tab

Introduction » What is Gravio? » Hub Configuration View » Data Viewer Tab

The Data Viewer Tab allows you to investigate incoming sensor data in real-time (press the “live” button on the top right for real-time live data). This is useful if you want to set up the system and test its functionality. Please click on the…

Troubleshooting

Troubleshooting

In this section we talk about how to identify and rectify issues with Gravio.

Connecting your Gravio Hub to the Network

Gravio Hub » Connecting your Gravio Hub to the Network

The Network Setup Process The first time you plug the Gravio Hub into a power source, it will create a wireless network. Use any device with a browser to connect to that Wifi Network: Log in using the password graviohub Now open your browser and enter the URL…

Note Regarding CO2 Sensors

Appendix » Note Regarding CO2 Sensors

It takes about 20 minutes after the data is received for Gravio CO2 to obtain a stable value of CO2 in the environment concerned.

Maintenance and Software Updates

Gravio Hub » Maintenance and Software Updates

Once logged in, you can open the “Maintenance” tab on the top left to open the maintenance view: Once open, you see the following sections: Check Updates SSL Certificate Settings HubKit and Coordinator Data Backup Gravio Hub Power Management …

Sleep

Action Configuration View » Action Components » Sleep

The Sleep Action Component is to insert a pause between the two steps of the action. Output Payload Description cv.Payload Outputs the output payload of the previous component as is. (Pass-through) Component…

Using the Gravio Coordinator

Advanced » Using the Gravio Coordinator

Because Gravio is a distributed system consisting of either computers (macOS, Windows or Linux) running the HubKit or the Gravio Hub itself, there is a need to coordinate those edge nodes. More information about the Gravio Coordinator can be found in the Gravio…

PhilipsHue

Action Configuration View » Action Components » PhilipsHue

The Philips Hue Action Component is to send commands to a Philips Hue light device. You need to specify the color and opacity and set the IP address, user ID, and light ID. The IP address can be found by going to https://discovery.meethue.com/. With this…

How to install Gravio server Root CA certificates.

Appendix » How to install Gravio server Root CA certificates.

In order to make the secure connection, you will need to install the downloaded certificates to your operating system. HubKit can then verify that you are allowed to access it. Installing the Certificate on Windows 10 Double click on the certificate file from…

AqaraSmartPlug

Action Configuration View » Action Components » AqaraSmartPlug

The Aqara Smart Plug Action Component is to control an Aqara smart plug device. To use this device, you must have the Aqara Smart Plugs paired in advance. Output Payload Description cv.Payload Outputs the output payload of the previous…

Security and Authentication

Security and Authentication

If you have Gravio Standard or better, you can secure your Gravio HubKit against your Gravio Studio machine using a Client Authentication method. This means you install a certificate on your Gravio Studio machine, which will be used on the Gravio HubKit server to…

TwilioSMS

Action Configuration View » Action Components » TwilioSMS

The Twilio SMS Action Component is to send an SMS text message via Twilio. It is useful to notify people of information from sensors. Component Properties Name Required Description To True The number to send the message to,…

CSVRead

Action Configuration View » Action Components » CSVRead

The CSV Read component takes CSV data as input, parses it and creates an output payload in the format specified by the Output Format component property (cp.Output). CSVRead has an “Input” property (cp.Input), which allows you to select the data source.…

File Write

Action Configuration View » Action Components » File Write

The File Write Action Component is to write data to a file. Component Properties Name Required Description Filename False Filename to be written. Append True Append new data instead of replacing the file.…

Exec

Action Configuration View » Action Components » Exec

The RunScript component allows you to run OS standard scripts. If Gravio Server is running on Windows it can run batch files, Linux, Raspbian and macOS can run shell scripts. If it is not Windows, you need to give execute rights to the uploaded file. The uploaded…

Google Cloud MQTT

Appendix » Google Cloud MQTT

Here are some examples of how you can publish messages to the Google Cloud MQTT system Go to the Google Cloud console and create a project: Moving to the IoT core on Google Cloud Platform Enable the Google IoT Core API. Create a device registry Enter…

Setup on Linux / Raspberry Pi

Introduction » Installation and Setup » Setup on Linux / Raspberry Pi

Linux / RaspberryPI Download the Linux docker files as zip package from download site. Connect to Ubuntu 18.04 LTS using SSH. Transfer the downloaded zip package (coordinatorsetup_linux_v4_2.zip) to Ubuntu. Execute the following Command from Console. sudo apt…

GravioMatrix

Action Configuration View » Action Components » GravioMatrix

The Gravio Matrix component allows you to set text or an image to a Gravio Matrix. To use this component, the Gravio Matrix must be paired beforehand. If the Device ID property is empty, the command will be sent to all connected Gravio Matrices.   Output…