Zefau / ioBroker.jarvis

jarvis - just another remarkable vis
https://forum.iobroker.net/topic/49776
Other
149 stars 38 forks source link

Refactor ioBroker.jarvis backend #2490

Closed Zefau closed 8 months ago

Zefau commented 9 months ago

Dieser Feature Request wurde mit v3.2.0-alpha.13 implementiert. Bitte bestätigen und auf Fehler prüfen. Wenn alles in Ordnung ist, gerne das Issue schließen.


This feature request has been implemented with v3.2.0-alpha.13. Please verify and test the feature for any bugs. If everything works as expected, you may close the issue.

mcuiobroker commented 9 months ago

Weiterhin nicht nutzbar, hängt sich immer noch auf.

Zefau commented 9 months ago

Das Build-Skript hat sich aufgehangen. Die alpha-13 ist alt und nicht aktualisiert. Bitte das nächste Release nutzen, das hoffentlich gleich durch geht.

Bernd9000 commented 9 months ago

v3.2.0-alpha.19 Backend scheint jetzt gut zu laufen, Ram Nutzung bleibt stabil. Frontend ist hier nach wie vor extrem träge oder funktioniert gar nicht. Seite jarvis Konfiguration läuft schnell. Bei der Geräteseite allerdings Fehler im Browser:

Unbenannt

Nachtrag: Im Frontend aufgetretende Fehler:

Unbenannt

Im Edge und Chrome Browser habe ich noch folgende Fehler: Pro ist vorhanden, wird aber zu spät geprüft ? Es tauchen Fehler auf die auf der aufgerufenen Seite gar nicht vorhanden sind. Unbenannt

Bernd9000 commented 9 months ago

Nachtrag zu "Es tauchen Fehler auf die auf der aufgerufenen Seite gar nicht vorhanden sind."

Egal welche jarvis Seite man im Browser aufruft, es wird bei mir immer die erste Seite und der erste Tab kurz aufgerufen. Dies geschieht so schnell das man es fast nicht mitkriegt. Dies ist unabhängig von der in der jarvis Konfiguration unter "Homepage" eingestellten Seite. Daher tauchen Fehler auf, die es auf der aktuellen Seite gar nicht geben dürfte.

Zefau commented 9 months ago

Dieser Feature Request wurde mit v3.2.0-alpha.20 implementiert. Bitte bestätigen und auf Fehler prüfen. Wenn alles in Ordnung ist, gerne das Issue schließen.


This feature request has been implemented with v3.2.0-alpha.20. Please verify and test the feature for any bugs. If everything works as expected, you may close the issue.

Bernd9000 commented 9 months ago

Backend Fehler ist behoben

Zefau commented 9 months ago

Die Fehler aus https://github.com/Zefau/ioBroker.jarvis/issues/2490#issuecomment-1859321642 sollten auch behoben sein?

Bernd9000 commented 9 months ago

Die "TypeError" Fehler sind bis jetzt nicht mehr aufgetaucht. Valid Pro Prüfung läuft jetzt zweimal. Nach wie vor wird eine andere Seite kurz geladen. Danach u.a. wieder Binding Fehler von dieser anderen jarvis Seite.

Unbenannt

Zefau commented 9 months ago

Valid Pro Prüfung läuft jetzt zweimal.

Wie kommst du darauf? steht ja im Screenshot, sorry..

Nach wie vor wird eine andere Seite kurz geladen.

Ok, ich prüfe das nochmal

Zefau commented 9 months ago

Dieser Feature Request wurde mit v3.2.0-alpha.21 implementiert. Bitte bestätigen und auf Fehler prüfen. Wenn alles in Ordnung ist, gerne das Issue schließen.


This feature request has been implemented with v3.2.0-alpha.21. Please verify and test the feature for any bugs. If everything works as expected, you may close the issue.

Bernd9000 commented 9 months ago

Doppelte Anzeige der Valid Pro Prüfung ist jetzt weg. Fehlermeldungen beim Edge und Chrome Browser sind geblieben. Im Firefox erscheint keine Fehlermeldung. Vielleicht ist das nur bei mir so ? @mcuiobroker Wie sieht es bei Dir aus ?

mcuiobroker commented 9 months ago

Hängt sich bei mir bei TAB-Wechsel nach Seitenwechel auf image Keine besonderen Meldungen im LOG. Seitenwechsel klappte noch. Wieder zurück auf v3.1.9-beta.2

Bernd9000 commented 9 months ago

Ja, das mit dem hängen bleiben habe ich auch noch auf bestimmten jarvis Tabs. Ich teste deswegen erstmal nur mit einer neu angelegten Seite mit nur einem Gerät (Schalter).

