jMQTT nouveau démon en BETA

Pour ma part, le nouveau daemon fonctionne au moins aussi bien que l’ancien donc pour le passage en beta c’est toi qui vois :grinning:.

Je viens de vérifier, le problème de fuite mémoire est toujours présent (+220Mo tous les jours), et est exactement au même niveau qu’avant.

Je pense que cela vient du fait qu’on a toujours un script php qui tourne en boucle et, même si ça fonctionne, php n’est pas vraiment optimisé pour cet usage…

Peut-être qu’il faudrait relancer automatiquement jmqttd.php toutes les X heures.
Sinon comme pour le plugin-deconz, utiliser l’api jeedom au lieu d’une websocket pour communiquer entre le core et le daemon phython…

Merci pour tes investigations ! Du coup on y peut rien… :joy:

Penses-tu que le core pourrait être optimisé sur ce point ? En plus ça serait bénéfique pour la performance globale de Jeedom.

Salut,

C’est une solution qui n’est pas sans impact : pendant que le daemon se relance, les messages seront potentiellement perdus.

Alors, pour l’API jeedom, le volume de données est semble-t-il limité au alentour de 100Ko.
Or, mon zigbee2mqtt avec 25 devices me fait déjà des json de plus de 40Ko. C’est pour ca que le WebSocket a été choisi et permet en plus de savoir si le daemon est bien.

Pour l’amélioration du Core, J’ai trop de chose à faire sur jMQTT pour m’y pencher.

1 « J'aime »

@Domochip : Tu as pu noté la ligne qui est appelée dans le core pour event::adds ?
Je vois trois possibilités :

cmd.class.php lignes 1500 et 1540
JeeObject.class.php ligne 280

Oui c’est un autre sujet, le boulot que tu as abattu sur jmqtt est déjà colossale !

Oui c’est pas l’idéal…

Autre chose aussi, il faudrait jeter un oeil à ton équipement qui envoi 30msg/sec pour réduire la fréquence si possible.
Même si il est vrai que Jeedom ne devrait pas avoir de fuite mémoire (Core ou jMQTT, ca reste à trouver), il n’est pas conçu pour du « temps réel ».
Autant de message, ca me parait overkill :smiley:

Ce sont les lignes de cmd.class.php, oui

Réduire le nombre de messages à traiter est en effet une solution :rofl:

**OK, je vais passer la new_daemon en beta. **
Merci à ceux qui ont testé cette branche.
Il vous faut repasser sur la branche beta.

2 « J'aime »

Donc
image ?

Oui c’est bien ça :wink:

J’ai installé la béta, mais ça ne marchait plus même après un redémarrage du plugin et un rechargement des dépendance. J’ai réinstallé la version du market et ça remarche.
Ca marche chez vous ? Si oui, je réessaierai.
Edt : sur un autre pi / jeedom, ça marche.
Je viens de réessayé sur le premier pi/jeedom. J’ai un message lors de l’installation :

2021-05-01 23:27:09 jMQTT Erreur sur la fonction deamon_start du plugin : Le port du démon websocket (1026) est déjà utilisé par le pid 9281 : php /var/www/html/plugins/jMQTT/core/php/jmqttd.php --plugin jMQTT --socketport 1026 --pid /tmp/jeedom/jMQTT/jmqttd.php.pid
2021-05-01 23:27:08 jMQTT Attention je pense qu’il y a un soucis avec le démon que j’ai relancé plus de 3 fois consécutivement

et j’ai le demon nok


J’ai essayé de désactiver le pluggin avant de recharger le nouveau. Même problème.
J’ai remis la version du market et ça remarche. Une idée pour que je puisse remettre la béta ?

Edit, Et là, après être repasser à la « market » j’ai ça

Je crois qu’il va falloir que je fasse appel à une sauvegarde.
Edit : fait et ça remarche. Mais comment revenir à la béta ?

J’ai essayé sur mon pi de test les commandes sudo wget en question et j’obtiens
en essayant d’aller là :
image

J’ai essayer de recharger les dépendances, de rebooter et d’utiliser le navigateur sur un autre micro.

Alors, pour restabilisé ta conf, Je te conseille de remettre la master en attendant.
Celle du market n’est pas compatible avec Jeedom 4.1, etc…
Pour la master, il faut juste changer de branche et mettre master à la place de beta.
image

Ca m’interesse de savoir quelle version de jMQTT tu avais avant de passer sur la beta?

Sans rire ? Vous avez toujours pas la main/remplacé sur l’ancien repo ??

Jeedom m’a dit qu’ils allaient me l’attribuer, mais ce n’est pas encore fait :frowning:

De là y voir une certaine mauvaise volonté… bref.

Je pense plutot à un manque de temps de leurs coté, Je viens de les relancer du coup.

2 « J'aime »

Celle là
image
Mais se rappeler qu’avec mon jeedom de test, pas de problème par contre avec l’autre, problèmes des démons.