Operate remotely
This page describes how you act on your devices once they are deployed: update their firmware, send them commands and your own actions, exchange files with them, and open a terminal or a tunnel to them, all without a site visit.
Firmware updates (OTA)
Upload firmware versions to a device type, then send a firmware update to one device or to a whole selection of devices at once.
- A fleet-wide update is a batch: Fundamentum tracks it device by device, with a status for each (
unassigned,pending,ongoing,success,cancel,failure) and a chart of the batch's progress. - From the batch view, Cancel all stops the updates that have not started yet, and Retry all sends again the ones that failed or were cancelled.
- Fundamentum records which firmware version each device runs, so you can target only the devices that need the update.
Firmware updates are one of the platform's built-in commands, alongside reboot and configuration update. A command waits for its device: a device that is offline receives it when it reconnects.
Customizable actions
Beyond built-in commands, you define your own actions.
- Action types are your templates: each sets its timeouts, number of retries and priority.
- An action sends a payload to one or more devices. Fundamentum tracks it end to end, device by device, through statuses from pending to sent, ongoing, then success, failure or timeout. You can cancel or retry it for all its devices or for one device.
- Results appear live in the Hub, and are available through the Public API.
One action, many devices: capabilities and encoders
Real fleets mix hardware models and firmware versions. Fundamentum lets the same action work across all of them:
- A capability is a named action a device can perform, such as rebooting or updating its firmware.
- For each device type, and optionally for each firmware version, you link that capability to an encoder.
- An encoder is your own cloud function that translates the high-level request into the payload that model understands, plus the protocol used to deliver it.
When you send the action, Fundamentum picks the encoder that matches each device's type and firmware version (a version-specific link wins over one for all versions), encodes the payload and delivers it. Your applications send one request; your encoders handle each device's format.
See Collect, route and transform data for cloud functions.
File transfers
Move files in both directions:
- cloud → device, for example a configuration file or a resource;
- device → cloud, for example a log file or a diagnostic dump.
File transfers are available as curated commands in the fun CLI.
Remote terminal and port forwarding
Reach a device as if you were on site, without opening any inbound port on the device or its network. The session travels through the device's existing secure connection to Fundamentum, so it works behind NAT and firewalls.
- Remote terminal: open a shell on the device from the Hub, in your browser.
- Port forwarding: reach any service running on the device (SSH, a local web interface…) from your workstation with
fun devices port-forward.
On the device side, the Edge port-forwarding agent handles the tunnel. Every session goes through Fundamentum's access control.