NEWS
js-controller 5.0.x jetzt für alle User im STABLE!
-
@foxriver76
Ich habe mir gestern jetzt mal die Mühe gemacht, alle möglichen Varianten (Adapterversionen / Js-Controler auf 4 und 5) durch zu spielen mit folgenden Erkenntinissen:-
Socket / Web / Ws Adapter aktuell, Controller auf V4... (im Webadapter auf intern gestellt und Websockets angehackt)
Probleme in Vis treten erst nach einiger Zeit auf, betrifft hauptsächlich CSS - Eigentschaften und Bindings
Beispielsweise habe ich auf meinem "Homescreen" ein graues Kästchen welches ich bei eine Systemmeldung über CSS
als Overlay über den ganzen Bildschirm strecke. Dies funktioniert Anfangs und nach einer gewissen Zeit wird nur noch der
Text oben Links wo im Editor das Kästchen mit deaktivierten Css-Eigenschaften liegt angezeigt. -
Socket / Web / Ws Adapter aktuell ebenso der Controller auf V5 (im Webadapter auf ws gestellt da es sonst nicht geht)
Das oben beschriebene Problem tritt nach ca. 5 Minuten kontinuierlich auf. Reload des Projekts behebt das Problem für
wieder ca. 5 Minuten. -
Socket / Web /Ws Adapter auf den Vorversionen und Controller auf V4
keine Probleme vorhanden.
Da mir das Zusammenspiel der einzelnen Adapter nicht klar ist und ich auch nicht sagen kann welchen Einfluss der Js-Controller auf das Thema hat, wüsste ich auch garnicht bei welchem Adapter ich hier ein Issue eröffnen sollte.
Wenn es mir jedoch jemand erklärt mache ich das natürlich sehr gerne. -
-
@peoples und ob die webinstanz ws oder socketio nutzt macht kein Unterschied im Verhalten? Und irgendwie https im Spiel? ICh kann es nicht nachstellen und es ist nicht trivial herauszufinden woran es liegen könnte, daher möglichst viele Infos bitte. Controller würde ich eher ausschließen, da wie du sagst auch ohne neuen Controller passiert (auch wenn es laut deinen Tests häufiger auftritt).
-
(async () => { $('*').each(async id => { try { const state = await getBinaryStateAsync(id) try { if (state) { JSON.parse(state.toString()) } } catch (e) { log('Binary state found: ' + id, 'error') } } catch { // ignore } }) })();
Macht er das oder meckert er da auch?
-
@foxriver76 sagte in js-controller 5.0.x jetzt für alle User im STABLE!:
(async () => {
Kein Fehler, aber jetzt ist das Log 12MB groß (kein Vorwurf!), weil er jeden State als Binary erkennt.
-
@ofbeqnpolkkl6mby5e13 Kannst du mir das Log bereitstellen?
-
Selbstverständlich. Wie?
-
@ofbeqnpolkkl6mby5e13 12 MB könnten evtl noch per Mail gehen: moritz.heusinger@gmail.com
Ansonsten villt eifnach ein File Upload (https://easyupload.io/) und mir den Link schicken falls du keine Bedenken hast
-
Ist ja nur Text. Gepackt keine 300kb groß.
-
@ofbeqnpolkkl6mby5e13 Ok, passt ne keine Binary States würde ich sagen. Das Log für jeden State kommt vom controller bei jedem Aufruf von
binary
Methoden. Und die Node Version bei dir war welche? -
18.16.0
-
@ofbeqnpolkkl6mby5e13 hm magst du mal innerhalb der 18er Range upgraden um auszuschließen dass es daran liegt - ich vermute wenn nach Vorgaben installiert sollte ein
sudo apt update && sudo apt upgrade
zur Aktualisierung ausrecihen. Ansonsten bliebe noch das ich probiere es mit deinem Backup nachzustellen, aber aktuell fehlt mir leider jeder Anhaltspunkt. -
-
@ofbeqnpolkkl6mby5e13 aktuelle LTS wäre 18.18.0
ansonsten wie gesagt, ich kann probieren es mit deinem System nachzustellen, wenn du mir ein Backup zukommen lässt und rein debuggen. Ansonsten keine Idee und wie gesagt eher selten und bei anderen lag es meist an den übergebliebenen Binary States.
-
Ich bringe mein System erst mal auf Stand.
Bin jetzt auf:
Node.js: v18.17.1
NPM: 9.6.7und beobachte.
-
@ofbeqnpolkkl6mby5e13 sagte in js-controller 5.0.x jetzt für alle User im STABLE!:
Scheint im MQTT-Adapter selbst auch nicht komplett abgefangen zu werden:
2023-09-15 00:37:44.321 - [31merror[39m: mqtt.0 (456) Client [DVES_990210] Cannot parse "stat/tasmota_990210/STATUS11": {"StatusSTS":{"Time":"2023-09-14T23:37:34","Uptime":"100T16:49:22","UptimeSec":8700562,"Heap":19,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":24,"POWER":"OFF","Wifi":{"AP":1,"SSId":"***","BSSId":"***","Channel":1,"Mode":"11n","RSSI":62,"Signal":-69,"LinkCount":8,"Downtime":"0T00� stat/t
Um auch noch mal auf dieses Thema zurückzukommen. Ich erhalte für nahezu jedes Tasmota-Gerät eine solche Meldung beim Subscribe.
-
@ofbeqnpolkkl6mby5e13 Hm was hat das mit Controller zu tun? Er möchte die Message als JSON parsen, aber es scheint kein vollständiges JSON zu sein. Da hat Controller nix mit zu tun
https://github.com/ioBroker/ioBroker.mqtt/blob/4491114d4819ce65d2baf68f063d3eb169390d0d/lib/common.js#L179 -
Tritt erst seit JS-Controller 5 auf. So wie auch der Fehler mit dem MQTT-Client.
-
@ofbeqnpolkkl6mby5e13 was ist der Fehler mit dem MQTT client?
-
-
@ofbeqnpolkkl6mby5e13 das kommt durch Controller v5 - ja.
Aber bei der JSON parse Geschichte sollte das absolut keinen Einfluss haben.