Zefau commented 9 months ago

Welche Module sind denn auf den Seiten, die bei euch hängen? Auf meiner Umgebung habe ich StateList, Datetime, Weather sowie AdapterStatus, ScriptStatus und AdapterLogs sowie Maps. Das läuft alles flüssig.

mcuiobroker commented 9 months ago

StateLists mit States, die evtl undefined (Kein States und keine Daten vorhanden, Testsystem, noch kein Prodsystem(defekt)) sind, und "leere" jsonTable sind bei mir auf dem TAB, bei dem er sich aufgehängt hat.

Bernd9000 commented 9 months ago

Bei mir : StateList, Datetime und IFrame In allen betroffenen Seiten kommen auch Bindings vor, die das auch auslösen können.

Bernd9000 commented 9 months ago

Und leider wird immer noch eine "fehlerhafte" Seite als erstes geladen, obwohl ich ein anderen Link in der Adressleiste eintippe.

Zefau commented 9 months ago

Und leider wird immer noch eine "fehlerhafte" Seite als erstes geladen, obwohl ich ein anderen Link in der Adressleiste eintippe.

Das war vorher auch so. Der Ladevorgang ist allerdings nun schneller, wodurch es auffällt. Wie lang ist denn der zeitliche Versatz ?

Bernd9000 commented 9 months ago

Ist nur sehr kurz, vielleicht 100 ms, manchmal auch schneller so das man es gar nicht sieht. Hängt auch vom Browser ab.

intruder7777 commented 9 months ago
Muss mich auch mal melden... Bei mir hängt sich Jarvis regelmäßig auf.. Bis hin zum Sperren der Instanz seitens IoBroker. Hab ne Weile gebraucht bis ich da einen Zusammenhang festgestellt hatte.. Ich trigger eine Message über den Bewegungsmelder und lasse mir dann ein Kamerabild anzeigen. Dies passiert nicht mehr. Das ist der Punkt an dem sich Jarvis aufhängt. Hier der Log zu diesem Zeitpunkt ` jarvis.0 2023-12-20 20:52:14.450 debug Scheduled for 10:24
jarvis.0 2023-12-20 20:52:14.429 info starting. Version 3.2.0-alpha.21 (non-npm: Zefau/ioBroker.jarvis#e3a593f5d6edb73bc56a486d8b7b66efb995d13d) in /opt/iobroker/node_modules/iobroker.jarvis, node: v18.17.1, js-controller: 5.0.16
host.NUC-ioBroker 2023-12-20 20:51:40.221 error instance system.adapter.jarvis.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
host.NUC-ioBroker 2023-12-20 20:51:40.221 error Caught by controller[1]: Invalid initialization vector
host.NUC-ioBroker 2023-12-20 20:51:40.220 error Caught by controller[0]: Invalid initialization vector
jarvis.0 2023-12-20 20:51:39.863 info terminating
jarvis.0 2023-12-20 20:51:39.364 error socket is not defined
jarvis.0 2023-12-20 20:51:39.364 error ReferenceError: socket is not defined at Immediate. (/opt/iobroker/node_modules/iobroker.jarvis/jarvis.min.js:1:9471) at process.processImmediate (node:internal/timers:478:21)
jarvis.0 2023-12-20 20:51:39.363 error uncaught exception: socket is not defined
jarvis.0 2023-12-20 20:51:39.361 warn Terminated (UNCAUGHT_EXCEPTION): Without reason
jarvis.0 2023-12-20 20:51:39.361 info terminating
jarvis.0 2023-12-20 20:51:39.360 info Adapter stopped und unloaded.
jarvis.0 2023-12-20 20:51:39.358 error socket is not defined
jarvis.0 2023-12-20 20:51:39.358 error ReferenceError: socket is not defined at Immediate. (/opt/iobroker/node_modules/iobroker.jarvis/jarvis.min.js:1:9471) at process.processImmediate (node:internal/timers:478:21)
jarvis.0 2023-12-20 20:51:39.357 error uncaught exception: socket is not defined

`

Zefau commented 8 months ago

Dieser Feature Request wurde mit v3.2.0-alpha.26 implementiert. Bitte bestätigen und auf Fehler prüfen. Wenn alles in Ordnung ist, gerne das Issue schließen.


This feature request has been implemented with v3.2.0-alpha.26. Please verify and test the feature for any bugs. If everything works as expected, you may close the issue.

mcuiobroker commented 8 months ago

Image

Bernd9000 commented 8 months ago

Unbenannt

