Clear retained HA discovery for removed meters
This commit is contained in:
@@ -272,6 +272,16 @@ static void mqttPublishDiscovery() {
|
||||
bool pubOk = mqttClient.publish(topic, payload, true);
|
||||
Serial.printf("[MQTT] discovery %s -> %s (ok=%d)\n", topic, payload, pubOk);
|
||||
}
|
||||
|
||||
// Clear retained discovery for slots no longer in use (meters removed) so
|
||||
// Home Assistant drops the stale entities instead of keeping them forever.
|
||||
for (int i = meterCount; i < MAX_METERS; i++) {
|
||||
String objId = String(devId) + "_meter_" + String(i) + "_current";
|
||||
char topic[128];
|
||||
snprintf(topic, sizeof(topic), "homeassistant/number/%s/config", objId.c_str());
|
||||
mqttClient.publish(topic, "", true);
|
||||
Serial.printf("[MQTT] discovery clear %s\n", topic);
|
||||
}
|
||||
}
|
||||
|
||||
static void mqttSubscribe() {
|
||||
|
||||
Reference in New Issue
Block a user