Skip to content

Commit 9140b1b

Browse files
authored
Merge pull request #688 from BrentIO/fix/685
fix: clear OTA update availability on initial MQTT connect after reboot
2 parents cfa4777 + 7069c87 commit 9140b1b

1 file changed

Lines changed: 9 additions & 0 deletions

File tree

Controller/Controller.ino

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3661,6 +3661,10 @@ void setup_OtaFirmware(){
36613661
if(!mqttClient.connected()){ return; }
36623662
eventLog.createEvent("OTA update available");
36633663

3664+
char availability_topic[MQTT_TOPIC_UPDATE_AVAILABILITY_LENGTH+1];
3665+
snprintf(availability_topic, sizeof(availability_topic), MQTT_TOPIC_UPDATE_AVAILABILITY_PATTERN, deviceIdentity.data.uuid);
3666+
mqttClient.publish(availability_topic, "online", true);
3667+
36643668
JsonDocument mqttDoc;
36653669
mqttDoc["installed_version"] = VERSION;
36663670
mqttDoc["latest_version"] = version;
@@ -4168,6 +4172,11 @@ void mqtt_reconnect(){
41684172
mqtt_autoDiscovery_heapFree();
41694173
mqtt_autoDiscovery_heapLargestFreeBlock();
41704174
mqttClient.autoDiscovery.sent = true;
4175+
if(deviceIdentity.enabled && !_otaManifestUrl.isEmpty()){
4176+
char update_avail_topic[MQTT_TOPIC_UPDATE_AVAILABILITY_LENGTH+1];
4177+
snprintf(update_avail_topic, sizeof(update_avail_topic), MQTT_TOPIC_UPDATE_AVAILABILITY_PATTERN, deviceIdentity.data.uuid);
4178+
mqttClient.publish(update_avail_topic, "offline", true);
4179+
}
41714180
}
41724181
mqtt_publishAllAvailability();
41734182
mqtt_publishTemperatures();

0 commit comments

Comments
 (0)