Skip to content

Updates of Tutorials and adding new ones#160

Open
pierrekil wants to merge 42 commits into
mainfrom
pierrekil-patch-1
Open

Updates of Tutorials and adding new ones#160
pierrekil wants to merge 42 commits into
mainfrom
pierrekil-patch-1

Conversation

@pierrekil

Copy link
Copy Markdown
Member

No description provided.

pierrekil added 25 commits June 8, 2026 17:00
Removed unnecessary tip and caution formatting from the tutorial.
Added prerequisites and steps for creating a flow rule to convert Celsius to Fahrenheit.
Clarified the tutorial introduction for better understanding.
Added tips, notes, and cautions to enhance tutorial clarity.
Updated tutorial structure and content for clarity and organization.
Added sidebar position and improved tutorial content for clarity.
Updated tutorial to clarify the role of OpenRemote as a gateway for Modbus devices and improved formatting with tips and notes.
Added next steps for deploying a local edge gateway.
Updated section headers to include step numbers for better organization.
Updated tutorial steps for clarity and consistency in formatting.
Updated tutorial to include sidebar position and refined title.
Updated tutorial to include sidebar position and enhanced content on OTA firmware updates with Eclipse hawkBit.
@pierrekil pierrekil requested a review from wborn June 9, 2026 08:01
@wborn wborn requested a review from Copilot June 9, 2026 08:02

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands and reorganizes the Tutorials section by adding several new end-to-end guides (multi-tenancy/white-labeling, enterprise identity, auto-provisioning, Modbus, OTA updates) and adjusting tutorial ordering via sidebar_position updates.

Changes:

  • Added new tutorials covering white-label multi-tenancy, enterprise identity (SSO/RBAC), device auto-provisioning, Modbus connectivity, and OTA firmware updates (hawkBit).
  • Refreshed existing tutorials to use clearer step-based headings and updated the weather tutorial intro to mention the dedicated OpenWeatherMap Agent.
  • Reordered tutorials in the sidebar by updating sidebar_position values.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
docs/tutorials/white-label-multi-tenant-iot-platform.md New tutorial on realms-based multi-tenancy and per-tenant branding.
docs/tutorials/open-weather-api-using-http-agent.md Updated title/intro and added note pointing to the dedicated OpenWeatherMap Agent; sidebar reorder.
docs/tutorials/connect-your-mqtt-client.md Converted headings to step-based structure; sidebar reorder.
docs/tutorials/receive-lorawan-sensor-data-from-chirpstack.md Sidebar reorder only.
docs/tutorials/simulating-data-in-attribute.md Sidebar reorder only.
docs/tutorials/change-celsius-to-fahrenheit-with-flow.md Added prerequisites + step structure; sidebar reorder.
docs/tutorials/configure-mobile-app-behaviour.md Step-based headings; sidebar reorder.
docs/tutorials/connect-modbus-devices.md New tutorial for Modbus TCP/RTU connectivity via Modbus agent.
docs/tutorials/enterprise-identity-sso-rbac.md New tutorial covering SSO/OIDC, RBAC, restricted users, and service users.
docs/tutorials/auto-provision-devices-at-scale.md New tutorial describing X.509-based auto-provisioning at scale.
docs/tutorials/ota-firmware-updates-with-hawkbit.md New tutorial explaining hawkBit-based OTA rollout workflow.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docs/tutorials/open-weather-api-using-http-agent.md Outdated
Comment thread docs/tutorials/auto-provision-devices-at-scale.md
Comment thread docs/tutorials/connect-modbus-devices.md
Comment thread docs/tutorials/ota-firmware-updates-with-hawkbit.md Outdated
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 12 changed files in this pull request and generated 5 comments.

Comment thread docs/tutorials/edge-gateway-secure-tunnel.md Outdated
Comment thread docs/tutorials/white-label-multi-tenant-iot-platform.md
Comment thread docs/tutorials/open-weather-api-using-http-agent.md Outdated
Comment thread docs/tutorials/connect-your-mqtt-client.md Outdated
Comment thread docs/tutorials/connect-your-mqtt-client.md Outdated
pierrekil and others added 5 commits June 9, 2026 12:07
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
1. Switch to the realm you want to brand (realm picker, top-right).
2. Go to **Settings → Appearance**.
3. Upload your **logo**, **mobile logo** and **favicon**, set the **app title** (e.g. `ACME IoT`), and configure the colour variables to match your brand.
4. Configure map defaults, navigation items and default language for that realm.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Users might clicking the "Save" button to persist the changes.

3. Upload your **logo**, **mobile logo** and **favicon**, set the **app title** (e.g. `ACME IoT`), and configure the colour variables to match your brand.
4. Configure map defaults, navigation items and default language for that realm.

For a fully reproducible, version-controlled setup, define the same values in a `manager_config.json` instead:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would help to tell users where this file is located.


## Step 3 — Serve each tenant on its own domain (optional)

Point your customer's domain (e.g. `iot.acme.com`) at the Docker host running the OpenRemote stack and set the `OR_HOSTNAME`/proxy configuration. The built-in HAProxy-based reverse proxy provisions TLS/SSL automatically (Let's Encrypt), so each branded tenant is served securely over HTTPS without extra tooling.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the realm query parameter always needs to be specified in the URL to be able to login to.

To be able to use different hostnames per customers you'd also need to configure this in Keycloak (Valid redirect URIs) and set OR_ADDITIONAL_HOSTNAMES in the manager environment variables.


## Prerequisites

- A running OpenRemote instance — see the [Quick Start](https://docs.openremote.io/docs/quick-start).

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use relative URLs instead of docs.openremote.io so links keep working if you run the docs locally or browse them on GitHub. This will also make sure links point to the page within the same version instead of the latest version (where the page may no longer exist).

This is also an issue with all the other links added in this PR.

Suggested change
- A running OpenRemote instance — see the [Quick Start](https://docs.openremote.io/docs/quick-start).
- A running OpenRemote instance — see the [Quick Start](../quick-start).


## Step 1 — Create a Modbus agent

1. On the **Assets** page, click **+** and add a **Modbus TCP Agent** (or **Modbus RTU Agent**).

@wborn wborn Jun 9, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are the "Modbus serial agent" and "Modbus tcp agent". The "Modbus RTU Agent" does not exist.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants