publish mqtt emsesp on-change messages on connect

This commit is contained in:
MichaelDvP
2025-12-19 17:14:50 +01:00
parent b4affbff6d
commit 1b8b72c443
6 changed files with 42 additions and 21 deletions

View File

@@ -378,10 +378,20 @@ void WebCustomEntityService::publish_single(CustomEntityItem & entity) {
}
// publish to Mqtt
void WebCustomEntityService::publish() {
if (!Mqtt::enabled() || customEntityItems_->empty()) {
void WebCustomEntityService::publish(const bool force) {
if (!Mqtt::connected() || customEntityItems_->empty()) {
return;
}
if (force) {
if (Mqtt::publish_single()) {
for (CustomEntityItem & entityItem : *customEntityItems_) {
publish_single(entityItem);
}
return;
} else if (!EMSESP::mqtt_.get_publish_onchange(0)) {
return; // wait for first time periode
}
}
JsonDocument doc;
JsonObject output = doc.to<JsonObject>();