@@ -137,7 +137,10 @@ void ArduinoIoTCloudClass::poll()
137137void ArduinoIoTCloudClass::update ()
138138{
139139 // If user call update() without parameters use the default ones
140- update (MAX_RETRIES, RECONNECTION_TIMEOUT);
140+ if (iotStatus == IOT_STATUS_CLOUD_CONNECTED){
141+ update (MAX_RETRIES, RECONNECTION_TIMEOUT);
142+ }
143+
141144}
142145
143146bool ArduinoIoTCloudClass::mqttReconnect (int const maxRetries, int const timeout)
@@ -258,7 +261,8 @@ void ArduinoIoTCloudClass::handleMessage(int length)
258261void ArduinoIoTCloudClass::connectionCheck () {
259262 connection->check ();
260263 if (connection->getStatus () != CONNECTION_STATE_CONNECTED) {
261- iotStatus = IOT_STATUS_CLOUD_DISCONNECTED;
264+ if (iotStatus == IOT_STATUS_CLOUD_CONNECTED)
265+ iotStatus = IOT_STATUS_CLOUD_DISCONNECTED;
262266 return ;
263267 }
264268 char msgBuffer[120 ];
@@ -279,7 +283,7 @@ void ArduinoIoTCloudClass::connectionCheck() {
279283 debugMessage (" Cloud Error. Retrying..." , 0 );
280284 break ;
281285 case IOT_STATUS_CLOUD_CONNECTED:
282- debugMessage (" connected to Arduino IoT Cloud" , 2 );
286+ debugMessage (" connected to Arduino IoT Cloud" , 3 );
283287 break ;
284288 case IOT_STATUS_CLOUD_DISCONNECTED:
285289 iotStatus = IOT_STATUS_CLOUD_RECONNECTING;
@@ -298,7 +302,7 @@ void ArduinoIoTCloudClass::connectionCheck() {
298302 }
299303 break ;
300304 case IOT_STATUS_CLOUD_CONNECTING:
301- debugMessage (" IoT Cloud connecting..." , 3 );
305+ debugMessage (" IoT Cloud connecting..." , 1 );
302306 arduinoIoTConnectionAttempt = connect ();
303307 *msgBuffer = 0 ;
304308 sprintf (msgBuffer, " ArduinoCloud.connect(): %d" , arduinoIoTConnectionAttempt);
0 commit comments