Forçage sur Jeedom via MQTT - Version imprimable +- F1ATB forum (https://f1atb.fr/forum_f1atb) +-- Forum : Forum de F1ATB (https://f1atb.fr/forum_f1atb/forum-3.html) +--- Forum : Routeur Photovoltaïque (https://f1atb.fr/forum_f1atb/forum-4.html) +--- Sujet : Forçage sur Jeedom via MQTT (/thread-48.html) |
RE: Forçage sur Jeedom via MQTT - DanielJ - 08-06-2024 (07-06-2024, 02:15 PM)F1ATB a écrit : Vous y êtes presque. Regardez la doc sur le site F1ATB Bonjour André, Je me suis penché sur la modification de votre code source pour que celui-ci intègre bien un message de commande qui serait envoyé sur un topic racine + un topic de publication. En effet, actuellement ce code ne permet que d'agir sur réception d'un message sur un topic racine uniquement. Mais ce mode de fonctionnement pose un problème avec le plugin MQTT Manager utilisé avec Jeedom, celui-ci requérant obligatoirement un topic de publication qui ne peut être non vide. Voici quelques modifications que je vous propose de faire dans le fichier MQTT.ino, pour une intégration dans une éventuelle prochaine version. Ligne 55 Original : sprintf(TopicAct, "%s", LesActions[i].Titre.c_str()); Remplacer par : sprintf(TopicAct, "%s", "routeur/SSR1"); Où "routeur/SSR1" sont les topics racine/de publication. Ici ils sont codés en dur, mais je vous propose de pouvoir les personnaliser pour une prise en compte dans la variable LesActions[i].Titre, via l'interface HTML par exemple comme pour la lecture des informations de puissance Pw et pf. Lignes 108 à 115 Original : if (subMQTT == 1) { for (int i = 0; i < NbActions; i++) { if (LesActions[i].Actif > 0 && LesActions[i].Titre == String(topic)) { LesActions[i].tOnOff=ValJson("tOnOff", message); LesActions[i].Prioritaire(); } } } Remplacer par (modifications en rouge): if (String(topic) == "routeur/SSR1") { // Activation des relais SSR/Triacs sur le topic SSR1 if (subMQTT == 1) { for (int i = 0; i < NbActions; i++) { if (LesActions[i].Actif > 0 && String("routeur/SSR1") == String(topic)) { LesActions[i].tOnOff=ValJson("tOnOff", message); LesActions[i].Prioritaire(); } } } Cela reste très basique bien sûr, et c'est plus une rustine qu'autre chose. Mais avec ces modifications, il est possible désormais de commander les relais/triacs avec des commandes tOnOff à partir de Jeedom. En vous remerciant d'avance. Et merci infiniment également pour votre travail et la mise à disposition de ce remarquable routeur solaire ! Cordialement, Daniel RE: Forçage sur Jeedom via MQTT - Nalexdouze - 08-06-2024 Je n'utilise pas MQTT Manager, je le trouve contre-intuitif, d'ailleurs je n'ai pas réussi à faire passer une commande non plus Mais avec jMQTT https://market.jeedom.com/index.php?v=d&p=market_display&id=3166 les indications de André sont fonctionnelle. Toutefois je te rejoins sur le fait d'avoir commandes dans le topic du routeur et non à la racine du broker. Je regarde aussi à modifier le code en ce sens RE: Forçage sur Jeedom via MQTT - F1ATB - 09-06-2024 Si dans le routeur vous mettez comme nom "topic/ssr1" Cdlt RE: Forçage sur Jeedom via MQTT - Francky - 09-06-2024 Pour moi, cela ne fonctionne pas mais je vais laisser @danielJ répondre RE: Forçage sur Jeedom via MQTT - DanielJ - 09-06-2024 (08-06-2024, 07:36 PM)Nalexdouze a écrit : Je n'utilise pas MQTT Manager, je le trouve contre-intuitif, d'ailleurs je n'ai pas réussi à faire passer une commande non plus Bonjour, Merci pour l'information concernant jMQTT. Le problème (si problème il y a...), c'est que jMQTT est un plugin 'privé' dont le développement ne tient qu'au bon vouloir de 'Bad' qui le maintient. Si aujourd'hui je ne doute pas qu'il fonctionne bien, et peut-être même mieux que MQTT Manager, ce ne sera pas forcément le cas demain. Les exemples de plugins dans le market place de Jeedom, plus ou moins abandonnés par leurs concepteurs, ne sont pas rares malheureusement. Aussi lorsqu'un plugin 'officiel' (maintenu par la team Jeedom) co-existe avec un plug-in 'privé' qui n'offre pas cette garantie de pérennité, pour moi le choix est vite fait... Après, c'est vrai aussi que je n'ai pas envie non plus de remplacer ce plugin uniquement pour cette raison, car derrière j'ai quelques 80 équipements divers est variés (en Wifi et Zigbee) qui tournent avec sans aucun problème. Maintenant pour en revenir aux commandes envoyées directement sur la racine du topic MQTT sans passer par un topic de publication, je ne suis pas sûr en effet que ce soit bien conforme à cette norme (à vérifier...). (09-06-2024, 08:24 AM)F1ATB a écrit : Si dans le routeur vous mettez comme nom "topic/ssr1" Bonjour André, Si c'est bien sur la modification de ce paramètre que l'on parle : Hélas, je viens de tester de mon coté également comme Francky, et je ne peux que confirmer que cela ne fonctionne pas en effet... Perso, je crois avoir dû tester quasiment toutes les combinaisons possibles sur ce paramètre, sans succès. Cdlt, RE: Forçage sur Jeedom via MQTT - F1ATB - 09-06-2024 Donnez à votre SSR sur le routeur le nom "topic/SSR1" RE: Forçage sur Jeedom via MQTT - F1ATB - 09-06-2024 Le nom doit être donné dans le titre de l' action sur l page actions , exemple chauffeeau/SSR1 Cdlt RE: Forçage sur Jeedom via MQTT - DanielJ - 09-06-2024 (09-06-2024, 01:48 PM)F1ATB a écrit : Le nom doit être donné dans le titre de l' action sur l page actions , exemple chauffeeau/SSR1 Ok, bien vu. J'ai donc testé comme ça : Les paramètres MQTT restent donc inchangés : Commandes testées avec MQTT Explorer et jeedom : et.... Ca fonctionne ! Et bien un grand merci ! Finalement la solution est plutôt simple à mettre en oeuvre, il fallait juste y penser... Pas besoin d'intégrer un patch quelconque du coup, je pense qu'on peut vivre avec un nom de type xxx/relais. Ca m'aura permis de faire un peu d'analyse de code, c'est un bon entraînement... Merci pour vos lumières André ! Dès que je serai passé au stade de la réalisation pratique et fonctionnelle (très bientôt), je ne manquerai pas de vous en faire part ! RE: Forçage sur Jeedom via MQTT - Francky - 09-06-2024 Merci pour l'astuce J'ai mis mon post a jour => https://community.jeedom.com/t/tuto-realisation-dun-routeur-solaire-de-f1atb-avec-passerelle-enphase/124684 Idem, cela fonctionne pour moi aussi RE: Forçage sur Jeedom via MQTT - F1ATB - 09-06-2024 Heureux de voir qu'une solution simple, résout ce petit problème. Cdlt André |