PWA prototype

BB-Tank Dashboard

Remote dashboard

One dashboard for tanks now, delegated access later.

The prototype uses the BB-Tank /api/tank/ui-state and /api/tank/ui-config contract, and adds a device-scoped warm-up flow that returns a cached PWA association and WSS relay bundle from the device.

The device pre-warms relay credentials first, then the PWA association if needed.

Connecting
SSE stream
No data yet
BB-Tank

Overview

Configured tanks

Tap a tank card to focus the detail view.

Detail

Tank detail

Waiting
Tank Select a tank
--%
--

Spirit level

Camper frame attitude

Roll --.-°
Pitch --.-°
State offline

Setup

Tank identity and calibration

Saved back to the same `ui-config` payload.

Advanced

Transport and raw state

Useful while the device bridge and WSS relay flow are being wired up.

Connection model

The prototype prefers SSE, falls back to polling, and keeps the device bridge visible for provisioning only.

  • Stream/api/tank/ui-stream
  • State/api/tank/ui-state
  • Config/api/tank/ui-config

Raw snapshot

Inspect the live JSON payload
{}

BB-Display preview

Future layout stub for the same broker-backed data model.

BB-Display
Primary tank --
Attitude --.-° / --.-°

Remote provisioning

Device association bridge

The device pre-warms its provisioning record on STA/IP, stores it in NVS, and relays the cached WSS bundle back to the PWA.

Device ID --
Provisioning state Idle
Association --
Status No association loaded
Requested scopes

    The PWA only receives the device-scoped WSS bundle; it does not choose the provisioning server.

    No remote association loaded.