Ok je viens de comprendre (le lundi c’est dur) en lisant ton récap le but
@AlexTrovato @VonOx Pour info j’ai fais un test de rendre la fonction .emit de notre EventEmitter global asynchrone !
Je me suis inspiré du code de cette lib qui est assez connue (mais bon, trop complète pour nous, on a pas besoin de tout ça):
ça donne ça niveau code, c’est vraiment tout simple:
En gros, à chaque fois qu’on emit un event, l’event ne sera publié de façon synchrone « qu’après », on laisse la main à Node.js de faire ce qu’il veut entre l’appel de la fonction et l’emit synchrone.
Dans le cas d’appareils qui engendrerait des centaines d’emit, (qui eux même généreraient des centaines d’emit, car on vérifie plein de choses: les scènes, websockets vers le front, etc…), chaque event n’est pas consommé de façon synchrone, mais de façon asynchrone quand Node.js peut.
ça devrait résoudre les soucis avec les appareils comme le Linxee TIC
Vous en pensez quoi ?
Edit: @VonOx vu que c’est un changement de quelques lignes, tu pourrais remplacer le fichier dans ta prod et voir l’effet que ça a, voir si ça résout bien le soucis ?
C’est fait, je te fait un feedback demain
J’ai l’impression que c’est un peu « laggy »
Je vais remettre du log pour avoir les temps d’exécution
ah, donc ça résout pas aussi bien le problème que le setImmediate?
Pour info, par rapport à notre discussion sur les utilisateurs actuels de l’intégration open-zwave:
https://community.gladysassistant.com/t/v4-integration-z-wave/6057/99?u=pierre-gilles
@pierre-gilles je penses qu’on est bon.
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 Et niveau expérience, c’est fluide ou ça lag ? Le plus important c’est qu’en tant qu’utilisateur ça soit parfaitement fluide
Oui c’est good, j’avais trop d’onglet ouvert la dernière fois
@VonOx J’ai mergé sur master du coup Si tu rebase ta PR tu y auras accès !