ESP8266/ESP32: Fehler 'invalid conversion from int to esp_mqtt_event_id_t' beheben

English Deutsch

Wenn eine Fehlermeldung wie diese erscheint:

compile_error.txt
src/main.cpp: In function 'void InitMQTT()':
/home/uli/.platformio/packages/framework-arduinoespressif32/tools/sdk/esp32/include/esp_event/include/esp_event_base.h:37:32: error: invalid conversion from 'int' to 'esp_mqtt_event_id_t' [-fpermissive]
 #define ESP_EVENT_ANY_ID       -1               /**< register handler for any event id */

src/main.cpp:80:44: note: in expansion of macro 'ESP_EVENT_ANY_ID'
    esp_mqtt_client_register_event(client, ESP_EVENT_ANY_ID, mqtt_event_handler, client);
                                    ^~~~~~~~~~~~~~~~

ESP_EVENT_ANY_ID durch MQTT_EVENT_ANY ersetzen und neu kompilieren. Dies behebt das Problem. Die Verwendung von ESP_EVENT_ANY_ID war in einer veralteten Version der MQTT-Bibliothek möglich.


Check out similar posts by category: Arduino, Embedded, ESP8266/ESP32, MQTT, Networking, PlatformIO