DRAFT — Preliminary version, do not share. · Version préliminaire, ne pas partager.

Glossary

This page defines the product terms used across the Fundamentum documentation, in alphabetical order. Each term links to the page where you can learn more.

Action

A request you define yourself and send to one or more devices, with your own payload. Fundamentum tracks each action device by device, from pending to sent, ongoing, and then success, failure or timeout, and lets you cancel or retry it. An action can be translated for each device model by an encoder. See Operate remotely.

Action type

The template of an action: it sets the action's timeouts, number of retries and priority. Action types are defined per project; Fundamentum also provides generic ones shared by every project.

Alert

One occurrence of an alert rule for one device. An alert is open while all the rule's conditions are met, and ends when one of them is no longer met, when the rule is changed or deleted, or when a user resolves it. Only one alert per rule and device is open at a time.

Alert rule

A set of one to ten conditions on device states that raises an alert for each device meeting all of them. A rule has a severity level, applies to a whole project or to one registry, can carry messages in English and French, and names the users or roles to notify by email and in-app. See Alerts.

Asset type

The number that identifies a device type, also called the asset type ID. Devices give it when they provision, to say which model they are. Positive values are yours to use; negative values are reserved for Fundamentum.

Batch

A command sent to many devices at once, such as a fleet-wide firmware update. A batch is tracked device by device, and you can cancel or retry all its commands in a given status.

Beacon

A device that a gateway sees over the air, without either of them holding a connection. The gateway reports what the beacon says inside its own states, along with the beacon's signal strength. A beacon is a device like any other, with its own serial number.

Billing account

The account an organization's projects are billed to. Every organization has a default one, and can add more, for example to separate development and production costs.

Capability

A named action a device can perform, such as rebooting or updating its firmware. For each device type, and optionally each firmware version, a capability is linked to the encoder that knows how to send it to that hardware. This is how the same action works across different models.

Cloud function

Your own code, written in Go, Rust, JavaScript or Python, that Fundamentum runs for you in a sandbox. A function is triggered by an HTTP call or by a message on a topic, and can publish its result to other topics of its project. Cloud functions decode, enrich and route data, and serve as encoders. See Cloud functions.

Command

A predefined instruction with a payload defined by the platform, such as reboot, firmware update or configuration update. A command is kept until its device is online to receive it. For instructions you define yourself, see action.

Configuration

The settings a device applies, as free-form JSON. A device starts with the default configuration of its device type, and receives it when it connects. Changing it sends a configuration update command to the device.

Connect

Fundamentum's identity and access product: the OAuth2 sign-in for every user and application, with Google and Microsoft single sign-on, and the management of organizations, projects, users, roles, service accounts and licenses.

Connector

A link between your project and one of your own systems: your MQTT broker (MQTT or MQTTS, with mutual TLS) or your HTTPS endpoint. Through its links, a connector pushes data from your topics to your system as it arrives, or brings data from your system into Fundamentum. See Connectors.

Custom action

Raw bytes, in whatever format your project defines, delivered to a device through the registry's custom actions topic. Fundamentum carries them without reading them, and expects no response.

Device

A physical connected object registered in a registry. A device is addressed by its project, region, registry and serial number, belongs to one device type, and authenticates with its own RSA key pair. Gateways, sub-devices and beacons are all devices.

Device type

The model a device is created from. It carries a default configuration and metadata, the heartbeat policy, its firmware versions and capabilities, and flags such as gateway or LoRaWAN. It is identified by its asset type. Fundamentum provides generic device types shared by every project; you create your own per project.

Devices API

The REST API devices and factory tools use: provisioning, shelf devices, and an HTTPS alternative to MQTT for telemetry, states and heartbeats. Served at https://devices.fundamentum-iot.com. See Devices API v3.

Dimension

In Insight, a table that describes the things facts refer to, such as a device or one of your own entities. Insight keeps both the full history of each dimension and its current value. Also a type of topic that feeds such tables.

Edge

The official, optional device-side components: a daemon for Linux devices, a library for microcontrollers, and a port-forwarding agent. See Edge components.

Encoder

A cloud function that turns a high-level request into the payload a given device model understands, together with the protocol used to deliver it. Encoders are linked to capabilities per device type and firmware version. See Actions and custom encoders.

Fact

In Insight, a table of events or measurements, one row per occurrence, enriched with its dimensions. Also a type of topic that feeds such tables.

Firmware version

A firmware release of a device type, with its files. Fundamentum records which version each device runs, and a device can be updated when a newer version exists for its type.

fun CLI

Fundamentum's command-line tool for macOS, Linux and Windows. It signs you in through your browser, exposes the whole Public API with fun api, and provides curated commands for port forwarding, file transfers and cloud functions. See The fun CLI.

Fundamentum topic

A platform event stream, such as alerts or device changes, that you activate for your project. Once activated, it is delivered into a topic of your project, where you consume it like your own.

Gateway

A device that connects to Fundamentum and reports on behalf of others: its sub-devices and the beacons it sees. A gateway is a device whose device type is flagged as a gateway. See Gateways and sub-devices.

Heartbeat

