Skip to content

Commit 030d255

Browse files
committed
solved problem in reconnect wifi client after a failure with esp32duino version 3; new release
1 parent eb848c8 commit 030d255

File tree

3 files changed

+11
-2
lines changed

3 files changed

+11
-2
lines changed

platformio/stima_v3/stimawifi/include/stimawifi_config.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
#define STIMAWIFI_CONFIG_H_
33

44
// increment on change
5-
#define SOFTWARE_VERSION "2024-10-16T00:00" // date and time
6-
#define MAJOR_VERSION "20241016" // date YYYYMMDD
5+
#define SOFTWARE_VERSION "2024-10-17T00:00" // date and time
6+
#define MAJOR_VERSION "20241017" // date YYYYMMDD
77
#define MINOR_VERSION "0" // time HHMM without leading 0
88

99
#define WIFI_SSED "STIMA-config"

platformio/stima_v3/stimawifi/src/publish_thread.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -306,6 +306,7 @@ publishThread::publishThread(publish_data_t* publish_data)
306306
//data->logger->notice("Create Thread %s %d", GetName().c_str(), data->id);
307307
data->status->connect=unknown;
308308
data->status->publish=unknown;
309+
errorcount=0;
309310
//Start();
310311
};
311312

@@ -369,11 +370,18 @@ void publishThread::Run() {
369370
mqttDisconnect();
370371
if (mqttConnect(true)) { // manage mqtt reconnect as RMAP standard
371372
data->logger->notice(F("publish MQTT connected"));
373+
errorcount = 0;
372374
data->status->connect=ok;
373375
} else {
374376
data->status->connect=error;
375377
data->logger->error(F("publish MQTT connect failed"));
376378
data->status->publish=error;
379+
errorcount++;
380+
if (errorcount > 15) {
381+
data->logger->error(F("publish too much error: drop WiFi"));
382+
WiFi.disconnect();
383+
errorcount = 0;
384+
}
377385
delay(3000);
378386
}
379387
}

platformio/stima_v3/stimawifi/src/publish_thread.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ class publishThread : public Thread {
4646
publish_data_t* data;
4747
IPStack ipstack;
4848
MQTT::Client<IPStack, Countdown, MQTT_PACKET_SIZE, 1 > mqttclient;
49+
uint8_t errorcount;
4950
};
5051

5152
#endif

0 commit comments

Comments
 (0)