hotloop
GitHub
HotLoop Edge4.18.10 is out

IoT, plus everything that lives next to a machine.

Ignition Edge had the right idea, and this is ours. Everything in HotLoop IoT, plus store-and-forward to whatever sits upstream and an OPC UA server. The upshot: the machine keeps running its screens and its logic when the network doesn't, and the SCADA you already paid for can still read it.

HotLoop Edge 4.18.10 is out. It's the first release of Edge, and it ships beside IoT, the Gateway and the Edge Relay from the same tag.

The image is ghcr.io/hotloop-io/hotloop-edge:4.18.10 for amd64, arm64 and arm/v7, about 34 MB on arm, and it pulls with no login. The chart is hotloop-edge from https://hotloop.io/hotloop. If the box only has to poll and forward, the Edge Relay is the smaller one.

What it is for

A box at the machine that keeps working when the network doesn't.

The operator's screen runs against the box on the machine, not a server three buildings away. When the uplink drops, readings buffer and replay in order, flagged historical, when it comes back. The alarm still raises, the rule still runs, the panel still answers. A backhoe through the fiber is an IT ticket, not a line down. A hard kill with the link up loses what was in memory, about one poll, and the docs say so.

The database

SQLite, PostgreSQL or TimescaleDB.

Picked by a setting, same image. TimescaleDB when the box keeps real history, SQLite when it's a small PC with a small disk. Moving up to the Gateway is designed to keep your data and your config, so the box you start with isn't a dead end.

What Edge adds to IoT

What Edge adds, and where each piece stands.

"In 4.18.10" means it ships in the published release. "Works on paper" means the path exists and nobody has pointed it at the real thing yet, so your first one is a test, not an install. "Not built yet" means exactly that. Everything in IoT comes along too.

  • Store-and-forward

    In 4.18.10

    Publishes upstream as a Sparkplug B edge node. When the link drops it buffers and replays in order, flagged historical, so the historian upstream has no hole in it. Off until you switch edge publishing on.

  • Runs with the WAN dead

    In 4.18.10

    A real Edge was booted with its uplink pointed at a link that eats every packet, and the screen, a write, a script, a recipe, an automation and an alarm all worked. A box rebooted mid-outage used to crash-loop. The queue is memory first and disk only when the broker stops confirming, replays oldest first, and is capped at 64 MiB by default.

  • OPC UA server

    In 4.18.10

    Read-only and secured, and Ignition 8.3.9 reads it end to end. The SCADA you already own sees every tag without a new driver. Off until you switch it on.

  • Panel mode

    In 4.18.10

    A dashboard bound to a physical screen opens full bleed at /?screen=name, with no header, no tabs and bigger touch targets, and it works against the box with the uplink down. That comes with the dashboards, so IoT and the Gateway have it too. It is not something only Edge has.

  • HMI symbols, faceplates and PIN sign-in

    Not built yet

    The ISA-101 symbol library, the motor and valve faceplates and PIN sign-in for shared panels. None of it is built.

HMI, what is built and what is the plan

One UI, not two.

HMI screens aren't a second front end bolted on the side. They're the dashboards IoT gets, bound to a physical screen, and that part is out, in every product with a UI. The symbol library and faceplates below are the plan, and the Edge HMI work that is still ahead. Same bindings, same write gate. Two UIs means two sets of bugs and two places to forget a permission check, and we're not signing up for that.

A canvas that never reflows

A fixed screen that scales and never shuffles things around, because an operator's thumb goes to where the pump was yesterday, and it better still be there.

ISA-101 by default

Gray backgrounds, color only for abnormal, alarm priority by shape as well as color. When the screen is gray, the one red thing gets seen.

Faceplates

Click a motor and get its popup: start, stop, reset, mode, speed, its interlocks and its alarms, built from the motor entity that already exists.

Panel mode

Open the box at /?screen=name and the dashboard bound to that name fills the panel: no header, big touch targets, and it works with the uplink down.

A person behind every write

On your own computer you're already signed in. A shared panel signs operators in with a PIN or a badge, so the audit names a human, not "panel 3".

What is not built

The ISA-101 symbol library, the faceplates and the PIN sign-in for shared panels are design. Dashboards, which they build on, are in 4.18.10, and this page will say when these move.

The full detail behind these cards

ISA-101 by default

Gray backgrounds, color only for abnormal, alarm priority by shape as well as color. When the whole screen is gray, the one red thing gets seen. No 3D gradients on the tank.

Panel mode

Open the box at /?screen=name and the dashboard bound to that name fills the panel with no header, no tabs and big touch targets. It works against the box itself with the uplink down. Panel mode drops the header, so the alarm list on a panel is an alarms card on its dashboard.

A person behind every write

On your own computer you're already signed in. A shared panel signs operators in with a PIN or a badge and signs them out when idle, so the audit names a human, not "panel 3".

Install

Helm on a cluster, Quadlet on a box.

One chart repository holds all four charts. Call the release hotloop whichever product it is, so the box can move up to the Gateway later without renaming a volume.

Helm

helm repo add hotloop https://hotloop.io/hotloop
helm repo update
helm install hotloop hotloop/hotloop-edge --version 4.18.10 \
  --namespace hotloop --create-namespace

The chart runs TimescaleDB by default and keeps 90 days of history. database.type also takes postgresql and sqlite. Store-and-forward is the Sparkplug B edge publishing block in the chart values, and its queue is capped at 64 MiB by default.

Quadlet

For a box outside any cluster. The Edge units are under deploy/quadlet/edge/ in the hotloop repository, with deploy/quadlet/edge/sqlite/ for a database that is a file. That repository is private for now, so the Quadlet install guide is where to read how they work. They need Podman 5.0 or newer.

The app follows :stable and rolls back a release that can't start.

Not proven yet

What we haven't run, so you don't find out at commissioning.

The Quadlet units under systemd

The Gateway's units were run rootless under systemd. Edge's were generated from them and checked, not started. A real Pi under systemd as root: not yet.

The 32-bit arm image

The arm/v7 image is built and published. It hasn't met a Pi 3 under load yet.

Moving up a product on a cluster

IoT to Edge to the Gateway on one database volume has been run on Quadlet. As a helm upgrade on a real cluster, and going back down, it has not.

The full detail behind these cards

The Quadlet units under systemd

The Gateway's units were run rootless under systemd, including an update that can't start and gets rolled back. Edge's were generated from them and checked against them, and not started. A real Pi under systemd as root: not yet.

Moving up a product on a cluster

IoT to Edge to the Gateway on one database volume has been run on Quadlet. The same move as a helm upgrade on a real cluster, and going back down, has not.

Licensing

Free, with no license key.

Edge is under the HotLoop Business Source License 1.1, like the rest of the lineup. Home and lab use is free. Business use is free through EmberNET. Edge isn't a paid tier of anything, because there is no paid tier to be one of.

Read the license