diff --git a/octoprint/settings.py b/octoprint/settings.py
index b1e67ce..2d05f9b 100644
--- a/octoprint/settings.py
+++ b/octoprint/settings.py
@@ -248,7 +248,7 @@ class Settings(object):
return feedbackControls
def _getFeedbackControls(self, control=None):
- if control["type"] == "feedback_command":
+ if control["type"] == "feedback_command" or control["type"] == "feedback":
pattern = control["regex"]
try:
matcher = re.compile(pattern)
diff --git a/octoprint/static/js/app/viewmodels/control.js b/octoprint/static/js/app/viewmodels/control.js
index bfab9e0..3f89d57 100644
--- a/octoprint/static/js/app/viewmodels/control.js
+++ b/octoprint/static/js/app/viewmodels/control.js
@@ -68,7 +68,7 @@ function ControlViewModel(loginStateViewModel, settingsViewModel) {
for (var i = 0; i < control.input.length; i++) {
control.input[i].value = control.input[i].default;
}
- } else if (control.type == "feedback_command") {
+ } else if (control.type == "feedback_command" || control.type == "feedback") {
control.output = ko.observable("");
self.feedbackControlLookup[control.name] = control.output;
} else if (control.type == "section") {
@@ -162,6 +162,8 @@ function ControlViewModel(loginStateViewModel, settingsViewModel) {
return "customControls_parametricCommandTemplate";
case "feedback_command":
return "customControls_feedbackCommandTemplate";
+ case "feedback":
+ return "customControls_feedbackTemplate";
default:
return "customControls_emptyTemplate";
}
diff --git a/octoprint/templates/index.jinja2 b/octoprint/templates/index.jinja2
index 6d077ee..1d8883e 100644
--- a/octoprint/templates/index.jinja2
+++ b/octoprint/templates/index.jinja2
@@ -402,6 +402,11 @@
+