mirror of
https://github.com/rstrouse/ESPSomfy-RTS.git
synced 2025-12-13 02:52:11 +01:00
Persist the disco configuration in MQTT
This commit is contained in:
parent
da551f3385
commit
0e91539457
4 changed files with 19 additions and 1 deletions
19
Somfy.cpp
19
Somfy.cpp
|
|
@ -1484,7 +1484,17 @@ void SomfyShade::publishDisco() {
|
|||
}
|
||||
|
||||
obj["enabled_by_default"] = true;
|
||||
mqtt.publishDisco(topic, obj);
|
||||
mqtt.publishDisco(topic, obj, true);
|
||||
}
|
||||
void SomfyShade::unpublishDisco() {
|
||||
if(!mqtt.connected() || !settings.MQTT.pubDisco) return;
|
||||
char topic[128] = "";
|
||||
if(this->shadeType != shade_types::drycontact && this->shadeType != shade_types::drycontact2) {
|
||||
snprintf(topic, sizeof(topic), "%s/cover/%d/config", settings.MQTT.discoTopic, this->shadeId);
|
||||
}
|
||||
else
|
||||
snprintf(topic, sizeof(topic), "%s/switch/%d/config", settings.MQTT.discoTopic, this->shadeId);
|
||||
mqtt.unpublish(topic);
|
||||
}
|
||||
void SomfyShade::publish() {
|
||||
if(mqtt.connected()) {
|
||||
|
|
@ -1549,6 +1559,13 @@ void SomfyShade::unpublish(uint8_t id) {
|
|||
SomfyShade::unpublish(id, "tiltTarget");
|
||||
SomfyShade::unpublish(id, "windy");
|
||||
SomfyShade::unpublish(id, "sunny");
|
||||
if(settings.MQTT.pubDisco) {
|
||||
char topic[128] = "";
|
||||
snprintf(topic, sizeof(topic), "%s/cover/%d/config", settings.MQTT.discoTopic, id);
|
||||
mqtt.unpublish(topic);
|
||||
snprintf(topic, sizeof(topic), "%s/switch/%d/config", settings.MQTT.discoTopic, id);
|
||||
mqtt.unpublish(topic);
|
||||
}
|
||||
}
|
||||
}
|
||||
void SomfyGroup::unpublish(uint8_t id) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue