![]() |
Controle plus poussé des actions 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) +---- Forum : Evolutions faites, à faire, dont vous rêvez... (https://f1atb.fr/forum_f1atb/forum-10.html) +---- Sujet : Controle plus poussé des actions via MQTT (/thread-948.html) |
Controle plus poussé des actions via MQTT - piamp - 13-01-2025 Bonjour, parce que j'ai souvent besoin de mettre en route / arrêter des actions (mais sans les forcer sur on ou off) j'ai ajouté ce petit bout de code dans mqtt.ino qui permet d'envoyer en mqtt un ordre pour choisir l'état des actions : dans la fonction testMQTTconnected : //souscription controle action char TopicCont[50]; sprintf(TopicCont,"%s",MQTTdeviceName); clientMQTT.subscribe(TopicCont); // fin ajout puis dans la fonction callback : //ajout controle actions if (String(topic) == MQTTdeviceName) { LesActions[int(char(payload[0])) - 48].Actif = int(char(payload[1])) - 48; } //fin ajout controle actions il suffit ensuite d'envoyer via home assistant ou autre, en mqtt, un message dans le topic correspondant au nom du routeur, de 2 caractères. le premier caractère indique le numéro de l'action à modifier, le second son état (0= éteint, 2=multisinus) par exemple envoyer "00" sur un routeur à triac éteint l'action triac ; envoyer "02" le mets en mode multi sinus ![]() RE: Controle plus poussé des actions via MQTT - Chris - 13-01-2025 Bonjour, Ça, c'est le genre de code qui aurait tout à fait sa place dans les évolutions souhaitées ! Je vote pour :-) RE: Controle plus poussé des actions via MQTT - Nalexdouze - 13-01-2025 Pas mal ça ;-) RE: Controle plus poussé des actions via MQTT - Nalexdouze - 16-01-2025 Ta proposition et ton travail m'ont inspiré ![]() J'ai travaillé à partir de ma version 12.06 personnalisée. J'ai modifié cette partie du callback Code : if (subMQTT == 1) { Ainsi en envoyant un message JSON { "tOnOff":0, // en minutes, déja existant "Mode": "Decoupe", // Inactif || Decoupe/OnOff || Multi || Train "Seuil": 600, // Seuil Pw de l'action "Periode": 0 // Période de l'action à modifier de 0 à X } dans le sujet : PrefixMQTT / MQTTdeviceName / actions / nom_de_Actions Le message peut ne contenir d'une seule valeur. Si aucune période n'est précisée ça sera la 0 qui sera modifiée. Je souhaitais faire ces actions car étant en Offre EDF Zen Week-End - Option Flex, une sorte de Tempo, les jours "rouges" je désactive manuellement ma période 1 (de 20h30 à 0h) pour ne pas chauffer l'eau à un tarif trop élevé. Ainsi je peux scénariser le Seuil Pw à 5800 le jours "Eco" et à 0 les jours de "Sobriété" pour neutraliser la chauffe du soir. Reste a voir s'il est pertinent de garder en StockMessage les actions reçu... Si d'autres téméraires sont intéressé et veulent tester ce bout de code ![]() RE: Controle plus poussé des actions via MQTT - F1ATB - 16-01-2025 J'ai déplacé les messages dans le sous forum évolution pour m'en souvenir lors d'une prochaine version. André RE: Controle plus poussé des actions via MQTT - James - 21-02-2025 Excellent ! J'attends impatiemment cette modification qui me serait très utile ... ?Merci Piamp, Alexdouze, André ? RE: Controle plus poussé des actions via MQTT - F1ATB - 21-02-2025 A la lecture du code que je n'ai pas encore eu le temps de tester, je tique sur une instruction int periodeRecu = ValJson("Periode", message); ValJson renvoie normalement un float et on déclare la variable comme un entier. Le compilo accepte? André RE: Controle plus poussé des actions via MQTT - Nalexdouze - 24-02-2025 La compilation passe en tout cas ![]() Dans l'absolu seuilRecu est aussi un entier, du moins c'est des entiers que j'envoie dans mon json ![]() Je n'ai précisé mais le message peut-être : { "tOnOff":0, // pour une marche forcée, rien ne change } ou { "Mode": "Decoupe", // change le mode } ou { "Seuil": 5800, // Définit le seuil de la période 2 à 5800W "Periode": 2 } RE: Controle plus poussé des actions via MQTT - Lo13 - 02-03-2025 Salut, Ca à l'air génial comme méthode de controle surtout avec Home Assistant et ses Automations. A partir de quelle ligne doit on modifié dans le fichier MQTT.ino ? 67 ou 130 ? En tout cas bon boulot ! J'espere que ca sera dans une prochaine version ![]() (16-01-2025, 04:43 PM)Nalexdouze a écrit : Ta proposition et ton travail m'ont inspiré |