Skip to content

Runtime schema

ODEvice sends a renderer-neutral schema from the Python runtime to the shared Web and Mobile clients.

Principles

  • Stable IDs identify entities, properties, pages, sections, and widgets.
  • Semantic types express meaning, not framework components.
  • Presentation hints remain renderer-safe; they never include pixel or icon-library implementation details.
  • Developer defaults are kept separate from per-user layout overlays.

Simplified example

json
{
  "id": "reports",
  "title": "Reports",
  "sections": [
    {
      "id": "reports-s0",
      "title": "Pump performance",
      "items": [
        {
          "id": "reports-s0-pump-01-pressure",
          "entity": "pump-01",
          "property": "pressure"
        }
      ]
    }
  ]
}

The renderer chooses the exact component and spacing from its local design system. Read Presentation and Pages & sections for the full contract.

Built for self-hosted IoT runtimes.