Skip to content

Fehlersuche

Diese Seite sammelt typische Fehlerbilder und ihre Ursachen.

"Nur https:// oder http://192.168.x.x sind erlaubt."

Ursache:

  • eine URL verletzt die Laufzeit-URL-Policy

Prüfen:

  • nutzt der Endpoint https:// oder http://192.168...?
  • steckt die ungültige URL vielleicht in action.url, sharedStatusRequests, status.request oder einer Profil-URL?

"Die Konfiguration enthält keine Widgets."

Ursache:

  • widgets fehlt oder ist leer

Lösung:

  • mindestens ein Widget definieren

"Widget X braucht genau einen Status-Request: request oder sharedRequestId"

Ursache:

  • status.request und status.sharedRequestId sind beide leer oder beide gesetzt

Lösung:

  • genau eine Statusquelle definieren

"Unbekannter sharedRequestId"

Ursache:

  • das Widget verweist auf eine nicht existierende ID

Lösung:

  • defaults.sharedStatusRequests[].id und widgets[].status.sharedRequestId abgleichen

"Slider-Binding key fehlt"

Ursache:

  • ein Binding mit target = "header" oder target = "query_param" verwendet keinen key

Lösung:

  • key setzen
  • path ist nur für json_body gedacht

Bild wird nicht angezeigt

Mögliche Ursachen:

  • der Endpoint liefert kein PNG
  • responseKind = "png" ist gesetzt, aber der Server liefert JSON
  • responseKind = "jpg" ist gesetzt, aber der Server liefert JSON
  • der Server antwortet mit Fehlerstatus

Prüfen:

  • Content-Type
  • echte PNG- oder JPEG-Signatur
  • Erreichbarkeit des Endpoints

Blanker Textwert wird nicht angezeigt

Mögliche Ursachen:

  • der Endpoint liefert keinen JSON-Body, sondern nur einen primitiven Wert wie on oder 23.5
  • responseKind steht noch auf json
  • im Widget wird ein Objektpfad statt des Root-Werts gelesen

Lösung:

  • responseKind = "text" setzen
  • bei title.value oder value.value mit mode = "path" den Pfad $ verwenden
  • alternativ im Template {{$}} nutzen

Widget ist ausgegraut

Ursache:

  • letzter Refresh oder letzte Aktion ist fehlgeschlagen

Hinweis:

  • das Widget bleibt absichtlich sichtbar
  • nur der Fehlerzustand wird markiert

Icon wird nicht wie erwartet eingefärbt

Mögliche Ursachen:

  • ein Emoji statt Material-Icon wird gerendert
  • icon.name fehlt oder ist unbekannt

Lösung:

  • icon.name aus der bekannten Registry verwenden
  • Emojis nur als bewussten Fallback einsetzen

Siehe auch:

Kein Icon sichtbar

Ursache:

  • content.icon ist gar nicht gesetzt
  • oder icon.name ist unbekannt und es gibt kein emoji

Hinweis:

  • die App rendert bewusst keinen impliziten Fallback

Falscher Text oder leerer Wert

Mögliche Ursachen:

  • JSON-Pfad falsch
  • Template enthält einen nicht vorhandenen Platzhalter
  • Backend liefert andere Feldnamen als erwartet

Lösung:

  • Pfade gegen die echte Antwort prüfen
  • fallback setzen

Tab-Reihenfolge oder Widget-Reihenfolge wirkt unerwartet

Wichtig zu wissen:

  • Tabs werden nach dashboard.tabs[].order, dann Titel, dann ID sortiert
  • Widgets und Gruppen im Tab werden nach order und danach stabil in Deklarationsreihenfolge sortiert
  • die konkrete Position im Grid hängt anschliessend von Grösse und freiem Platz ab

Nach Gerätedrehung sind Widgets an anderen Positionen

Das ist erwartetes Verhalten.

Grund:

  • im Quer- und Hochformat gelten unterschiedliche Spaltenzahlen
  • das Grid wird bei jeder Ausrichtung neu gepackt

Profildialog erscheint beim Start

Ursache:

  • gespeicherte URL zeigt auf eine index.json
  • aber es ist noch kein gültiges Profil gespeichert

Lösung:

  • ein Profil auswählen und bestätigen

Konfiguration aus lokaler Datei ignoriert vorherige URL

Das ist beabsichtigt.

Beim Dateimport:

  • wird die geladene Config gecacht
  • gespeicherte URL wird gelöscht
  • gespeicherte Profil-ID wird gelöscht

Wo weiter suchen