remove door sensor discovery topic when no door sensor preent

This commit is contained in:
technyon
2023-03-11 18:18:14 +01:00
parent c0a2a69d08
commit 71138e0849
3 changed files with 33 additions and 0 deletions

View File

@@ -996,6 +996,27 @@ void Network::publishHassTopic(const String& mqttDeviceType,
}
}
void Network::removeHassTopic(const String& mqttDeviceType, const String& mattDeviceName, const String& uidString)
{
String discoveryTopic = _preferences->getString(preference_mqtt_hass_discovery);
if (discoveryTopic != "")
{
String path = discoveryTopic;
path.concat("/");
path.concat(mqttDeviceType);
path.concat("/");
path.concat(uidString);
path.concat("/");
path.concat(mattDeviceName);
path.concat("/config");
_device->mqttPublish(path.c_str(), MQTT_QOS_LEVEL, true, "");
}
}
void Network::removeHASSConfig(char* uidString)
{
String discoveryTopic = _preferences->getString(preference_mqtt_hass_discovery);
@@ -1058,6 +1079,11 @@ void Network::removeHASSConfig(char* uidString)
}
}
void Network::removeHASSConfigDoorSensor(char *deviceType, const char *baseTopic, char *name, char *uidString)
{
removeHassTopic("binary_sensor", "door_sensor", uidString);
}
void Network::publishPresenceDetection(char *csv)
{
_presenceCsv = csv;