TA2k/ioBroker.smartthings

Verzögerung vom kompletten IOBroker beim Aktualisieren von Datenpunkten (Waschmaschine)

Closed this issue · 25 comments

Hallo,
ich habe eine Samsung Waschmaschine in Betrieb mit ewig vielen Datenpunkten.
Immer wenn die Datenpunkte aktualisiert bzw. von Samsung Smartthings angefordert werden bleibt das komplette IOBroker System um 2 -3 Sekunden "hängen".
Dies lässt sich leicht sichtbar machen, wenn man testweise mal im Sekundentakt eine Debug-Meldung im Protokoll schreiben lässt.
Es fällt auf, dass die Meldung nicht sekündlich aktualisiert genau in diesen Zeitpunkt wenn die Datenpunkte abgeholt werden.
Dabei spielt es keine Rolle ob die Datenpunkte in 10, 30 oder 60 Sekundentakt abgeholt werden.

Möglicherweise liegt es daran, weil weit mehr als 100 Datenpunkte abgeholt werden.
Die allermeisten sind nicht zu gebrauchen, weil diese entweder nicht regelmäßig aktualisiert werden, leer sind, oder einfach "Müll" enthalten.
Provisorisch hätte ich schon einige Datenpunkte gelöscht, aber das hatte nichts daran geändert.

So kann ich den Adapter nicht verwenden, weil dieser immer wieder das komplette IOBroker System für kurze Zeit verzögert.
Egal ob man mit einer Fernbedienung ein Licht schaltet, oder die Vis öffnet, ....

Hoffe das dieses Problem beseitigt werden kann, weil es sehr schade um den tollen Adapter wäre.

Vielen Dank im Voraus für die Bemühungen & Arbeit!

habe genau das gleiche problem. mein ganzes system hängt dadurch und ist kaum noch zu gebrauchen

TA2k commented

Kannst du ein screenshot von den Datenpunkten machen

leider nicht hab die waschmaschine aus mein konto gelöscht damit ich das problem nicht mehr habe. seid dem läuft alles wieder perfekt

@TA2k ich glaube die viele Anzahl der Datepunkte ist das Problem. Es sind 1234 Datenpunkte nur für die Waschmaschine.
Kann ich die Datenpunkte irgendwie exportieren? Auf einen Screenshot passen diese niemals.

Gruß Dominik

TA2k commented

image

Aber gut wäre wenn du vorher checkst wo die vielen Elemente genau sind

Die meisten Datenpunkte befinden sich im Verzeichnis:
smartthings.0.9864c106-4053-1a70-24a1-bec0bddbe2a7.status
Da gibt es viele Unterordner und diese wiederum in Unterordnern.

Allerdings werden manche Datenpunkte falsch, teilweise oder sogar gar nicht beschrieben.

Im Anhang ist der komplette Objektbaum (von Smartthings, aber es gibt sowieso nur die Waschmaschine)

Danke im Voraus für Deine Bemühungen!
smartthings.zip

Gruß Dominik

@TA2k gibt es schon weitere Erkenntnisse oder Lösungsansätze?

Gruß Dominik

TA2k commented

So direkt nicht es sind viele Datenpunkte aber eigentlich nichts was ein system überlasten sollte.
Weil die Datenpunkte werden ja nicht erstellt sondern nur der wert gesetzt.

Auch nicht wenns über 1000 bzw. 1234 sind?
Gibt es keine Begrenzung, oder ein Muster, dass nur die brauchbaren Synchronisiert werden?

Wie ist das bei anderen Smartthings Geräten, gibt es auch so ewig viele Datenpunkte?

TA2k commented

spontan sehe ich kein Muster sind. Ja ähnlich. Ob es 1000 sind kann ich nicht genau sagen aber viessmann oder lg haben ähnlich viel

Was können wir nun mit den Problemen machen, welches bei vielen Nutzern anscheinend besteht?

Kann man nur gewisse Datenpunkte abholen lassen?
Oder gibt es irgendwo eine Doku welche Datenpunkte von Samsung für z. B. Eine Waschmaschine beschreibtM

TA2k commented

nicht das ich wüßte man ruft einfach nur den status von einem gerät ab

