adafruit / Adafruit_MQTT_Library

Arduino library for MQTT support
MIT License
571 stars 291 forks source link

Connectivity issue when using broker on local IP #214

Open peterbraden opened 1 year ago

peterbraden commented 1 year ago

When using a local broker with an IP rather than a hostname, I experienced an inability to connect (error code -1). Using a different MQTT library with exactly the same connection settings and credentials worked perfectly.

Unfortunately, even when enabling the debug settings, I didn't get any more information to help diagnose - client->connect returned 0 in connectServer, but I didn't get any deeper into diagnosis.

Connect to a broker on a local IP (ie. "192.168.0.12", port "1883").

jeffmcfadden commented 1 year ago

I am currently running into the exact same issue. Which other MQTT library(ies) worked for you?

Nistp commented 1 year ago

@jeffmcfadden did you try passing in the IP address as in XXX.XXX.XXX.XXX (not a string!) or an actual 'servername', as in "http://XXX.XXX.XXX.XXX/"?

Edit: checked again, the Adafruit MQTT library currently does not support IP addresses (passing in XXX.XXX.XXX.XXX) as how they are defined in the Arduino ESP32. The best options are to either try passing in "http(s)//XXX.XXX.XXX.XXX/" or assignning a name to the device on your DNS server or using a different library.