Recherche developpeurs et beta-testeurs

Tags: #<Tag:0x00007fa7a782c9d0>

Bonjour,

Avec @nebz et @Foulek57, nous nous sommes groupés afin de reprendre le plugin jMQTT en main ( Domochip/jMQTT).
Son auteur original @domotruc ne répond malheureusement plus depuis près de 2 ans.

On recherche donc des Dev supplémentaires et surtout des Beta-Testeurs afin de nous aider.

  • Si vous connaissez le PHP, javascript, etc… et que vous êtes motivé pour faire de jMQTT la pierre angulaire de Jeedom!
  • Si vous ne savez pas coder mais que vous êtes un cliqueur fou!
  • Si vous êtes un spécialiste en découverte de bug que vos amis ne rencontre jamais!

WE NEED YOU!!!

N’hésitez pas à vous manifester sur ce sujet.

Edit : Petit rappel, Je vous déconseille fortement d’installer la version beta sur votre environnement de Production. SI vous souhaitez le faire tout de même, pensez bien à sauvegarder d’abord!!!

9 J'aimes

Plugin et repro à jour chez moi.
Je ferai les remontées dès que trouve un truc

Je prend cette option
Tu sais ou nous trouver :stuck_out_tongue_closed_eyes:.
J’assure aussi la promotion dans les différents fils de community :sunglasses:

2 J'aimes

Je prends cette option :wink: pour le reste tu sais aussi :wink:

2 J'aimes

Super ! je l’ai installé il y a plusieurs jours et pas de régression pour l’instant !

Par contre j’ai une importante fuite mémoire et je ne trouve pas d’où ça vient, j’avais fait un sujet là dessus : Fuite de mémoire jeeScenario.php

image

image

Du coup je redémarre mon broker de temps en temps…

Ça serait pas mal d’ajouter la gestion des certificats pour la connexion aux brokers (AWS par ex).

Par contre je vois qu’il y a pas mal d’issues ouverte avec TLS sur le dépôt github mgdm/Mosquitto-PHP , le dernier commit remonte à 2019.
php-mqtt/client pourrait être utilisé à la place ?

Si je peux aider en Beta Testeur
J’ai deux serveurs Mosquitto sur RPI 3 et 4 avec MQTT.fx et explorer sur Mac
Et je fait des test sur ESP & Arduino

1 J'aime

Concernant la librairie utilisée, c’est un des premiers sujets dont on a discuté.
J’avais déjà constaté des problèmes dès qu’on augmente le nombre d’équipements.
Pour php-mqtt/client, J’avais ouvert une issue pour savoir pourquoi le prérequis avait été élevé à PHP7.4
C’est malheureusenent utilisé dans la déclaration des classes.
(PHP 7.3 compatibility · Issue #74 · php-mqtt/client (github.com))
Jeedom utilise la version 7.3 et on m’a indiqué qu’un passage à la 7.4 n’était pas encore d’actualité.

Vu qu’il n’y a pas de réelle solution en PHP, il ne resterait donc qu’une réécriture de démon en Python ou NodeJS (préférence pour le python dans mon cas quand je vois les débat entre version de NodeJS).

Pas simple donc pas priorisé pour le moment.

Sachant que la version 7.4 est déjà obsolète… Ça me laisse songeur

1 J'aime

Oui j’y pensais aussi, il est vrai que PHP n’est pas trop fait pour faire tourner des scripts h24… Mais il y a du boulot !

Je vais essayer de retrouver votre discussion sur le choix de la librairie, je suis passé à coté.

Peut être un passage en version 8.0 directement :rofl:

1 J'aime

Tu précises pas le nombre de trimestres :innocent:

En effet je ne précise pas ! :grinning:

Et tant qu’on parle de trimestres de développement, on pourrait ajouter à la TODO list de jmqtt la création d’équipements en Homie: An MQTT Convention for IoT/M2M.
Home Assistant le prend déjà en charge.

Le topic ressemble à ça, l’IoT envoi au broker la façon d’utiliser ses commandes (et d’autres choses) :

image
image

Un exemple de capteur qui utilise cette convention ici : Bien débuter avec la librairie Homie (MQTT) pour objets connectés à base d’ESP8266

Pour Homie, je le met dans la liste.
Mais autant te dire qu’une restructuration importante serait necessaire d’abord.
Je ne vois pas beaucoup d’implémentations device intéressantes pour le moment à part ESPEasy.
Et pas de librairie Controller en PHP…
On part de zéro quoi.

Pas encore : https://www.php.net/supported-versions

Mauvaise nouvelle.

Bonne nouvelle.
J’ai toute confiance en Domochip, qui fait du bon boulot :fire:
Sans oublier nebz et Foulek57 :+1:t2:

Paré à participer.

2 J'aimes

Salut, j’utilise la version du repo de domochip avec plus d’une centaine d’équipements venant de différents protocoles et répartis sur plusieurs vm. Je n’ai pas spécialement le temps de faire du deboggage et/ou d’aider à coder mais je ne manquerais pas de remonter les bugs.

En tout un immense merci à vous d’avoir repris ce plugin.
Au plaisir.

1 J'aime

OK, je regarde pour livrer les updates de la beta sur la master.
Est-ce que certains d’entre vous aurais l’occasion de l’utiliser ou faire quelques tests?

Voilà les updates :

  • Mises à jour du README, de la documentation et des informations du plugin
    • Amélioration de la remontée du niveau de batterie : commande dont le nom termine par « battery » ou « batterie » ou taggué avec le type générique batterie
    • Correction : la fenêtre « Configuration commande » ne s’affiche plus lors du double-click sur un champ textarea d’une commande (PR faite auprès de Jeedom Core en parallèle)
    • Correction : la fenêtre « Configuration commande » ne s’affiche plus sur les commandes qui ne sont pas encore sauvegardées (pas d’ID)
    • Amélioration du style des combobox sur les équipements
    • Rotation du symbole d’inclusion sur la liste des équipements
    • Descente du champ Commentaire
    • Correction : bug du numéro de commande action sur 2 lignes
    • Amélioration des performances de la vue JSON : Ajout des lignes commandes comme non visibles d’abord
    • Amélioration des performances de la vue JSON : Suppression de la librairie jQuery-TreeGrid et réécriture complète de la gestion de l’arborescence
    • Amélioration PR#26: Ajout d’une case à cocher afin d’afficher/masquer toutes les commandes (Amélioration cachée pour le moment)

Merci à vous trois !

Je viens de passer le plugin en bêta, c’est nickel.

Par contre j’ai un niveau de batterie qui n’était pas là avant et qui est mal configuré dans mon équipement :

``image

Après renommage de mes commandes j’ai bien la bonne valeur qui remonte dans le résumé des niveaux de batteries. Donc ça fonctionne !

Il faudrait peut être ajouter une condition 0<=$value<=100 sur la valeur afin de ne pas remonter une commande mal configurée.

Quel était le nom de la commande?

C’était battery, je l’ai renommé batteryState

La bonne valeur était "p":71 nommé p que j’ai renommée battery