Zum Hauptinhalt springen

Cockpit-Datenmodus in Produktion (Render)

Checkliste für den Dashboard-Service mallos-dashboard auf Render (dashboard.cockpit-os.de) — Sales-Demos vs. echte Live-Integrationen.

Grundregel

SzenarioCOCKPIT_DATA_MODEErwartung
Sales-Demo (volle Cockpits ohne Partner)simulatorFootfall, Parking, Signage, Revenue, Expenses, Energy liefern Demo-Daten
Produktion / Pilot ohne SimulatoroffNur echte Quellen oder leere KPIs mit Setup-Hinweis
Strikt nur LiveliveWie off, kein Simulator-Fallback

Live hat immer Vorrang: Ist z. B. Parking in der DB belegt oder Umami konfiguriert, werden diese Daten genutzt — unabhängig vom Modus.

UI-Toggle: Footfall-Seite → Cockpit-Datenmodus (DataSimulatorSettings). Env COCKPIT_DATA_MODE überschreibt den globalen DB-Default; pro-Domäne-Overrides (z. B. Footfall Simulator, Revenue aus) bleiben in der DB editierbar.

PATCH /api/system/data-mode Body-Beispiel:

{
"domains": {
"revenue": "off",
"footfall": null
}
}

null entfernt den Override (Domäne folgt wieder dem globalen Modus).

Env-Checkliste (Render → mallos-dashboard)

Pflicht / häufig

VariableZweck
DATABASE_URLShadow-/Produktions-DB
COCKPIT_DATA_MODEsimulator für Demos, off für „nur echt“

Website (kein Simulator)

VariableZweck
UMAMI_PASSWORDServer-seitige Umami-Abfragen (Website + Companion)

Center: umamiWebsiteId in der Center-Konfiguration.

Domänen mit optionalem Live-Adapter

Partner-APIs sind vorbereitet (fetchLive*()); ohne Spec liefern sie null → Simulator oder leer.

DomäneEnv (Auszug)
FootfallFOOTFALL_PROVIDER, FOOTFALL_API_BASE_URL, FOOTFALL_API_KEY
SignageSIGNAGE_API_BASE_URL, SIGNAGE_API_KEYProduktion ohne URL: keine localhost-Fallbacks
RevenueREVENUE_PROVIDER, REVENUE_API_BASE_URL, REVENUE_API_KEY
ExpensesEXPENSES_PROVIDER, EXPENSES_API_BASE_URL, EXPENSES_API_KEY
EnergyENERGY_PROVIDER, ENERGY_API_BASE_URL, ENERGY_API_KEY

Parking und Property nutzen DB-Daten (ParkingZone, Flächen) — keine separaten Env-Keys.

Vollständige Liste: apps/dashboard/.env.example

Empfohlene Demo-Konfiguration

COCKPIT_DATA_MODE=simulator
UMAMI_PASSWORD=<secret>
# SIGNAGE_API_BASE_URL nur setzen, wenn Signage-Service live ist
  • HQ, Finance, Data-Business zeigen konsistente Demo-Streams (Revenue, Expenses, Energy).
  • Website-KPIs nur mit echtem Demo-Center + Umami — nicht simuliert.

Empfohlene Produktions-Konfiguration (ohne Demo-Zahlen)

COCKPIT_DATA_MODE=off
SIGNAGE_API_BASE_URL=https://<signage-service>/api
UMAMI_PASSWORD=<secret>
# Partner-APIs nach Spec ergänzen

UI zeigt dann „Keine Daten“ / Setup-Hinweise statt erfundener Werte.

Verifikation nach Deploy

  1. Footfall-Seite — Datenmodus-Badge und Toggle prüfen.
  2. HQ-Cockpit — Footfall, Revenue, Auslastung, Energieeffizienz: Quelle-Badge (live / simulator / leer).
  3. Data-Business — Footfall, Revenue, Expenses, Energy (*StreamStatus), Parking wie konfiguriert; pro Domäne Overrides in den Datenmodus-Einstellungen testen.
  4. Digital Signage → Analytics — bei fehlender API: Companion-Umami oder Hinweis, kein stiller localhost-Fallback in Prod.

Verwandt

Nutzungsstatistik: Seitenaufrufe werden anonymisiert erfasst. Im Umami-Dashboard nach diesem Pfad filtern: /developer-guide/cockpit-data-mode-production