Moin,
ich bin gerade dabei OpenEms auf meine Pi zu installieren. Ich richte mich nach der Anleitung die dafür hierfür hochgeladen worden ist.
beim bauen der UI bekomme ich folgenden Fehler.
Ich kann leider nix damit anfangen und hoffe das mir geholfen werden kann.
Befehl
/openems/ui : ng build -c “openems,openems-edge-prod,prod”
Browser application bundle generation complete.
Copying assets complete.
⠋ Generating index html…11 rules skipped due to selector errors:
:host-context([dir=rtl]) .ion-float-start → subselects_1.subselects[name] is not a function
:host-context([dir=rtl]) .ion-float-end → subselects_1.subselects[name] is not a function
:host-context([dir=rtl]) .ion-float-sm-start → subselects_1.subselects[name] is not a function
:host-context([dir=rtl]) .ion-float-sm-end → subselects_1.subselects[name] is not a function
:host-context([dir=rtl]) .ion-float-md-start → subselects_1.subselects[name] is not a function
:host-context([dir=rtl]) .ion-float-md-end → subselects_1.subselects[name] is not a function
:host-context([dir=rtl]) .ion-float-lg-start → subselects_1.subselects[name] is not a function
:host-context([dir=rtl]) .ion-float-lg-end → subselects_1.subselects[name] is not a function
:host-context([dir=rtl]) .ion-float-xl-start → subselects_1.subselects[name] is not a function
:host-context([dir=rtl]) .ion-float-xl-end → subselects_1.subselects[name] is not a function
formly-field-ion-select ion-select::part(text) → Pseudo-elements are not supported by css-select
Index html generation complete.
Die Fehlermeldungen ... is not a function sind nicht kritisch und kommen auch bei unseren Builds (im Continuous Integration) aktuell. Am Ende sieht es aber so aus, als wäre alles richtig gebaut.
Sicher, dass die kompilierten Dateien nicht im ui/target-Ordner liegen?
Hallo,
ok gut zu wissen das diese Fehlermeldung kein Problem darstellt. Die Datein sind auch auf in dem target Ordner zu finden. Ich bin halt gerade auf der suche danach warum mein Ui im Browser nicht startet. Dort bekomme ich die Fehlermeldung 404 Websocket Upgrade Failure mit dem error code 1003.
Deswegen hatte ich gedacht das es daran liegen könnte.
die NGINX-Konfiguration ist fast identisch zu der, die wir am FEMS verwenden. Allerdings muss auch das UI so kompiliert werden, dass es die Websocket-Verbindung unter http://IP/websocket sucht.
Im Standard, damit das UI lokal am Entwicklerrechner funktioniert und keinen NGINX-Proxy braucht, ist der Pfad:
Moin Stefan,
danke für die hilfe. Dadurch das ich ganz neu auf in dem Fach bin stellen sich mir einige fragen.
In der Zweiten Zeile haben sie mir ein Beispiel gegeben wie ich den proxxy pass einzustellen habe. ich jetzt so interpretiert das ich ws://127.0.0.1:8075/websocket eingebe.
Nur leider funktioniert das nicht.
mit freundlichen grüßen
Markus
Nein, 8085 hätte schon gepasst. Das ist der Standard-Port des Controller Api Websocket (siehe Getting Started)
Das Ganze funktioniert ja so: (Beispiel der Pi hat die IP 192.168.1.10)
Client-Webbrowser öffnet http://192.168.1.10:80/
1.1 NGINX nimmt diese Anfrage und gibt gemäß location die index.html unter /usr/share/openems/www zurück.
OpenEMS UI stellt eine Websocket-Verbindung her. (Die URL dieser Verbindung wurde beim Kompilieren aus einer Environment-Datei genommen - siehe oben. Im Original ist das ws://192.168.1.10:8075; nach der vorgeschlagenen Änderung wäre es ws://192.168.1.10/websocket.
2.1 NGINX nimmt diese Anfrage unter der location /websocket und leitet sie als Websocket-Verbindung an den Port 8085 weiter
2.2 An Port 8085 wartet der Controller Api Websocket von OpenEMS Edge
Ist das so klarer?
Im Prinzip sollte also die NGINX-Datei passen, aber die Date edge-prod.ts muss wie oben angegeben angepasst werden. Eine Suche nach NGINX im Forum bringt dazu auch ein paar Beispiele.
Moin,
ich habe openems-backend.jar, openems.jar auf meinem Laptop unter Windows 11 gebaut. Im Anschluss unter angular die openems-edge-UI gebaut auch auf meinem Laptop. Mit Hilfe der Anleitung “deployment” aus dem Forum den Rasberry vorbereitet und entsprechend der Beschreibung aus den Openems Docs die jar datein auf den Rasberry kopiert. Nach dem start der services konnte der Apache Felix web Console Configuration unter der IP:8080/system/console/configMgr von meinem Laptop aus im Browser aufgerufen werden. Bei dem versuch die UI im Browser auf meinem Laptop aus zu starten mit der IP:80 erscheint die Meldung Verbindung wird aufgebaut.