-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WS Socket und flot edit #122
Comments
Guten Morgen Ich habe das gleiche Problem mit Firefox. Ich habe mal etwas nachgeforscht und der Grund dafür ist, dass der Web-Adapter in der WS-Config (Datei /_socket/info.js) als socketUrl nur den Port zurückliefert (z.B. ":8084"). Der Flot-Adapter nimmt diese Info und gibt sie für den Verbindungsaufbau 1:1 als "URL" an socket.io.js weiter. Dort wird die "URL" an den Websocket-Constructor übergeben, der einen Fehler aufgrund einer ungültigen URL auslöst. socket.io.js funktioniert korrekt, wenn http(s) in der URL übergeben wird und ersetzt das durch ws oder wss. Ohne die Angabe eines Schemas allerdings geht das schief. Irgendwo zwischen Web-Adapter getInfoJS() / getSocketUrl() und Websocket-Konstruktor in socket.io.js muss also das Protokoll eingebaut werden. Ich würde dafür ja auch einen Pull-Request einstellen, allerdings sind die js-Dateien für mich nicht wirklich lesbar, daher leider keine Chance.. |
Ich bin nicht ganz sicher ... Vllt istes auch (glaube ich) das Flot einen eigenen Socket.io Client mitbringt und nicht den vom "server" lädt ... Wenn er das tun würde wäre alles ok. Jetzt aber so im code geschaut finde ich den nicht ... aber ob er vom server den richtigen bekommt weiss ich nicht .... Wenn flot den korrekten websocket client lädt sollte an sich alles tun. Also ja am Ende reden wir denke (wenn ich so nachdenken) vom gleichen ... vllt ists auch nur dieses "welche location ist korrekt": Ja ein PR wäre in jedem Fall cool |
Ich habe gerade nochmal in iobroker.socketio nachgesehen - dort wird die URL korrekt aufbereitet erwartet. In conn.js (welche die Anwendung demonstriert) ist genau der Fix aus dem PR enthalten. Man müsste also wenn dann die conn.js aus dem example-Ordner integrieren, was diverse größere Änderungen mit sich bringen würde. Einfach die "andere" socket.io.js verwenden reicht also nicht. Da finde ich den kleinen Dreizeiler aus dem PR eleganter. |
Wenn ein WSSocket in der Web Instanz eingetragen ist, funktioniert flot edit nicht mehr.
https://forum.iobroker.net/topic/58534/flot-geht-nicht-mehr-mit-8082-bei-ws-an?_=1664689258326
Lösung nur durch extra Instanz (ohne ws):
ioBroker/ioBroker.ws#14
The text was updated successfully, but these errors were encountered: