13-01-2025, 04:14 PM
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
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