User Guide: Edge Gateway
Pages 67
Home
User Guide
Deploying
Manager UI
Assets & Attributes
Agents/Protocols
- Overview
- Bluetooth Mesh
- HTTP
- KNX
- LoRa
- MQTT
- Simulator
- SNMP
- Serial
- TCP
- UDP
- Velbus
- Websocket
- Z-Wave
- Partner Integrations
Disabled Protocols
Manager APIs
Rules and forecasting
Identity & Security
Gateways and Devices
- OpenRemote as Edge Gateway
- Auto provisioning devices and users
- Connect ESP32 or ESP8266 using MQTT
- Firmware updating with Hawkbit
- Partner Integrations
Tutorials
- Weather data using HTTP Agent
- Connect Your MQTT Client
- ChirpStack LoRaWAN Integration
- Celcius to Fahrenheit with Flow
- Simulating data in attribute
- Create an Energy Management System
Developer Guide
- Preparing the environment
- Installing and using Docker
- Setting up an IDE
- Building and testing
- Working on UI and apps
- Working on maps
- Docker compose profiles
- Creating a custom project
- Maintaining an installation
- Working on the mobile consoles
- Connecting Protocol adaptors with Agents
- Edge device firmware updating
- Licensing guidelines for contributors
- Useful commands and queries
- Data migration
Architecture
Clone this wiki locally
Overview
An Edge Gateway is an OpenRemote Manager that connects to another OpenRemote Manager (referred to as central manager here on); and is intended for scenarios where a Manager is required within a LAN without being exposed directly to the internet and is quite often running on constrained hardware.
The edge gateway establishes the connection to the central manager using the Websocket API and the Edge Gateway must be provisioned in the central Manager to generate OAuth client credentials which can then be used by the edge gateway to authenticate.
An edge gateway connection is defined per edge gateway realm and only a single connection can be made to a central manager per realm.
Interaction
The edge gateway is the master and the central manager is a slave; when an edge gateway is not connected to the central manager then any attempt to interact with the edge gateway assets on the central manager will result in an error, when an edge gateway connects to a central manager the edge gateway assets are synchronised (uni-directional synchronisation from edge gateway to central manager), any change to an edge gateway asset is then also sent to the central manager to maintain synchronisation. When interacting with an edge gateway asset via the central manager the request is forwarded to the edge gateway and the edge gateway handles the request and any resulting asset changes are then also forwarded to the central manager.
Depending on network connection there can be a delay between interacting with an edge gateway asset via the central manager and the interaction being completed and relayed back to the central manager.
The central manager must be using the Keycloak identity provider
Edge gateway setup
1. Provisioning in the central manager
Just create a new Asset of type Gateway and the manager will provision a Keycloak client for it with Client Credentials grant type, the client ID and client Secret will then be stored in the clientId and clientSecret attributes of the gateway asset.
2. Entering credentials in the edge gateway
- On the edge gateway login to the manager UI and select the realm you wish to connect to the central manager (only applicable to super users).
- Go to the Manager interconnect page (top right menu)
- Enter the host (e.g.
demo.openremote.io
) - Enter port if not using default
80
or443
- Enter the realm of the gateway asset on the central manager (e.g.
master
) - Enter Client Id and Client Secret which can be found by looking at the attributes of the gateway asset in the central manager
- Select secured (if the central manager is using
HTTPS
) - Click Save
- In the top right of the dialog the status should change to
CONNECTED
- Enter the host (e.g.
Requirements
Central Manager
- Must be running the Keycloak identity provider
Edge Gateway
- Processor: AMD64 or ARM64
- RAM: 4GB (if using Keycloak identity provider) 2GB (if using basic identity provider)
- Disk: 1.5GB (preferrably SATA or eMMC)