Closed KipK closed 8 years ago
Petite précision je viens de trouver la doc qui me manquait cruellement. J'aurais bientôt plus de visibilité sur la question.
Pour récupérer la liste des topic, faut récupérer tous les équipements actifs (c'est mieux et laisser de cotes les désactivés), c'est présent dans tous les plugins à cron par exemple heliotrope ou vigilance météo. on fait un foreach (eqLogic::byType('MQTT', true) as $mqtt) {$topic=$mqtt->getConfiguration('topic');} Donc ca dans le start du daemon Et il faut ajouter un postUpdate dans le class qui fera juste une vérification si on est en mode manuel ou automatique (en checkant la clef de config) et si on est en mode manuel, un stop du service (et il redémarrera en auto)
Merci beaucoup!
J'étais vraiment pas loin mais j'avais fait une erreur de débutant. J'ai tout ce qui faut pour avancer c'est top. Je te soumet le pull quand c'est bien testé.
A +
Guillaume
Et voilà, dis moi si ça te va ou si j'ai fait des énormités. Je pense avoir testé tout les cas possible, ça m'a l'air solide.
Salut,
J'essaye de rajouter une gestion manuelle des topics dans le plugin. Mais je découvre le code de Jeedom que depuis hier il me manque pas mal de bases pour aller plus loin ( manque cruel de doc développeur sur le wiki jeedom ). Et le PHP n'est pas encore mon fort mais je devrais m'en sortir.
Voila l'idée: En mode manuel: par défaut le plugin n'écoute aucun topic.
A la création manuelle d'un device MQTT, rendre éditable le champs topic ( Fait ) Quand le device est sauvegardé, subscribe le nouveau topic auprès de mosquito ( i.e. "mqtt/device1/+", et unsubscribe le topic précédent si modification il y a. Ensuite le plugin MQTT continuerait de rajouter les valeurs info des messages reçus sur le topic parent de manière automatique comme c'est déjà le cas. Au démarrage du daemon, récupérer tout les topics de chaque device et subscribe à chacun d'entre eux ( si mode manuel sélectionné, sinon mode auto comme c'est déjà le cas ).
Mon soucis, je ne vois pas encore comment récupérer la valeur topic de chaque device dans la fonction daemon, ni comment rajouter un topic à la création/sauvegarde d'un device.
Si tu as un exemple ou des conseils pour me guider. :)
Merci d'avance.