OpenRemote Documentation
website·Indexed 35 days ago
https://docs.openremote.ioUser guides, tutorials, and REST API schemas for OpenRemote, covering MQTT gateway API authentication, anomaly detection, and integration with services like ChirpStack and OpenWeather. Includes detailed API specifications for version 1.31.0 and previous releases.
What's inside OpenRemote
- The Simulator agent is used to simulate connections to external services, which is particularly useful during development when a real service is unavailable. It can automatically replay a fixed set of simulated values over a repeating 24-hour period or a custom-defined schedule.
Overview of the Simulator agent protocol
The Simulator agent is used to simulate connections to external services, which is particularly useful during development when a real service is unavailable. It can automatically replay a fixed set of simulated values over a repeating 24-hour period or be configured with a custom schedule. Attributes written to by this agent follow the same system route as data coming from a remote service.Overview of The Things Stack (TTS) Agent Integration
The TTS agent integrates LoRaWAN devices managed by The Things Stack (V3) into OpenRemote using two communication channels:
- MQTT: Used for real-time data flow. The agent subscribes to device events for uplink sensor data and publishes to command topics for downlink control packets.
- gRPC API: Used for device lifecycle and metadata management. The agent listens to the gRPC events stream for real-time auto-discovery (detecting uplinks or Join requests) and queries device metadata to identify the correct OpenRemote Asset Type via custom TTS device attributes.
Overview of OpenRemote Manager APIs
The OpenRemote Manager provides three distinct API interfaces for interacting with the platform:
- HTTP API: A traditional request-response REST API. Live documentation is available via Swagger UI at
https://youraddress/swagger/. - MQTT API: A publish-subscribe API used for connecting to the OpenRemote MQTT broker.
- WebSocket API: An event-based publish-subscribe API.
- HTTP API: A traditional request-response REST API. Live documentation is available via Swagger UI at
Overview of AWS services used for OpenRemote deployment
OpenRemote uses the following AWS services to provision and manage deployments via CloudFormation:
- CloudFormation: Provisions EC2 instances, networking, and IAM roles.
- Route 53: Manages deployment DNS records via hosted domain zones.
- VPC: Manages network access and isolation.
- EC2: Provides the virtual hosts for running OpenRemote.
- EFS: Used for mounting large files (e.g., map data) without requiring large EC2 hard drives.
- SNS: Handles notifications for CloudFormation operations.
- S3: Used for backups.
Overview of OpenRemote External Services
External services are standalone applications that extend the OpenRemote platform. They communicate via APIs and can be integrated directly into the OpenRemote Manager Web UI using an iframe. While services with a UI must register to be embedded, services without a UI can remain standalone and simply use OpenRemote's APIs without registration.Overview of OpenRemote integration with Eclipse Hawkbit
OpenRemote integrates with Eclipse Hawkbit to provide a framework for rolling out software updates to constrained edge devices. The integration supports running Hawkbit as an additional service (via Docker, including ARM64 support), utilizing OpenRemote's identity services to manage Hawkbit access via roles, and tracking the firmware versions of edge devices along with the status of their roll-outs.Overview of OpenRemote Auto Provisioning
OpenRemote provides a mechanism for hardware devices to automatically register and connect to the system. When auto-provisioning is configured, an authorized device performs the following steps:
- Creates a service user in OpenRemote (if one does not already exist).
- Creates an asset in a specified OpenRemote Realm using a predefined 'Asset template'.
- Gains communication access to that asset based on assigned 'Roles'.
Overview of OpenRemote Auto-Provisioning
OpenRemote provides a mechanism for hardware devices to automatically register and connect. When a device is authorized via auto-provisioning, the system performs the following steps:
- Creates a service user in OpenRemote (if one does not already exist).
- Creates an asset in a specified Realm using a predefined 'Asset template'.
- Assigns roles to the device to enable communication with the created asset.
Overview of the ML Forecasting Service
The ML Forecasting Service is an optional OpenRemote service that applies machine learning and statistical models to time series forecasting. It allows users to create forecast configurations for attributes with historical data. Currently, it supports the Prophet additive regression model, which captures trends, seasonality, and holiday effects. Forecasts are automatically generated at specified intervals and can be visualized as predicted data points in the Insights UI.Overview of built-in Manager UI widgets
The Insights page in the Manager UI allows for the creation of dashboards using various widgets to visualize data. Available built-in widgets include:
- Attribute Editor: Edit attribute values directly within the dashboard.
- Gauge: Compare current attribute values against predefined thresholds.
- Image Map: Background image with attribute value labels placed anywhere.
- Trend Chart: Displays current attribute values and their trend in a chart.
- History/Prediction Chart: Multi-axis chart with history and predicted data for unlimited attributes using data decimation.
- Asset Map: Map showing locations of assets of a selected type, optionally with threshold-based colors or attribute labels.
- Asset Table: Table showing multiple attribute values across selected assets.
- Tunnel Button: Sets up a tunnel to a preconfigured target address and port via a gateway (opens a new tab for HTTP(S) protocols).
Overview of AWS services used for OpenRemote deployment
OpenRemote uses the following AWS services to host and manage deployments running with Docker Compose:
- CloudFormation: Provisioning of EC2 instances, networking, and IAM roles.
- Route 53: Management of deployment DNS records via hosted domain zones.
- VPC: Management of network access to deployments.
- EC2: Virtual hosts for running the deployments.
- EFS: Mounting large files (e.g., map data) without requiring large EC2 hard drives.
- SNS: Notifications for CloudFormation operations.
- S3: Storage for backups.