Hmm...was können wir trotzdem machen, damit der Adapter das komplette System nicht kurz für ein paar Sekunden einfriert?

TA2k commented

welche hardware hat dein system
welche node version
sind js controller aktuell?

Raspberry Pi 4 Model B 8 GB RAM
Node.js: v16.17.0
NPM: 8.15.0

TA2k commented

Probier mal die GitHub version ob die sich anders verhält

Sieht so aus, als würds gar nicht mehr funktionieren:

`

197
LOG HERUNTERLADEN

Log-Größe: 863.8 KB

Quelle Zeit debug Nachricht
host.raspberrypi 2022-10-13 23:59:02.457 info instance system.adapter.smartthings.0 started with pid 24164
javascript.0 2022-10-13 23:58:42.134 info script.js.Überwachung__Systemtests.Protokoll__Error: Überwachung Protokoll, Log:
host.raspberrypi 2022-10-13 23:58:32.131 info Restart adapter system.adapter.smartthings.0 because enabled
host.raspberrypi 2022-10-13 23:58:32.131 error instance system.adapter.smartthings.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
host.raspberrypi 2022-10-13 23:58:28.911 info instance system.adapter.smartthings.0 started with pid 23841
host.raspberrypi 2022-10-13 23:58:28.305 info "system.adapter.smartthings.0" enabled
host.raspberrypi 2022-10-13 23:58:22.361 info "system.adapter.smartthings.0" disabled
javascript.0 2022-10-13 23:58:17.903 info script.js.Überwachung__Systemtests.Protokoll__Warn: Überwachung Protokoll, Log:
javascript.0 2022-10-13 23:58:17.900 info script.js.Überwachung__Systemtests.Protokoll__Error: Überwachung Protokoll, Log:
host.raspberrypi 2022-10-13 23:58:07.894 warn Do not restart adapter system.adapter.smartthings.0 because restart loop detected
host.raspberrypi 2022-10-13 23:58:07.893 info Restart adapter system.adapter.smartthings.0 because enabled
host.raspberrypi 2022-10-13 23:58:07.893 error instance system.adapter.smartthings.0 terminated with code 6 (UNCAUGHT_EXCEPTION)
smartthings.0 2022-10-13 23:58:07.184 warn Terminated (UNCAUGHT_EXCEPTION): Without reason
smartthings.0 2022-10-13 23:58:06.680 error this.subscribeStates is not a function
smartthings.0 2022-10-13 23:58:06.678 error TypeError: this.subscribeStates is not a function at new Smartthings (/opt/iobroker/node_modules/iobroker.smartthings/main.js:33:10) at Object. (/opt/iobroker/node_modules/iobroker.smartthings/main.js:354:3) at Module._compile (node:internal/modules/cjs/loader:1126:14) at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10) at Module.load (node:internal/modules/cjs/loader:1004:32) at Function.Module._load (node:internal/modules/cjs/loader:839:12) at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) at node:internal/main/run_main_module:17:47
smartthings.0 2022-10-13 23:58:06.675 error uncaught exception: this.subscribeStates is not a function
host.raspberrypi 2022-10-13 23:58:04.723 info instance system.adapter.smartthings.0 started with pid 23457
host.raspberrypi 2022-10-13 23:58:03.851 info "system.adapter.smartthings.0" enabled
`
TA2k commented

sorry nochmal installieren

Funktioniert wieder.
Leider ändert sich nichts am Einfrieren vom IOBroker :-(

TA2k commented

Nochmal installieren und schauen ob sich was ändert

WOW!
Es gibt keine bemerkbare Verzögerung mehr! :-)))

Wie konntest du Abhilfe schaffen?

TA2k commented

Ich habe noch was geändert und schauen ob es immer noch so ist
Ich habe die schreibende Vorgänge auf sequenziell anstatt alle parallel und eine pause zwischen den schreibvorgänge
Ich habe jetzt die Pause mal entfernt und bitte testen ob es immer noch geht

Klappt immer noch :-)

Läuft jetzt??

@denjo82 ja, bei der v0.4 aus Gibthub klappts einwandfrei.
Denke dass es demnächst offiziell zum Downloaden über IOBroker Adapter geht.

Gruß Dominik :-)