ioBroker / ioBroker.vis

Visualisation for ioBroker platform.
MIT License
304 stars 69 forks source link

The result of editing a VIS view or widget is not shown when this view is opened in 8082/vis/index.html -> "No Connection" / "Verbindungsfehler" #510

Open MichaelSchaaf999 opened 2 years ago

MichaelSchaaf999 commented 2 years ago

Describe the bug
My understanding is that editing in a browser's window is not written to the VIS in iOBroker.

To Reproduce
Steps to reproduce the behavior: Simple: Just editing a basic number leading HTML text (eg: From "This" to "That") is shown in the edition window but obviously not updated to the VIS iOBroker base. Opening this updated view in 8082/vis/index.html....... does not show the change, even after reloading this window, of course.

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots & Logfiles
Updates in the VIS-edit should be written to the base and should be shown in clients.

Versions:

Additional context
Even tried different browsers (Firefox, Safari, Chrome) and the behavior is identical. Even rebooted the Mac, of course. Even restarted the iOBroker.

What might this be, where can I start changing something in the environment?

MichaelSchaaf999 commented 2 years ago

p.s.: I just tried to enter "cmd-s" for save (never did that before and never had to do that before, just for testing purposes here and now) and get this message back:

image

@GermanBluefox: Anyone able to support this issue? @Apollon77 ?

grafik
micklafisch commented 2 years ago

same to me. I get this error after upgrade my container from Buanet version 5 to version 7 (node v16.15.1, npm 8.11.0, jscontroller 4.0.23) with the backup/restore method. Everything works fine without any erros in the log but i cant edit anything on my VIS projects.

micklafisch commented 2 years ago

this was the right hint for me: https://forum.iobroker.net/topic/55874/gel%C3%B6st-vis-kann-nicht-ge%C3%A4ndert-werden-verbindungsfehler/85 for me, everything is now fine.

MichaelSchaaf999 commented 2 years ago

This hint does not help me at all. What has been changed in the setup so that it does work? I cannot follow each and every single entry in that thread and jeopardize my installation here.

@GermanBluefox: Anyone able to support this issue? @Apollon77 ?

Anyone please can help with this issue?

MichaelSchaaf999 commented 2 years ago

I can't find the entry here that Catellanus posted, but I got the email notification from him as follows:

Castellanus notifications@github.com

Same problem here!

Node.js: v16.15.1 NPM: v8.11.0 Adapter version: 1.4.15 Plattform: linux x64

MichaelSchaaf999 commented 2 years ago

...so PLEEEEEASE can anyone be so kind and assign this issue to someone responsible asap? May be before Christmas?

GermanBluefox commented 2 years ago

@MichaelSchaaf999 there is only one Person responsible for it, it's me

MichaelSchaaf999 commented 2 years ago

Thanks a lot GermanBluefox.

Alex18081 commented 2 years ago

Thanks a lot GermanBluefox.

Has the problem been fixed? Got the same error.

MichaelSchaaf999 commented 2 years ago

@Alex18081 : No, this issue has not yet even been assigned to @GermanBluefox, it has not yet been fixed.

Alex18081 commented 2 years ago

@Alex18081 : No, this issue has not yet even been assigned to @GermanBluefox, it has not yet been fixed.

ok, thanks

Apollon77 commented 2 years ago

@MichaelSchaaf999 Assigned for your happeiness (not that it changes anything when the developer will have time to check it - especially because Bluefox already stated that he saw the topic)

MichaelSchaaf999 commented 2 years ago

No, the assignment is just the first normal reaction following an issue that has been opened: This does not make me and other users suffering from this weird behaviour happy, to be honest. Happiness: This will come all over us as soon as the issue will have been fixed. Bluefox already saw this topic? Well, yes, easy going. Step by step. Sounds to me like a doctor in an emergency room "well, yes, I have seen that bleeding patient and I will check him as soon as I have time to do so".

Well, we are not talking about a nice-to-have-feature here that for sure has no high priority. For a couple of users the VIS system is totally unusable, no changes and no enhancements possible. More to come, some might not even have noticed this.

What can we do to improve this process? Come to Karlsruhe and provide fresh coffee and or donuts? Or sign yet another service contract? Or pay the developer? Or migrate to Jarvis or Node-Red ior iQontrol or what is available in this world? Skip irony, sincere question: Was or is VIS not the right choice to develop and utilize GUIs with iOBroker? Just let us know.

Apollon77 commented 2 years ago

Do we really start such discussions now? Ok, here is my (completely personal!!) response to this (and we are 1000% offtopic for the issue)

1.) The developer decides which process he will do on GitHub. Especially for projects like vis which is currently mainly maintained by ONE developer assigning or labeling the issue will not lead to a bit transparency regarding the issue opener, but will not help in anything processwise for the developer beside "effort". So the reality is that the majority of "one developer adapters" will not use assignments to themself ... so yes you can "expect" this ... most likely your expectation will not be fullfilled

2.) Vis has >39k installations and the version you refer to is currently used by > 23k users on their systems. And here I see 3 users posting about an issue

This leads me to A) we as developers "expect" users to use the thumbs up on the first post to show "me too" on an issue ... noone did it ... so If I as a dev would sort issues by "number thumb ups" then this issue will be not really visible (as you see, we also do not get what we expect ;-) ) B) If I would be one of three users with this issue, but 23k users with this versionit would make me think to check out other stuff around and find ideas why I'm affected and not the others. Is web/socketio/ws (pot.) up to date? Is a downgrade working? All infos help the developer and might end up in a workaround for you

I will not give any comment to the sarcastic questions at the end of your post because i think this is a totally wrong direction for any constructive working together style

MichaelSchaaf999 commented 2 years ago

Confirmed: We are off topic. I'd say: 3000% off topic. Confirmed: We do not have to start such discussions now. We'll put it to an end now. Confirmed: The dev decides what he will do. Confirmed: For a one-dev-adapter the assignment does not make sense. If I had known that one-dev-situation before... but alas, too late. Confirmed: 23k VIS users, if you say so, and yes: 3 users posting an issue. Confirmed: 3 with issues out of 23k makes the 3 neglectable. Question is whether 22997 users are currently editing or not, but that remains to be seen. Confirmed: This situation would make you think to check out other stuff. And find ideas why... For this installation here we trust in the interoperability of adapters and the base. We can not test the whole system to find out why one adapter does not work. We trust in the developers to check their projects, if issues occur. Downgrades on spec are out of scope. Confirmed: All adapters seem up to date here because there are no warnings in the adapter list of iOBroker.

Alert: Make myself a mental note - try to strictly avoid one-developer-adapters. What if this dev is hit by a train? Alert: Check out other possibilitys for GUI development, check the one-dev-situation then first.

Confirmed: Stop developing plans for projects with VIS immediately.

Apollon77 commented 2 years ago

Hm ...very interesting conclusions. So I need to (sorry) add some comments on them:

I think you still did not understand the whole topic ... "one developer maintaining the adapter" means that in a normal case mainly one developer maintains and develop this adapter" and this is true (if you like to hear it or not) for 99,x% of the adapters. So if you do what you said you might can not do anything with your ioBroker anymore.

But glad we are an open source project, so this is not really that much of an issue in reality because the source code is publicly available. In such community driven projects several developers work together and alsocode is added by others (as you can see in the PullRequests here). And yes we make sure that for any adapter in the ioBroker Repo we can move over the development to an other developer and still publish new version if the main developer gets hit by bus or do not have time anymore. And for sure for the central projects more then one developer has access to the repository ... So this of your conclusion is simply not making any sense.

Furthermore please also consider that you decided to use an Community driven Open Source project where you pay nothing (!!) for this great software and the whole ioBroker system you use (excluding services that you might have purchased). So you should also have a role as Community member/user - and this is potentially to use a bit of your time to also support the developer - or you need to wait until he finds time.

Please read your text above again ... is that really honestly your expectations? You "can not check around in your system"? In fact yes you can! But you expect that the developer does that without having the issue in a first place at all ... Does that make sense? The same for that you tell that downgrades are no options? Indeed they are - unless you need the features in one of these last versions. So I take for me that it is not about "can not", but a clear "do not want to", so you limit yourself in finding workarounds and maybe get an working environment ... Ok that's completely your decision.

Honestly as my personal opinion: If you want to have SLAs or a premium support (this includes that the develoepr makes sure that all throusand of possible hardware, OS, platforms and adapterversion combinations work together and such) then you should consider an alternative system, where you can buy such support or pay money that you can (try to) tell the company that they must fix your issues. maybe this fits more to your expectations.

But coming back now to the initial question and maybe ways to find sources of the issue: Please add the following relevant information in order to allow the developer to have a chance to help you.

MichaelSchaaf999 commented 2 years ago
grafik grafik

Should the ws adapter not pop up here in the alphabetical sorted list between whatsapp and zoe2 ?

[Log] Error: 39 - @http://192.168.178.201:8082/lib/js/socket.io.js:6:13962 (conn.js, line 1256) [Log] Error: 40 - @http://192.168.178.201:8082/lib/js/socket.io.js:7:9601 (conn.js, line 1256) [Log] Error: 41 - @http://192.168.178.201:8082/lib/js/socket.io.js:7:9554 (conn.js, line 1256) [Log] Error: 42 - @http://192.168.178.201:8082/lib/js/socket.io.js:8:6380 (conn.js, line 1256) [Error] WebSocket connection to 'ws://192.168.178.201:8082/socket.io/?key=nokey&EIO=3&transport=websocket&sid=GYz51LM4lp1CIqvVAAKj' failed: The operation couldn’t be completed. (kNWErrorDomainPOSIX error 54 - Connection reset by peer) [Error] Socket error: Error: websocket error (anonyme Funktion) (conn.js:495) (anonyme Funktion) (socket.io.js:6:13963) (anonyme Funktion) (socket.io.js:8:8941) (anonyme Funktion) (socket.io.js:6:16994) (anonyme Funktion) (socket.io.js:6:19795) (anonyme Funktion) (socket.io.js:8:12161) (anonyme Funktion) (socket.io.js:6:13963) (anonyme Funktion) (socket.io.js:6:31655) (anonyme Funktion) (socket.io.js:6:26836) (anonyme Funktion) (socket.io.js:6:13963) (anonyme Funktion) (socket.io.js:7:8987) (anonyme Funktion) (socket.io.js:8:6428) [Error] Failed to load resource: the server responded with a status of 404 (Not Found) (icon_on.png, line 0) [Log] No connection! (conn.js, line 81) [Log] Trying connect... (conn.js, line 157) [Log] was offline for 10.413s (conn.js, line 281) [Log] 2022-07-08T08:47:10.920Z Connected => authenticate (conn.js, line 305) [Log] 2022-07-08T08:47:11.240Z Authenticated: true (conn.js, line 326) [Debug] Request all states. (vis.js, line 3700) [Log] Create inner vis object trashschedule.0.type.weihnachtsbäume.daysLeft (vis.js, line 3543) [Log] "Use background": {"en": "Use background", "de": "Use background", "ru": "Use background"}, (translate.js, line 20) [Log] "Änderungen": {"en": "Änderungen", "de": "Änderungen", "ru": "Änderungen"}, (translate.js, line 20) [Error] Failed to load resource: the server responded with a status of 404 (Not Found) (materialdesignicons.css.map, line 0) [Error] Failed to load resource: the server responded with a status of 404 (Not Found) (socket.io.js.map, line 0)

Apollon77 commented 2 years ago

