Install help

Troubleshooting for the one-line installer. If none of these fixes your case, email support@otonomo.be with the output of journalctl -u otonomo-publisher --no-pager | tail -50.

New here? Read the install guide first — it walks the full flow from sign-up through first telemetry. Come back here for specific errors.
What Linux works?

The one-liner is tested on Debian 12 / Ubuntu 22.04+ / Raspberry Pi OS Bookworm. These ship apt-get + systemd + Python 3.11 out of the box.

Hardware: any always-on Linux box with ≥512 MB RAM. We test on Raspberry Pi Zero 2 W and Pi 4. An old Intel NUC or laptop works too.

Cloud VPS: only works if every device you have is reachable via a vendor cloud API (Aquarea Smart Cloud, Easee Cloud, etc.). Anything Modbus / USB / local-MQTT requires a box on your LAN.

"only apt-based distros supported"

The v0.1 installer hard-codes apt-get. On Fedora / RHEL / Arch / NixOS / Alpine you need to install the deps manually first:

sudo dnf install python3 python3-pip mosquitto curl ca-certificates  # Fedora
sudo pacman -S python python-pip mosquitto curl ca-certificates       # Arch

Then re-run the one-liner — it skips its apt step automatically once it sees the binaries are already on PATH.

"activation token unknown or expired"

Your token TTL is 7 days from creation. If it expired or you copied a stale one, go back to /onboarding and click "Lost the one-liner? Reissue token" at the bottom. Your box-id stays the same.

"can't reach cloud at https://app.otonomo.be"

Your box can't reach app.otonomo.be over HTTPS. Check from the box:

curl -v https://app.otonomo.be/healthz

If that times out or fails: firewall blocking outbound 443, DNS issue, or no internet on the box. The activation handshake needs HTTPS out. Telemetry over MQTT/TLS uses port 8883; you'll need that open too.

Box phoned home but my local UI shows no data

Most common cause: no drivers configured yet. Open http://<your-box-ip>:8080/drivers and pick at least one driver that matches your hardware (Vaillant, SolarEdge, Daikin, etc.).

The local UI shows "waiting for first telemetry" until a driver actually publishes. Once the driver instance is saved and the publisher SIGHUPs, first samples appear within a minute.

"Local UI mode 'config' / 'off' — where do I see my data?"

Full — local dashboard at port 8080 + this cloud dashboard at app.otonomo.be.

Config only — drivers wizard at port 8080, charts in Home Assistant (LAN MQTT integration) or the cloud dashboard.

None — no port 8080 at all. Charts in the cloud dashboard or in HA. Edit /etc/otonomo/site_manifest.yaml to add drivers.

To switch modes, re-run the installer with OTONOMO_LOCAL_UI=full|config|off. Drivers + config + enrollment all survive.

Where are the logs?

Three systemd services. Tail any of them with journalctl:

journalctl -u otonomo-publisher -f       # driver → MQTT
journalctl -u otonomo-cmd-subscriber -f  # cloud → driver
journalctl -u otonomo-local-ui -f        # the dashboard

Config lives at /etc/otonomo/env (root-readable) and /etc/otonomo/site_manifest.yaml.

How do I uninstall?
sudo bash /opt/otonomo/uninstall.sh

Stops + disables the three services, removes /opt/otonomo/ and /etc/otonomo/, drops our mosquitto conf snippet. Leaves mosquitto itself in place (it might be yours). Your cloud-side data is untouched — request deletion at /account/data.

How do I stop just the cloud uplink (keep local running)?

Stop the publisher service. The local UI + drivers keep running; nothing leaves your LAN.

sudo systemctl stop otonomo-publisher
sudo systemctl disable otonomo-publisher

Re-enable any time with systemctl enable --now otonomo-publisher. A friendlier UI toggle ships in v0.2.