Bernd9000 commented 8 months ago

Mit dem Aufruf über den Web Port funktioniert es ganz gut. :-) Bindings funktionieren nicht ?

Zefau commented 8 months ago

Bindings funktionieren nicht ?

Hab ich alles umgebaut. Sollten funktionieren. Kannst du dein Binding mal posten, was nicht geht?

Bernd9000 commented 8 months ago

Z.B.: Icon: {"'{0_userdata.0.Test.Testschalter10.status}'='Offline'":"pump blink","true":"pump","false":"pump"}

Icon Stil: {"'{0_userdata.0.Test.Testschalter10.status}'='Offline'":{"color":"#FF0"},"true":{"color":"#0F0"},"false":{"color":"#F00"}}

Scheinbar alles was mit einem fremden Datenpunkt zu tun hat, funktioniert nicht. Hier wird bei true und false das Pumpen Icon rot und grün dargestellt = i.O. Wenn bei dem fremden Datenpunkt als string "Offline" steht soll Icon gelb blinken = funktioniert nicht

Zefau commented 8 months ago

Dieser Feature Request wurde mit v3.2.0-alpha.27 implementiert. Bitte bestätigen und auf Fehler prüfen. Wenn alles in Ordnung ist, gerne das Issue schließen.


This feature request has been implemented with v3.2.0-alpha.27. Please verify and test the feature for any bugs. If everything works as expected, you may close the issue.

mcuiobroker commented 8 months ago

v.3.2.0-alpha.27

Also im Chrome-Browser sieht es so aus Problem mit CSS war ausgeschaltetes CSS.

Oft auch image

image

Home-Seite normal image

Reload in Chrome image

Problem mit Edge image Es werden dort keine Widgets mehr angezeigt? image

ioBroker LOG

instance system.adapter.jarvis.0 terminated with code 6 (UNCAUGHT_EXCEPTION) -- jarvis.0 | 2023-12-28 23:25:49.917 | error | Converting circular structure to JSON --> starting at object with constructor 'Timeout' \| property '_idlePrev' -> object with constructor 'TimersList' --- property '_idleNext' closes the circle jarvis.0 | 2023-12-28 23:25:49.917 | error | TypeError: Converting circular structure to JSON --> starting at object with constructor 'Timeout' \| property '_idlePrev' -> object with constructor 'TimersList' --- property '_idleNext' closes the circle at JSON.stringify () at JarvisServer. (/opt/iobroker/node_modules/iobroker.jarvis/jarvis.min.js:1:6071) at JarvisServer.emit (node:events:517:28) at JarvisServer.listenClient (/opt/iobroker/node_modules/iobroker.jarvis/lib/jarvis.server.client.js:1:804) at WebSocketServer. (/opt/iobroker/node_modules/iobroker.jarvis/lib/jarvis.server.instance.js:1:3028) at WebSocketServer.emit (node:events:517:28) at WebSocketServer.completeUpgrade (/opt/iobroker/node_modules/ws/lib/websocket-server.js:432:5) at WebSocketServer.handleUpgrade (/opt/iobroker/node_modules/ws/lib/websocket-server.js:340:10) at Server.upgrade (/opt/iobroker/node_modules/ws/lib/websocket-server.js:116:16) at Server.emit (node:events:517:28) jarvis.0 | 2023-12-28 23:25:49.916 | error | uncaught exception: Converting circular structure to JSON --> starting at object with constructor 'Timeout' \| property '_idlePrev' -> object with constructor 'TimersList' --- property '_idleNext' closes the circle
mcuiobroker commented 8 months ago

Beim Speichern kommt: image

Zefau commented 8 months ago

@mcuiobroker kannst du nochmal sauber (drüber) installieren? Die Fehler sollten eigentlich behoben sein und treten bei mir auch nicht mehr auf. @Bernd9000 wie sieht es bei dir aus?

mcuiobroker commented 8 months ago

Bezogen auf backend, mag sein. Es wird aber im Edge kein Widget mehr angezeigt, wie oben beschrieben. Soll ich für die offenen Punkte extra Issues anlegen? Gehe ich jetzt in die Einstellungen F2 Edge image Edge die Daten werden nicht eingefügt? image

Zefau commented 8 months ago

Ne, bitte nicht noch mehr Issues ;-)

mcuiobroker commented 8 months ago

Also offen sind

Weiter kann ich nicht testen.

Zefau commented 8 months ago

Das Circle-Problem ist eigl. mit https://github.com/Zefau/ioBroker.jarvis/issues/2500 behoben, daher wundert's mich, dass es bei dir noch auftritt.

