Skip to content

Display im Secondary-Modus navigiert nach http://null (parent_ip nicht gesetzt), local-Modus nicht implementiert #3861

Description

@floxius3d

Umgebung

  • Gerät: openWB Pro+
  • Software: 2.2.2, Branch Release
  • Betriebsart: Secondary (openWB/general/extern = true)
  • Steuerung: EVCC (v0.314.2) über die Pro+-HTTP-API (Port 8080, /connect.php)

Problem

Die Pro+ wird als Secondary betrieben und von EVCC geregelt — eine verbreitete Konstellation, wenn Tarifoptimierung oder ein übergreifendes Energiemanagement genutzt wird. Es existiert dabei keine primäre openWB, weil EVCC diese Rolle übernimmt.

Das integrierte Display zeigt daher dauerhaft eine Browser-Fehlerseite:

Die Website ist nicht erreichbar
Prüfe, ob „null" einen Tippfehler enthält.
DNS_PROBE_FINISHED_NXDOMAIN

Ursache

In openWB/web/display/processAllMqttMsg.js:

host = data["openWB/internal_chargepoint/global_data"]["parent_ip"];
// ...
destination = `${location.protocol}//${host}/openWB/web/display/?${query.toString()}`;
location.href = destination;

Da keine primäre openWB existiert, ist parent_ip = null. Der Wert wird ungeprüft als Host eingesetzt — das Display navigiert wörtlich nach http://null/....

Der eigentlich passende Modus ist im selben Code nicht implementiert:

case "local":
    // host = location.host;
    // ...
    // ToDo, fallback to primary
    addLog("Local display in secondary mode not yet supported! fallback to primary display");

openWB/general/extern_display_mode steht folglich auf "primary" und läuft ins Leere.

Geprüfte Workarounds (alle nicht tragfähig)

  1. extern_display_mode = "local" setzen — greift nicht, da nicht implementiert (Fallback auf primary).
  2. parent_ip per MQTT auf einen eigenen Redirect-Webserver zeigen lassen — der interne Chargepoint-Prozess überschreibt openWB/internal_chargepoint/global_data im Sekundentakt (Heartbeat) und setzt parent_ip wieder auf null. Getestet: der gesetzte Wert war nach ~25 s wieder verworfen. Permanentes Nachsetzen würde nur ein flackerndes Display erzeugen.
  3. Display-Theme mit konfigurierbarer URL — nicht vorhanden; verfügbar sind nur cards und colors, beide ohne URL-Option. Im Secondary-Modus wird das Theme zudem von der (nicht existenten) primären Instanz geholt.

Als Notlösung bleibt aktuell nur, das Display komplett zu deaktivieren (openWB/optional/int_display/active = false) — bei einem Gerät mit verbautem Display unbefriedigend.

Vorschläge (nach Aufwand sortiert)

  1. Kurzfristig – Fehlerbehandlung: Wenn parent_ip leer/null ist, keine Navigation zu http://null auslösen, sondern einen verständlichen Hinweis anzeigen (z. B. „Keine primäre openWB konfiguriert"). Das verhindert zumindest die kryptische Browser-Fehlerseite.
  2. Mittelfristig – local-Modus implementieren: Den vorhandenen case "local" funktionsfähig machen, sodass eine Secondary-Instanz ihre eigene Ladepunkt-Ansicht anzeigt.
  3. Wunsch – freie Display-URL: Eine konfigurierbare Ziel-URL für das Display (Kiosk-Modus). Damit ließe sich die Oberfläche des tatsächlich regelnden Systems anzeigen — hier EVCC, bei anderen Home Assistant o. ä. Dürfte alle Nutzer betreffen, die eine Pro/Pro+ unter Fremdsteuerung betreiben.

Vielen Dank für die Prüfung!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions