Okay, ich habe es gerade verstanden (Montag ist schwer) beim Lesen deiner Zusammenfassung das Ziel
@AlexTrovato @VonOx Für Info, ich habe einen Test gemacht, um die Funktion .emit unseres EventEmitters global asynchron zu machen!
Ich habe mich von dem Code dieser Bibliothek inspirieren lassen, die zwar bekannt ist (aber zu umfangreich für uns, wir brauchen nicht alles davon):
Das sieht dann so aus, es ist wirklich ganz einfach:
Im Grunde genommen wird jedes Mal, wenn ein Event emittiert wird, das Event erst nachträglich synchron veröffentlicht, wir geben Node.js die Möglichkeit, zwischen dem Funktionsaufruf und dem synchronen Emit zu tun, was es will.
Im Fall von Geräten, die Hunderte von Emits verursachen (die wiederum Hunderte von Emits verursachen, weil wir viele Dinge überprüfen: Szenen, Websockets zum Frontend, etc.), wird jedes Event nicht synchron, sondern asynchron verarbeitet, wenn Node.js es kann.
Das sollte die Probleme mit Geräten wie dem Linxee TIC lösen
Was haltet ihr davon?
Edit: @VonOx da es sich um eine Änderung von nur wenigen Zeilen handelt, könntest du die Datei in deiner Produktion ersetzen und sehen, welchen Effekt das hat, um zu sehen, ob es das Problem wirklich löst?
Erledigt, ich gebe dir morgen ein Feedback.
Ich habe das Gefühl, dass es ein bisschen « laggy » ist
Ich werde mehr Logs hinzufügen, um die Ausführungszeiten zu erhalten
ah, also löst das das Problem nicht so gut wie setImmediate?
Zur Info, bezüglich unserer Diskussion über die aktuellen Nutzer der Open-Z-Wave-Integration:
https://community.gladysassistant.com/t/v4-integration-z-wave/6057/99?u=pierre-gilles
@pierre-gilles ich denke, wir sind gut.
EventEmit zigbee2mqtt:Lixee TIC:energy-sensor:power:active_power: 0.01ms
EventEmit zigbee2mqtt:Lixee TIC:energy-sensor:power:active_power_max: 0.008ms
EventEmit zigbee2mqtt:Lixee TIC:energy-sensor:power:active_power_ph_b: 0.008ms
EventEmit zigbee2mqtt:Lixee TIC:energy-sensor:power:apparent_power: 0.008ms
EventEmit zigbee2mqtt:Lixee TIC:energy-sensor:current:available_power: 0.008ms
EventEmit zigbee2mqtt:Lixee TIC:energy-sensor:voltage:average_rms_voltage_meas_period: 0.008ms
EventEmit zigbee2mqtt:Lixee TIC:energy-sensor:index:current_tier1_summ_delivered: 0.023ms
EventEmit zigbee2mqtt:Lixee TIC:energy-sensor:index:current_tier2_summ_delivered: 0.008ms
EventEmit zigbee2mqtt:Lixee TIC:energy-sensor:current:power_threshold: 0.015ms
EventEmit zigbee2mqtt:Lixee TIC:energy-sensor:binary:relais: 0.008ms
EventEmit zigbee2mqtt:Lixee TIC:energy-sensor:current:rms_current: 0.009ms
EventEmit zigbee2mqtt:Lixee TIC:energy-sensor:voltage:rms_voltage: 0.008ms
@VonOx Und wie ist die Erfahrung? Flüssig oder ruckelig? Das Wichtigste ist, dass es für den Nutzer perfekt flüssig ist ![]()
Ja, das ist gut, ich hatte beim letzten Mal zu viele Tabs offen ![]()
@VonOx Ich habe auf master gemerged
Wenn du deine PR rebase, hast du Zugriff darauf!