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)
extern_display_mode = "local" setzen — greift nicht, da nicht implementiert (Fallback auf primary).
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.
- 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)
- 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.
- Mittelfristig –
local-Modus implementieren: Den vorhandenen case "local" funktionsfähig machen, sodass eine Secondary-Instanz ihre eigene Ladepunkt-Ansicht anzeigt.
- 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!
Umgebung
ReleaseopenWB/general/extern = true)/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:
Ursache
In
openWB/web/display/processAllMqttMsg.js:Da keine primäre openWB existiert, ist
parent_ip = null. Der Wert wird ungeprüft als Host eingesetzt — das Display navigiert wörtlich nachhttp://null/....Der eigentlich passende Modus ist im selben Code nicht implementiert:
openWB/general/extern_display_modesteht folglich auf"primary"und läuft ins Leere.Geprüfte Workarounds (alle nicht tragfähig)
extern_display_mode = "local"setzen — greift nicht, da nicht implementiert (Fallback aufprimary).parent_ipper MQTT auf einen eigenen Redirect-Webserver zeigen lassen — der interne Chargepoint-Prozess überschreibtopenWB/internal_chargepoint/global_dataim Sekundentakt (Heartbeat) und setztparent_ipwieder aufnull. Getestet: der gesetzte Wert war nach ~25 s wieder verworfen. Permanentes Nachsetzen würde nur ein flackerndes Display erzeugen.cardsundcolors, 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)
parent_ipleer/nullist, keine Navigation zuhttp://nullauslösen, sondern einen verständlichen Hinweis anzeigen (z. B. „Keine primäre openWB konfiguriert"). Das verhindert zumindest die kryptische Browser-Fehlerseite.local-Modus implementieren: Den vorhandenencase "local"funktionsfähig machen, sodass eine Secondary-Instanz ihre eigene Ladepunkt-Ansicht anzeigt.Vielen Dank für die Prüfung!