diff --git a/src/mqtt.cpp b/src/mqtt.cpp index fff282132..853be8a36 100644 --- a/src/mqtt.cpp +++ b/src/mqtt.cpp @@ -374,7 +374,12 @@ void Mqtt::on_message(const char * fulltopic, const char * payload, size_t len) char data_str[10]; cmd_known = Command::call(mf.device_type_, command, Helpers::render_value(data_str, (float)data.as(), 2), n); } else if (data.isNull()) { - cmd_known = Command::call(mf.device_type_, command, "", n); + DynamicJsonDocument resp(EMSESP_JSON_SIZE_XLARGE_DYN); + JsonObject json = resp.to(); + cmd_known = Command::call(mf.device_type_, command, "", n, json); + if (cmd_known && json.size()) { + Mqtt::publish(F("response"), resp.as()); + } } if (!cmd_known) {