That ws is not listed as instance is completely ok if you do not need it as a "webserver" ...all good here Please show the configuration of the Web adapter ... What is set there socket.io or ws? I assume socket.io.0 ? (because ther eis no ws instance) ... Please very my assumption. But also show if socket.io is extern or integrated used

MichaelSchaaf999 commented 2 years ago

Web adapter is this?

grafik

Your request "show if socket.io is extern or integrated used": Where can I see that pls?

MichaelSchaaf999 commented 2 years ago

By the way: All of a sudden I see in iOBroker left tree, that there are 3 adapters that ask for updates:

grafik

SHould I update? Or better not?

p.s.: If I come across such information, means: Adapters ask for updates, then I usually do so. And don't ask whether this is okay or not.

Apollon77 commented 2 years ago

Your request "show if socket.io is extern or integrated used": Where can I see that pls?

All good. not shown because you use the integrated socket.io ... YOu can try to untick that button in eb config and then select socket.io.0 and Try if this fixes your issue. Would be interesting to know.

Should I update? Or better not? These updates are from today ... I think these are not relevant for this issue

MichaelSchaaf999 commented 2 years ago

Done.

grafik

No change: Still connection error. Or should I restart the iOBroker?

Apollon77 commented 2 years ago

No a "hard reload" in browser should be enough to see if there is any change.

Is there anything in the ioBroker log when this issue happens?

MichaelSchaaf999 commented 2 years ago

These two lines, immediately after the ConnectionError showed:

socketio.0 | 2022-07-08 19:14:36.973 | info | ==> Connected system.user.admin from ::ffff:192.168.178.48 socketio.0 | 2022-07-08 19:14:26.904 | info | <== Disconnect system.user.admin from ::ffff:192.168.178.48 vis.0

And, yes, can be shown repeatedly. Dot48 is the Mac where this runs in Safari. Oh yes, there are more messages lateron, as the system keeps on running:

grafik

Dot218 is an AppleTablet where a kiosk runs that calls the system too.

lhoem commented 2 years ago

Hallo! Ich habe das gleiche Problem.... Am Mittwoch hat es noch funktioniert. Ich habe gestern Updates von socket.io und webserver eingespielt... Leider hat ein Downgrade auf die vorherigen Versionen auch nichts geändert... Immer wieder Verbindungsfehler im VIS Editor...

Viele Grüße Lothar

P.S.: Folgendes zeigt mein Log:

web.0 | 2022-07-09 13:26:13.190 | info | <== Disconnect system.user.admin from ::ffff:192.168.188.170 vis.0 web.0 | 2022-07-09 13:25:52.130 | warn | Alias alias.0.Test1.Gerät_1.SET has no target 12 web.0 | 2022-07-09 13:25:51.167 | info | ==> Connected system.user.admin from ::ffff:192.168.188.170 web.0 | 2022-07-09 13:25:41.144 | info | <== Disconnect system.user.admin from ::ffff:192.168.188.170 vis.0 web.0 | 2022-07-09 13:25:37.973 | warn | Alias alias.0.Test1.Gerät_1.SET has no target 12 web.0 | 2022-07-09 13:25:36.719 | info | ==> Connected system.user.admin from ::ffff:192.168.188.170
MichaelSchaaf999 commented 2 years ago

na guck, @Apollon77 , die Einschläge kommen näher. Ein weiterer Me-Too. Vielleicht erst die Spitze des Eisbergs.

Jack-RK-24 commented 2 years ago

Selbes Problem. Vis edit funktioniert nicht mehr, Editor zeigt die rote Box "Verbindungsfehler". Updates socketio, webserver etc. kamen heute morgen rein, ob das Problem vorher bereits bestand mag sein, seine Vis editiert man ja nicht unbedingt alle paar Tage. Bildschirmfoto vom 2022-07-09 15-23-12 Bildschirmfoto vom 2022-07-09 15-23-59

Apollon77 commented 2 years ago

@lhoem Welche versionen waren es vor dem update? Was danach?

