MQTT wird immer mitkompiliert?

Moin zusammen,

ich bin nun endlich auch auf den aktuellen Branch umgestiegen und bekomme im LOG (VisualStudio) immer:

[E][Preferences.cpp:473] getString(): nvs_get_str len fail: mqttServer NOT_FOUND
[E][Preferences.cpp:473] getString(): nvs_get_str len fail: mqttUser NOT_FOUND
[E][Preferences.cpp:473] getString(): nvs_get_str len fail: mqttPassword NOT_FOUND

In der settings.h habe ich es aber auskommentiert:
//#define MQTT_ENABLE

Auf einem TTG08.

Ist das normal, also einfach ein Überbleibsel der LOG-Ausgabe?
Im Webinterface finde ich keine MQTT-Config-Möglichkeiten.
Daher bin ich mir nicht sicher, ob/was jetzt mitcompiliert wurde.

Beim UPLOAD and MONITOR findet sich aber:

Compiling .pio\build\ttgo_t8\src\Mqtt.cpp.o
....
src/Mqtt.cpp: In function 'bool Mqtt_Reconnect()':
src/Mqtt.cpp:287:1: warning: no return statement in function returning non-void [-Wreturn-type]
 }
 ^
src/Mqtt.cpp: At global scope:
src/Mqtt.cpp:290:6: warning: 'void Mqtt_ClientCallback(const char*, const byte*, uint32_t)' defined but not used [-Wunused-function]
 void Mqtt_ClientCallback(const char *topic, const byte *payload, uint32_t length) {
      ^
src/Mqtt.cpp:212:6: warning: 'bool Mqtt_Reconnect()' defined but not used [-Wunused-function]
 bool Mqtt_Reconnect() {
      ^
src/Mqtt.cpp:196:6: warning: 'void Mqtt_PostHeartbeatViaMqtt()' defined but not used [-Wunused-function]
 void Mqtt_PostHeartbeatViaMqtt(void) {
      ^
src/Mqtt.cpp:181:6: warning: 'void Mqtt_PostWiFiRssi()' defined but not used [-Wunused-function]
 void Mqtt_PostWiFiRssi(void) {

Und im WebIF immer wieder „Verbindung unterbrochen…“

Also die Meldungen von ganz oben muss ich mir mal anschauen. Es geht darum, dass verschiedene Einträge im NVS am Anfang vorbelegt werden. Aber wenn man MQTT nicht aktiviert, dann sollte hier auch nix kommen.

Zum Rest:
@tuniii hat ja das Refactoring vorgenommen. Dabei hat er die Funktionen (also deren Rumpf) drin gelassen, ihren Inhalt jedoch nur eingeschlossen, wenn MQTT auch wirklich aktiviert wurde. Das führt jetzt zu diesen Warnungen, die natürlich ein Stück weit unschön sind, jedoch unkritisch auf der anderen Seite. Die Funktionen sind dann nämlich vorhanden (wenn auch leer), werden aber nicht verwendet.
@tuniii: Ich nehme mal an, dass du dir bei der Vorgehensweise was gedacht hast :slight_smile: . Geht es darum, dass man in verschiedenen Fällen nicht immer wieder in Probleme laufen kann, dass auf Funktionen verwiesen wird, die es dann aber doch nicht gibt?

Aber nur, wenn du den ESPuino neu gestartet hast, oder?

Es gibt sie schon. Aber nur, wenn man MQTT aktiviert hat.

Ich glaube ich sollte MQTT per Default mit deaktivieren. Habe irgendwie den Eindruck, dass ich mehr oder weniger der einzige bin, der es benutzt. Hat sich noch nicht rumgesprochen, wie cool MQTT ist :slight_smile:

Dann ist ja alles bestens :slight_smile:
DANKE

Ich meine auch, dass es nur beim Start ist (das WebIF-Problemchen)
Werde es genauer beobachten.

Das mit der Verbindung zum ESPuino ist aber schon auch sowas, was ich mir nochmal anschauen will. Die Meldungen sind schon auch teilweise bissl nervig. Da muss ich mir vielleicht mal ne bessere Strategie einfallen lassen und/oder mit Status-Flags arbeiten.

Ich würde MQTT uach gern nutzen. Leider kommt in meinem ioBroker nur eine verbunden Meldung an und sonst nichts. Hab mich aber auch noch nicht hingesetzt und weiter verfolgt an was das liegt.

Falscher Thread? :slight_smile:

Ansonsten habe ich vorhin MQTT per Default deaktiviert.
Um nochmal die Warnungen aufzugreifen: Der Vorteil an der aktuellen Vorgehensweise ist, dass man die ganzen #ifdef-Direktiven aus der main.cpp raushalten kann. D.h. man ruft eine Funktion einfach so oder so auf. Ist MQTT nicht aktiviert, dann ist die Funktion halt leer und nix passiert.

Ja ^^ Kannst löschen.

Na ich nutze es auch :smiley:

1 „Gefällt mir“

Für diejenigen, die gerne auch mit MQTT arbeiten möchten, sich damit jedoch nicht auskennen, sei an dieser Stelle nochmal die Doku von HiveMQ empfohlen: MQTT Essentials - All Core Concepts explained.
Und natürlich meine eigene Doku: 📗 ESPuino und MQTT.

1 „Gefällt mir“