Problématique étrange sur capteur

Hello,

Bon je fais tourner chez moi mon integration enocean depuis quelques semaines, et je constate deux trucs louches (liés ou pas).

En fait, de manière (ir)régulière, je ne recois plus de données sous Gladys via ma clé USB, comme une sorte de déconnexion mais je ne le vois pas. J’ai mis des logs sur les évènements ‘error’ et ‘disconnect’.

Et à coté de ca, j’ai un truc étrange en base de donnée, tous le week end, mes “decos” sont survenus vers 19-20h.
Et coté base de donnée sur la table t_device_feature_state je vois ca pour tous mes capteurs (mouvements, temperature…):

1f7b9ce4-94b2-4670-bc5d-90d20b9b7dd4|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.9803921568627|2021-11-01 09:39:57.068 +00:00|2021-11-01 09:39:57.068 +00:00
b9860941-5d3e-4164-aa19-51c7a337ffe9|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.9803921568627|2021-11-01 09:45:23.598 +00:00|2021-11-01 09:45:23.598 +00:00
9429c876-7b6e-42ba-a709-b14b5b88b0b8|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.9803921568627|2021-11-01 09:59:22.333 +00:00|2021-11-01 09:59:22.333 +00:00
02b2ab5c-e478-4f11-85bb-fc7164de0b6b|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.9803921568627|2021-11-01 10:20:33.522 +00:00|2021-11-01 10:20:33.522 +00:00
b9173868-e0c1-400f-a6b9-63ea39150dff|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.9803921568627|2021-11-01 10:39:58.708 +00:00|2021-11-01 10:39:58.708 +00:00
6ed685b3-c176-4118-8d7e-49f772bc30ee|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 10:59:23.562 +00:00|2021-11-01 10:59:23.562 +00:00
cd48bfc0-762a-4b28-b6cb-7e4589ab22bb|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 11:22:20.263 +00:00|2021-11-01 11:22:20.263 +00:00
f4dec7a4-a645-4545-bbbc-41d1e089fea8|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 11:45:16.839 +00:00|2021-11-01 11:45:16.839 +00:00
e6a208f1-8af6-4c0a-9e2f-4bec66b29f1e|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 12:04:41.729 +00:00|2021-11-01 12:04:41.729 +00:00
8e2dc968-334e-4c0a-aca2-bc15353b9768|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 12:22:20.787 +00:00|2021-11-01 12:22:20.787 +00:00
bec4cdd3-8670-4168-9b7b-19e63f948cc9|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.9803921568627|2021-11-01 12:34:42.147 +00:00|2021-11-01 12:34:42.147 +00:00
bc51b55a-6c4c-46d5-bb16-b3235cd478f8|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.9803921568627|2021-11-01 12:50:35.352 +00:00|2021-11-01 12:50:35.352 +00:00
f306a703-20a0-441c-80e9-2e45c58a10cb|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 13:04:42.519 +00:00|2021-11-01 13:04:42.519 +00:00
b9652656-0d24-4f56-8937-99b7643dbe28|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 13:25:53.392 +00:00|2021-11-01 13:25:53.392 +00:00
b0c01dab-6d81-4a9b-8748-0f84ddee5a14|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.6666666666667|2021-11-01 13:43:32.095 +00:00|2021-11-01 13:43:32.095 +00:00
f56a6232-7d55-49d9-89b0-dc652d6b9bd5|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.6666666666667|2021-11-01 13:55:53.322 +00:00|2021-11-01 13:55:53.322 +00:00
7d64dece-4d70-4a07-a984-1baa557ab521|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.6666666666667|2021-11-01 14:11:46.290 +00:00|2021-11-01 14:11:46.290 +00:00
1e0f303e-1ffb-45f5-ba92-88b199cbfe41|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.9803921568627|2021-11-01 16:39:09.804 +00:00|2021-11-01 16:39:09.804 +00:00
7f84deec-719c-4278-be6b-a86e7c8e4a84|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.9803921568627|2021-11-01 16:39:10.124 +00:00|2021-11-01 16:39:10.124 +00:00
29231c1a-006b-4267-98eb-5a1ab03aca71|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.9803921568627|2021-11-01 16:39:12.117 +00:00|2021-11-01 16:39:12.117 +00:00
4cdbcb3d-47d5-4ef0-863d-7d1afd4efa52|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 16:39:13.270 +00:00|2021-11-01 16:39:13.270 +00:00
c7f2386d-fa4e-46e8-b9b0-5c346b921acd|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 16:39:14.246 +00:00|2021-11-01 16:39:14.246 +00:00
aca660b6-cdd3-4e49-b852-17cd62ecdc7a|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 16:39:15.149 +00:00|2021-11-01 16:39:15.149 +00:00
fa2276e7-f472-4846-9fdb-ea04f1a1cde6|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 16:39:15.867 +00:00|2021-11-01 16:39:15.867 +00:00
2756217f-d583-4636-a8f1-d7039dc5642c|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 16:39:16.995 +00:00|2021-11-01 16:39:16.995 +00:00
df6af10b-164e-427d-b533-bf951263b035|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.9803921568627|2021-11-01 16:39:17.343 +00:00|2021-11-01 16:39:17.343 +00:00
017ef6a6-66e4-4145-a40d-ad0baea4575d|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.9803921568627|2021-11-01 16:39:17.986 +00:00|2021-11-01 16:39:17.986 +00:00
eb4e768d-b775-4cd5-b7e9-eab5e179769b|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 16:39:18.654 +00:00|2021-11-01 16:39:18.654 +00:00
1aa1b5f3-d1b8-45cf-bc23-5850911926d3|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.8235294117647|2021-11-01 16:39:19.553 +00:00|2021-11-01 16:39:19.553 +00:00
adf67493-cd66-4b24-8eee-70ff6a8bdc8d|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.6666666666667|2021-11-01 16:39:20.888 +00:00|2021-11-01 16:39:20.888 +00:00
9f5e71fc-e462-4a83-839a-1f58c45b7bb1|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.6666666666667|2021-11-01 16:39:21.255 +00:00|2021-11-01 16:39:21.255 +00:00
7f9eaef6-a9d3-454c-92ac-ddc147fbdda0|b9f7354c-67e5-44ae-91bc-f4ba0f3b5eff|18.6666666666667|2021-11-01 16:39:22.124 +00:00|2021-11-01 16:39:22.124 +00:00