Jack-RK-24 commented 2 years ago

Web (5.2.4), WS (2.1.3), socket.io (6.1.8) sind es seit dem update heute morgen. vis ist auf 1.4.15 vom April. Web nutzt das integrierte socket.io Unter welcher Vorgängerversion von Web/WS/socket das vorher noch lief kann ich nicht genau sagen, mein letzter export (via vis-menü) war jedoch am 23.6.22, und selbst bei der funktion meldet vis ja jetzt schon "Verbindungsfehler".

Jack-RK-24 commented 2 years ago

ALso, hab jetzt nochmal rumgespielt mit Vorgängeversionen etc. kein Erfolg, also alles wieder auf die aktuellen Beta-releases (s.o.) zurück gesetzt. Dann mit den Einstellungen im Web-Adapter "rumgespielt" und es läuft, sobald ich "Reine Web-Sockets (iobroker.ws) verwenden" einschalte. Settings bei denen es jetzt wieder läuft: Bildschirmfoto vom 2022-07-09 18-40-14

MichaelSchaaf999 commented 2 years ago

@Apollon77 : Soll ich das auch auf Verdacht versuchen, also die Einstellungen von @Jack-RK-24 ? So ohne Weiteres spielerisch Umstellen wollte ich eigentlich nicht. Was rätst Du?

lhoem commented 2 years ago

Also bei funktioniert es auch wieder mit den reinen Sockets.... Die Versionen waren die von Jack-RK-24 beschriebenen. Gruß Lothar

Alex18081 commented 2 years ago

ALso, hab jetzt nochmal rumgespielt mit Vorgängeversionen etc. kein Erfolg, also alles wieder auf die aktuellen Beta-releases (s.o.) zurück gesetzt. Dann mit den Einstellungen im Web-Adapter "rumgespielt" und es läuft, sobald ich "Reine Web-Sockets (iobroker.ws) verwenden" einschalte. Settings bei denen es jetzt wieder läuft: Bildschirmfoto vom 2022-07-09 18-40-14

Danke! Hat auch geholfen.

Apollon77 commented 2 years ago

@MichaelSchaaf999 Dadurc das Du das setting jederzeit direkt wieder zurückändern kannst ... low risk ...

MichaelSchaaf999 commented 2 years ago

Geändert wie vorgeschlagen. Funktioniert mit dieser Einstellung wieder wie vorher - alles bestens.

Danke!

Woran lag‘s?

Apollon77 commented 2 years ago

Das wird @GermanBluefox dann noch rausfinden müssen

schoebelh commented 2 years ago

Geändert wie vorgeschlagen. Funktioniert mit dieser Einstellung wieder wie vorher - alles bestens.

Danke!

Woran lag‘s?

Ich schließe mich an - gleicher Fehler (ReadOnly VIS), selbe "Lösung". Danke...!

Brainbug01 commented 2 years ago

Meine Geschichte ist im Forum. https://forum.iobroker.net/topic/55874/gel%C3%B6st-vis-kann-nicht-ge%C3%A4ndert-werden-verbindungsfehler

Von der latest bis stable Installation hatte ich alles durch bis das umstellen des WS geholfen hat.

MichaelSchaaf999 commented 2 years ago

Danke für die Info, @Brainbug01, den Thread hatte ich gefunden, aber sogleich bei der Textstelle "heute ca 10 Neuinstallationen..." wieder verlassen. Sorry: Mein Gedanke war gleich "das muss doch professioneller aufzuklären sein als durch ständiges Neuinstallieren und Probieren".

Open Source Project her oder hin: Aber dass Anwender da durch Herumspielen Lösungen suchen und finden müssen, ist nicht mein Verständnis von Open Source.

Christian-4711 commented 2 years ago

