fix mqtt heartbeat #710

This commit is contained in:
proddy
2021-02-22 12:41:12 +01:00
parent 40e22038f7
commit 0dc0671690
3 changed files with 5 additions and 10 deletions

View File

@@ -444,7 +444,7 @@ bool Mqtt::get_publish_onchange(uint8_t device_type) {
// MQTT onConnect - when an MQTT connect is established
// send out some inital MQTT messages
void Mqtt::on_connect() {
if (connecting_) {
if (connecting_) { // prevent duplicating connections
return;
}

View File

@@ -138,10 +138,6 @@ class Mqtt {
return mqtt_enabled_;
}
static bool is_connecting() {
return connecting_;
}
static std::string base() {
return mqtt_base_;
}

View File

@@ -373,14 +373,13 @@ void System::show_mem(const char * note) {
// send periodic MQTT message with system information
void System::send_heartbeat() {
// don't send heartbeat if WiFi is not connected
int8_t rssi = wifi_quality();
if (rssi == -1) {
// don't send heartbeat if WiFi or MQTT is connected
if (!Mqtt::connected()) {
return;
}
// don't send if we're connecting to MQTT
if (Mqtt::is_connecting()) {
int8_t rssi = wifi_quality();
if (rssi == -1) {
return;
}