Les derniers états sauvegardés avant que la “pseudo déco” ne surviennent semblent être des doublons des N états précédents.
Je ne pense pas que tous les capteurs se mettent à flooder (surtout des valeurs différents mais identiques aux précédentes).

En y réflechissant, j’ai mergé pour tester, les devs en cours sur les taches d’aggrégation des données pour avoir des graphes.
N’y aurat-il pas un lien ? une réécriture en base ?

Le truc c’est qu’au final, je ne sais pas / ne pense pas que ces incohérences en bases aient un lien avec ma “déco” de mon device, notamment car le flood de log n’est pas à la même heure selon les capteurs.

Je suis preneur d’aide, de pistes à explorer, la je sèche.

ça ne me dit rien!

Je viserais plus pour un problème dans l’intégration EnOcean, il n’y a rien dans la lib que tu utilise/ton code qui pourrait causer ça?

J’ai bien revérifé mais non je ne le comprends pas, hier soir, ca a nouveau coupé vers 19h.

J’ai mis du debug pour voir et à 18h48 environ, j’ai des dizaines et des dizaines de fois les mêmes events.
J’ai mis un console.log sur l’evenement on.(‘data’), bon quelques lignes après avoir décodé le payload, et je vois plein de fois les mêmes devices…

Je capte pas bien, comme si y avait N fois un event receiver …

Bon comme j’ai mis ca sous pm2 de mon coté pour le moment, j’ai déjà eu des surprises avec pm2 donc je relance aujourd’hui avec un nohup npm start

Je verrais le résultat ce soir.

ça sent un bug dans le code ou tu rajoute l’event listener n fois, tu as un lien vers le bout de code en question ? :slight_smile:

C’est la ou je set le listener.
Je ne vois pas ou j’aurais commis cette erreur, de plus, cela survient après plusieurs heures normales, et de manière aléatoire selon les devices.

Je creuse…

Tu rattache le listener à chaque fois que la fonction connect() est appelée, es-tu sûr que ce connect n’est appelé qu’une fois?

Je vois que tu ne fais rien dans la fonction “stop” du service, normalement le service doit cleaner tout ce qui a été setup dans le “start” (dont les listeners justement):

Je vais rajouter les clean au stop en effet.

Concernant le connect, il n’est bien appelé qu’une seule fois, quand je vérifie les logs, c’est cohérent.

1 Like

Je crois avoir trouvé l’origine de mon problème.
Merci @pierre-gilles car c’était sans doute un problème de listeners mal nettoyés, coté librairie que j’utilise.
Dans certains cas d’erreurs, je rentrais dans une condition de timeout et à ce moment les listeners n’étaient pas nettoyés.

J’ai patché chez moi, je vais laisser tourner pour voir.

1 Like