mcuiobroker commented 8 months ago

Ich hatte auch Meldungen, dass die scripts-Skripte schon vorhanden sind.

Zefau commented 8 months ago

Kannst du mal den Cache löschen? Das erscheint mir zu merkwürdig.

mcuiobroker commented 8 months ago

image Cache gelöscht, dann kommt image

Zefau commented 8 months ago

Circle-Fehler im ioBroker Log?

mcuiobroker commented 8 months ago

Ja image Hier ein Beispiel der Fehler von den scripts image

mcuiobroker commented 8 months ago

Nach Web-Neustart zeigt er jetzt die Widgets auch in Edge an. Jetzt ist dies offen image Irgendwie scheint er ein Problem zu haben, wenn ich von gleicher IP mit unterschiedlichen Browsern zugreife? Edge image Chrome image

Jetz kam in chrome dies image

Zefau commented 8 months ago

Die ganzen Socket Fehler kommen davon, dass der Adapter in ioBroker abstürzt und daher der WebSocket nicht erreichbar ist.

Irgendwie scheint er ein Problem zu haben, wenn ich von gleicher IP mit unterschiedlichen Browsern zugreife?

Funktioniert bei mir.

Jetz kam in chrome dies

Das ist nicht von jarvis.

mcuiobroker commented 8 months ago

Also jetzt war es so 2 Browser (edge, chrome) offen, chrome geschlossen, nach 1 Minute Chrome geöffnet -> ws-Fehler auf edge.

Zefau commented 8 months ago

Schau mal mit v3.2.0-alpha.29, das behebt den Fehler nicht, aber fügt mehr im Log hinzu.

mcuiobroker commented 8 months ago

ok

mcuiobroker commented 8 months ago
jarvis.0 | 2023-12-30 00:39:23.601 | warn | Terminated (UNCAUGHT_EXCEPTION): Without reason -- | -- | -- | -- jarvis.0 | 2023-12-30 00:39:23.600 | info | terminating jarvis.0 | 2023-12-30 00:39:23.600 | info | Adapter stopped und unloaded. jarvis.0 | 2023-12-30 00:39:23.598 | error | Converting circular structure to JSON --> starting at object with constructor 'Timeout' \| property '_idlePrev' -> object with constructor 'TimersList' --- property '_idleNext' closes the circle jarvis.0 | 2023-12-30 00:39:23.598 | error | TypeError: Converting circular structure to JSON --> starting at object with constructor 'Timeout' \| property '_idlePrev' -> object with constructor 'TimersList' --- property '_idleNext' closes the circle at JSON.stringify () at JarvisServer. (/opt/iobroker/node_modules/iobroker.jarvis/jarvis.min.js:1:6071) at JarvisServer.emit (node:events:517:28) at /opt/iobroker/node_modules/iobroker.jarvis/lib/jarvis.server.client.js:1:562 jarvis.0 | 2023-12-30 00:39:23.598 | error | unhandled promise rejection: Converting circular structure to JSON --> starting at object with constructor 'Timeout' \| property '_idlePrev' -> object with constructor 'TimersList' --- property '_idleNext' closes the circle jarvis.0 | 2023-12-30 00:39:23.598 | error | Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().
mcuiobroker commented 8 months ago

Ich hatte erst die Vermutung dass es mit den scripten zusammenhängt. -> disabled Trotzdem tritt der circle-Fehler auf. Browser Edge öffnen Chrome mit der gleichen Seite öffnen und auf eine andere Seite gehen. Dann Browser schließen. evtl auch öfter als einmal öffnen und schließen.

Wieder Chrome öffnen nochmal die Seite aufrufen und dann schließen -> ws-Fehler in Edge

Zefau commented 8 months ago

Dieser Feature Request wurde mit v3.2.0-alpha.30 implementiert. Bitte bestätigen und auf Fehler prüfen. Wenn alles in Ordnung ist, gerne das Issue schließen.


This feature request has been implemented with v3.2.0-alpha.30. Please verify and test the feature for any bugs. If everything works as expected, you may close the issue.

mcuiobroker commented 8 months ago

Soweit ich es beurteilen sieht es mit dem circle-problem gut aus. Hatte einen reproduzierbaren Weg gefunden. Der geht jetzt nicht mehr. Bleibt dieser Punkt: image

Bernd9000 commented 8 months ago

3.2.0-alpha.30 Binding mit einem fremden Datenpunkt funktioniert bei mir noch nicht. In den Logs keine Fehlermeldung. Hochkomma mal nur links, mal nur rechts, beide Seiten = keine Änderung