How to fix error: invalid conversion from 'int' to 'esp_mqtt_event_id_t' on the ESP8266 or ESP32
If you see an error message like
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);
^~~~~~~~~~~~~~~~
replaceESP_EVENT_ANY_ID
by MQTT_EVENT_ANY
and recompile. This will fix the issue. Using ESP_EVENT_ANY_ID
was possible in an outdated version of the MQTT library.