fix to PR # 3887 MQTT connection not using discovery: false (#5275)

This commit is contained in:
luka6000 2023-09-01 03:20:21 +02:00 committed by GitHub
parent 01f6791d1c
commit 3003485dc6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -66,25 +66,28 @@ void MQTTClientComponent::setup() {
} }
#endif #endif
this->subscribe( if (this->is_discovery_enabled()) {
"esphome/discover", [this](const std::string &topic, const std::string &payload) { this->send_device_info_(); }, this->subscribe(
2); "esphome/discover", [this](const std::string &topic, const std::string &payload) { this->send_device_info_(); },
2);
std::string topic = "esphome/ping/"; std::string topic = "esphome/ping/";
topic.append(App.get_name()); topic.append(App.get_name());
this->subscribe( this->subscribe(
topic, [this](const std::string &topic, const std::string &payload) { this->send_device_info_(); }, 2); topic, [this](const std::string &topic, const std::string &payload) { this->send_device_info_(); }, 2);
}
this->last_connected_ = millis(); this->last_connected_ = millis();
this->start_dnslookup_(); this->start_dnslookup_();
} }
void MQTTClientComponent::send_device_info_() { void MQTTClientComponent::send_device_info_() {
if (!this->is_connected()) { if (!this->is_connected() or !this->is_discovery_enabled()) {
return; return;
} }
std::string topic = "esphome/discover/"; std::string topic = "esphome/discover/";
topic.append(App.get_name()); topic.append(App.get_name());
this->publish_json( this->publish_json(
topic, topic,
[](JsonObject root) { [](JsonObject root) {