Hallo zusammen, ich hatte das "Verbindungsfehler"-Problem nach einem Restore meines iobrokers (ohne Versionsänderungen o.ä.). Mit dem Häkchen bei "Reine Websockets verwenden" funktioniert es bei mir natürlich auch wieder...was aber nicht mehr funktioniert, ist die Anzeige der VIS in der iobroker.vis App (Android Handy). Das Problem scheinen auch andere Nutzer zu haben: https://forum.iobroker.net/topic/55990/erledigt-keine-anzeige-der-projekte-in-visedit/7

Auch da ist die Rede von der Erstellung eines Issues, aber ich finde nirgendwo ein passendes. Vermutlich liegt´s an mir, aber ich habe mich auch gerade erst nur für diesen Kommentar hier bei github registriert :-)

Es geht mir nur darum, ob an der Sache gearbeitet wird oder nicht. Und dabei geht es mir übrigens auch nicht darum, wann das passiert oder wieviele Helden sich darum kümmern. Und das mit den "Helden" meine ich ernst, denn ich bin jedem einzelnen sehr dankbar, der vermutlich in seiner Freizeit solche Projekte/Adapter/... entwickelt und vorantreibt!

Viele Grüße, Christian

Apollon77 commented 2 years ago

Ja Sie ist bekannt und es wird daran gearbeitet - Bluefox ist aktuell aber im verdienten Urlaub.

EIn Workaround ist auch bereits beschrieben: Zweite Web instanz anlegen und dort websockets nutzen und editor darüber und andere webinstanz für die app

Christian-4711 commented 2 years ago

Super, danke!

kopierschnitte commented 2 years ago

Klinke mich hier auch ein, jedoch ist es hier etwas kritischer da sämtliche ws-Optionen bei mir leider gar nicht funktionieren. Bin also auf die "Non-WS"-Variante angewiesen...

Apollon77 commented 2 years ago

@kopierschnitte Was meinst Du mit "gar nucht funktionieren? Wenn es bei den anderen usern funktioniert warum sollte das bei dir dann nicht tun?

kopierschnitte commented 2 years ago

@Apollon77 Sorry, wollte damit sagen, dass bei mir die VIS bei Nutzung von WS nicht mehr startet (bleibt in der Zählschleife mit dem Kreis).

Update: Nutze jetzt die latest-Versionen vom Web-, Socket- und WS-Adapter. Damit klappt das Editieren (und Anzeigen) im WS-Modus.

Kusi-Schweiz commented 1 year ago

Mit "reine Web-Sockets verwenden" ist zwar auch bei mir der Fehler "Verbindungsfehler" im Vis-Editor weg, jedoch funktioniert die Visualisierung auf dem Android-Gerät mit der ioBroker-App im heimischen Netzwerk nicht mehr. Beim Start der ioBroker-App kommt der Zähler von 10 auf 0, und wiederholt sich immer wieder.

Im Browser wird die Visualisierung angezeigt, sowie auch in der ioBroker-App über die Cloud. Auf dem iPad im heimischen Netzwerk wird die Visualisierung jedoch angezeigt!

Apollon77 commented 1 year ago

This is exactly the issue: vis app only works with an web instance where "pure websockets" is disabled. We will clean that up

Kusi-Schweiz commented 1 year ago

@Apollon77 Danke

MichaelSchaaf999 commented 1 year ago

@Ingo: Vorab übrigens ein schönes Weihnachtsfest und einen guten Rutsch! Eine "staate Zeit" (ruhige Zeit) kann man ja in dem Job wohl eher nicht wünschen. Danke für die ständige Betreuung und die Geduld mit uns Usern und die adäquate Weiterentwicklung! Liebe Grüße M

p.s.: Wie schon oft gesagt... für das bedienerlose oder mindestens personalarme Betreiben eines Atomkraftwerks würde man diese Plattform vielleicht nicht unbedingt nehmen - aber für GLT Gebäudeleittechnik und sophisticated Smart- oder Intelligent-Home-Anwendung: Es gibt nichts Besseres!

image
Apollon77 commented 1 year ago

Danke!