Gravio HubKit / Gravio Studio Change Log
This page summarizes the main changes in each release of Gravio HubKit and Gravio Studio (Windows / Mac).
Table of Contents
Gravio HubKit
6.3.0
How to update the Mac version of Gravio HubKit
Due to a change in the installer mechanism, for this release only, please download the DMG from the gravio.com website and install it on top of your existing copy. Before overwriting, stop Gravio HubKit and quit the toolbar app first.
New Features
Gravio Matrix Gen2 Components
Three new action components have been added for the second-generation Gravio LED Matrix Gen2 device. Both HTTP and MQTT connections are supported.
- Gravio Matrix Gen2 Display: Displays text and images (GIF / BMP), including animated GIFs and customizable display areas (Simple / Advanced modes)
- Gravio Matrix Gen2 Control: Clear the screen, set brightness, or reboot the device
- Gravio Matrix Gen2 Template: Display sensor templates such as Temperature, Humidity, Barometric Pressure, CO2 Concentration, and Open/Close status
For the device-side connection setup procedure and the MQTT / HTTP protocol specifications, see Sensor and Device Connection Guide: Gravio LED Matrix Gen2.
Important: The Gravio Matrix (Gen1) and the Gravio LED Matrix Gen2 are completely different products with different hardware, connection methods, and device ID formats. Each device works only with its own components and they are not interchangeable.
- Gen1 device → original Gravio Matrix component only
- Gen2 device → the new Gravio Matrix Gen2 components above only
Simple Counter Components
Two new components have been added for managing integer counters persisted on the HubKit.
- Simple Counter (Read): Reads a stored counter value (
0if not set) - Simple Counter (Write): Increments or decrements a counter (configured via the
AdjustByproperty)
The variable scope can be either HubKit (shared across all actions on the installation) or ActionGlobal (shared only between runs of a specific .acs file). Values are persisted as Component Local State files under $ActionDataDirectory/storage/localState/, surviving across action executions.
Web UI: Feature Package Management
You can now create, apply, export, import, and remove feature packages (zip bundles of triggers, actions, and related resources) directly from the Web UI. Access this feature from the "Action Configuration" section of the Hub Management screen.
To protect sensitive data, enable the Exclude Base Property field values option when creating a package; tokens and credentials are then stripped from the package.
Web UI: Base Property Profiles
A new Web UI page has been added for centrally managing reusable settings such as credentials, connection endpoints, and API keys (Base Property Profiles). For OAuth2-based categories, an Obtain Token button launches the authorization flow directly from the form.
Web UI: Device Integration Settings (i-PRO / Webhook / MQTT Broker)
The device list area on the Hub Management screen now exposes buttons that open configuration dialogs for external device integrations.
- i-PRO: List, add, and edit i-PRO series cameras, and view the HubKit endpoint URLs to register on the camera side
- Webhook: Create webhook endpoints, configure payload format (
query-params/json) and authentication (None / BASIC), and copy the webhook URL - MQTT Broker: Create subscribe topic entries, register brokers, and configure QoS, Clean Session, timeouts, etc.
Webhook: Binary / Media File Reception
Webhook endpoints can now accept binary files (images, audio, video, etc.) in addition to JSON payloads, and persist them on the HubKit.
- File type detection order:
Content-Type→filenameextension fromContent-Disposition→ first 3 KB of the body (using mimetype) - Storage layout:
<endpoint-short-id>/<YYYYMMDD>/data-<timestamp>.<ext> - When
Content-Dispositionspecifies afilename, that value is used as the storage name (unsafe characters are replaced with_)
Functions: Add / Sub / DurationParse
The action flow expression language gains new built-in functions.
Add(x, y): Generic addition that handles numbers, strings, durations, times, and arrays (behavior is determined by the type of the left-hand side)Sub(x, y): Generic subtraction that handles numbers, durations, and times (arrays are not supported)DurationParse(s): Parses a Go-style duration string such as"300ms","-1.5h", or"2h45m"into a Duration
Changes and Improvements
Microsoft Exchange List Events
The component has been updated to align with the Microsoft Graph API POST /users/{id}/calendarView endpoint.
- Each instance of a recurring event is now returned
- The time-range filter has been consolidated into
Events Starting After(StartDateTime) andEvents Ending Before(EndDateTime).Events Starting BeforeandEvents Ending Afterhave been removed. - When neither
Events Happening TodaynorEvents Currently Ongoingis checked, bothEvents Starting AfterandEvents Ending Beforebecome required
Any existing actions relying on the old properties must be updated to use the new ones.
Sensor Data DB: ContinueOnEmpty Property
The Sensor Data DB component gained a new ContinueOnEmpty property that controls behavior when zero records are returned.
false(default): Stops the action when no records are returned (existing behavior)true: Emits an empty payload and lets the action continue executing
Split: JSON Object (Map) Input Support
When the input to the Split component is a JSON Object, each entry is now emitted as a { "Key": ..., "Value": ... } struct to the next component. Conditions can reference Value.Key and Value.Value.
Webhook: Filename Format Change
Filenames for files received through webhooks have been changed:
- Before:
webhook-<id>-<timestamp>.<ext> - After:
data-<timestamp>.<ext>
If you have actions that rely on the old pattern, please update them accordingly.
Webhook: Improved Error Messages
When a webhook endpoint receives a request using an HTTP method that does not match its configured payload format (query-params / json), the error response is now more specific and easier to act on.
Gravio Studio for Windows
6.3.4837
New Features
Copy ID / Name Buttons
Added Copy ID / Copy Name buttons to the Area, Layer, Device and Triggers entries. These let you copy identifiers and names to the clipboard with one click, so you no longer need to retype device or area IDs when writing expressions in the Action editor.
Webhook: Binary / Media File Payload Support
You can now configure the new Webhook binary file reception feature (added in Gravio HubKit 6.3.0) directly from Gravio Studio. In addition to the existing query-params and json payload formats, endpoints can now be set up to accept binary payloads such as images, audio or video.
Changes and Improvements
Settings Menu: "Download Logs" and "Experimental Components" split
The previously combined Download Logs and Experimental Components entries on the Settings menu are now separate options. This reduces the chance of triggering one when you intended the other.
Notification Settings: Port 587 Placeholder
The port input field for notification (SMTP) settings now shows the common SMTP submission port 587 as its placeholder value.
Quick Run Console: Local Time Display
Action logs in the Quick Run console are now printed in the local time of the machine running Studio, making logs easier to follow when the server and client are in different time zones.
Gravio Studio for Mac
6.3.0
- Support for components added in Gravio HubKit 6.3.0