Bonjour,

J'ai un broker dans un Pi qui diffuse en local 3 Topic. Voici une copie d'écran de MQTT Eplorer

Nom : 2023.02.03 09.420001.png
Affichages : 179
Taille : 11,3 Ko

Les topics TFA et CPT sont gérés par moi, le topic Meteo par le programme WeeWX http://weewx.com/ . On voit qu'il est présenté différemment et je ne sais pas pourquoi.

Je sais lire sur un ESP8266 les messages de TFA et de CPT, mais pas de Meteo.

Auriez-vous une idée ?
Merci d'avance

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include <ESP8266WiFi.h>
#include <PubSubClient.h> 
 
static const char alphanum[] = "0123456789"
                               "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
                               "abcdefghijklmnopqrstuvwxyz";
 
void setup_mqtt() {
  client.setServer(mqtt_server, mqttPort);
  client.setCallback(callback);//Déclaration de la fonction de souscription
  reconnect();
}
 
void reconnect() {
  while (!client.connected()) {
    Serial.print("Connection au serveur MQTT avec le nom ");
    char* clientName = "\0\0\0\0\0\0\0\0";
    randomSeed(analogRead(A0));
    for (int i = 0; i < 8; i++) {
      clientName[i] = alphanum[random(61)];
    }
    Serial.println(clientName);
    if (client.connect(clientName)) {
      Serial.println("MQTT connecté");
    }
    else {
      Serial.print("echec, code erreur= ");
      Serial.println(client.state());
      Serial.println("nouvel essai dans 1.5 s");
      delay(1500);
    }
  }
  client.subscribe("TFA");
  client.subscribe("CPT");
  client.subscribe("Meteo"); // ou "Meteo/loop" ou d'autres combinaisons
}
 
void callback(char* topic, byte *payload, unsigned int length) {
  byte cnl;
  char sTmp[1700];
  for (int i = 0; i < length; i++) {
    sTmp[i] = (char)payload[i];
  }
  sTmp[length] = '\0'; // important : termine la chaine de caractères
  Serial.print(topic);
  Serial.print(" => ")
  Serial.println(sTemp);
  //le reste du traitement n'a pas d'importance
}
en ne mettant que
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
  //client.subscribe("TFA");
  //client.subscribe("CPT");
  client.subscribe("#");
je n'ai que TFA et CPT ...