Home
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 & forecasting
Identity & Security
Gateways & 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
- Configure mobile app behaviour
- 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
- Adding Widgets on Insights
- 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
Welcome to the OpenRemote wiki!
OpenRemote is the only 100% open source IoT platform that simplifies connecting networked assets to mobile and web applications.
The core of the OpenRemote system is the Manager, a headless Java application that forms an IoT context broker which captures the current asset state of the system. You can create a dynamic schema of your assets and their attributes in the manager, modelling the problem domain. For example, you would create Building, Apartment, Room, and Sensor assets to model an IoT system for a smart home or office.
Rules can be written in Groovy, JavaScript, a Rules JSON, or Flow model, and dynamically deployed. Rules execute actions when matching asset state or sequence of events are detected. For example, when a mobile asset enters a geographic fence, or when humidity in a room keeps increasing, you can notify a group of users via email and on their mobile devices.
Networked things and devices are connected to the manager via Agents, they are the interface to 3rd party APIs and service protocols. OpenRemote has many built-in protocols and it's easy to create new adapters. Co-locate your agents with the manager or install agents on Edge gateways, close to devices.
The manager provides APIs for monitoring and administrating the system:
- JAX-RS based HTTP API
- Websockets event API
- MQTT event API
The OpenRemote Frontend simplifies the creation and deployment of user interfaces such as:
- Multi tenancy monitoring dashboard
- Home automation control panel
- Smart city monitoring dashboard
We support the latest HTML standards and provide web components to build applications quickly, utilising the OpenRemote asset model and APIs: you can easily show all your assets on a map, for example. Full web applications are also bundled with OpenRemote, these can be used as templates for building custom web applications.
The OpenRemote Consoles are native mobile applications (iOS and Android) that act as a shell for web applications built with the OpenRemote web components; a web browser is also considered to be a console and we automatically integrate native console features like push notifications and geo-fencing on each platform. If you have an existing website, add OpenRemote web components and wrap it in the OpenRemote console to connect your mobile users to your IoT network.
Security is paramount when it comes to IoT and out of the box the manager integrates with Keycloak to provide industry standard multi-tenant authentication; out of the box we also provide TLS/SSL when using our HAProxy-based reverse proxy.
We rely on PostgreSQL and its GIS and JSON extensions to provide a stable asset database management system.