08-06-2024, 04:36 PM
(07-06-2024, 02:15 PM)F1ATB a écrit : Vous y êtes presque. Regardez la doc sur le site F1ATB
Il vous manque les { } pour délimiter un message JSON
Le nom Triac1 ou autre doit être également identique au nom donné dans le routeur
Cordialement, André.
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