A periodic message by which a device says it is alive, carrying its uptime. Heartbeats, and any other traffic from the device, keep it marked as connected; a device silent for longer than its device type's timeout becomes disconnected. A gateway's heartbeat can include its sub-devices.

Hub

Fundamentum's web application for device management: registries, devices and gateways, states, alerts, firmware updates, actions, topics, connectors and remote terminal. Served at https://hub.fundamentum-iot.com.

Hysteresis

An optional release threshold on an alert rule condition using > or <. Once the condition is triggered, it stays triggered until the value crosses the release threshold, not merely the original threshold. This prevents a value hovering around its limit from raising and clearing alerts repeatedly.

Insight

Fundamentum's no-code data warehouse. It joins your fact and dimension streams into a star schema in a database dedicated to each instance, queryable in SQL over the MySQL protocol. See Analyze with Insight.

Insight instance

One Insight data warehouse: its pipeline, its database and its SQL users, belonging to a project. A project can have several instances, each with its own isolated database and resources.

Invitation

How a person is given a role: an email inviting them to sign in, after which the role is assigned on the project, license or site named in the invitation.

License

Access to part of your project, typically for one of your own customers. A license is of a license type, holds its own option values and metadata, and has its own users, who do not need access to the rest of the project. Sites belong to a license. See Licenses: serve your own customers.

License type

A kind of license defined by a project, declaring the options its licenses carry, such as a capacity or an address, with their types and default values.

The binding between a connector and one of your project's topics: it names the destination on your system and the direction of the flow.

MQTT broker

Each device's private, secure link to Fundamentum: MQTT 5 over TLS, on port 8883. A device can only publish and subscribe to its own topics; there is no device-to-device traffic. See MQTT topics and message formats.

Organization

The top of the hierarchy: your company. An organization holds your projects and billing accounts.

Permission

The right to perform an action, such as list, show, create, update or delete, on a kind of resource. Permissions are grouped into roles.

Project

The main unit of isolation in Fundamentum. Registries and devices, topics, cloud functions, alert rules, Insight instances and service accounts all belong to a project, and most roles are granted per project.

Provisioning

Registering a device so that it exists in Fundamentum and can authenticate, and returning the configuration and MQTT connection details it needs. A device can provision itself, be pre-registered as a shelf device, or be created by its gateway. See Provisioning.

Provisioning key

A time-limited key that authorizes shelf device operations for a project, typically used on a production line. A key is active from its start date until its end date.

Provisioning secret

The secret of a registry that a device presents to provision itself into it. It is included in the registry's token file.

Provisioning window

The period during which a registry accepts new devices. Outside it, self-provisioning into the registry is refused.

Public API

The single REST API behind the Hub, the fun CLI and your applications, served at https://api.fundamentum-iot.com and described by published OpenAPI specifications. See Public API.

Quota

The maximum number of devices of a given device type that a registry accepts through self-provisioning.

Region

Part of every device's address, together with the project, registry and serial number. Fundamentum currently uses region 1.

Registry

A container of devices inside a project, used to segment a fleet by site, customer or type of installation. A registry defines its devices' connection settings, provisioning secret, provisioning window, quotas and topics.

Role

A named set of permissions, granted to a user or a service account on an organization, a project, a license or a site. See Roles and permissions.

Serial number

A device's identifier within its registry. It is unique in the registry and case-insensitive; in the Devices API v3 it must be lowercase and contain only letters, digits, _ and -. The same serial number in another registry is another device.

Service account

A non-human identity belonging to a project, used by your back-end systems and scripts. It holds roles like a user, and you issue it tokens to call the Public API.

Severity level

The criticality of an alert rule, carried by its alerts. From lowest to highest: info, advisory, warning, minor, major, critical. A rule without a level is critical.

Shelf device

A device registered before its destination is known, typically at the factory, with its serial number and public key. A shelf device cannot connect until it is assigned to a registry; it can be moved back to the shelf and assigned elsewhere later. See Shelf devices and provisioning keys.

Site

A physical location under a license, such as one of your customers' buildings or parking lots, with an optional address and coordinates. A site is divided into zones.

State

A key/value observation reported by a device at a point in time, such as "temperature": 21.5. The value can be any JSON value. Fundamentum keeps each device's state history and latest values. Unlike telemetry, states are stored by the platform.

Sub-device

A device behind a gateway, wired or paired to it, with its own serial number but no connection of its own. The gateway sends its telemetry, states and heartbeats on its behalf.

Telemetry

Data a device sends in any format, passed through as is to its registry's telemetry topic. Fundamentum carries telemetry without storing or interpreting it.

Token file

A file the Hub generates for a registry, with everything a device needs to provision itself into it: the Devices API URL, the MQTT host and port, the project, region and registry, and the provisioning secret.

Topic

A named message channel of a project on Fundamentum's event bus. Each project has default topics for telemetry, states and custom actions, plus your own topics and the Fundamentum topics you activate. Topics feed connectors, cloud functions and Insight. See Topics.

Uptime

The number of seconds since a device last started, carried by its heartbeats. When uptime goes down between two heartbeats, the device has rebooted.

Zone

A subdivision of a site, such as a floor, a parking level or a room. Zones can be nested to any depth, and can be shown on a map, by an address or on a 2D floor plan.