diff --git a/interfaces/sensor.h b/interfaces/sensor.h
index cd84021..4b4be38 100644
--- a/interfaces/sensor.h
+++ b/interfaces/sensor.h
@@ -30,6 +30,10 @@
 
 
 
+  gboolean (*handle_get_threshold_state) (
+    SensorInteger *object,
+    GDBusMethodInvocation *invocation);
+
   gboolean (*handle_get_units) (
     SensorInteger *object,
     GDBusMethodInvocation *invocation);
@@ -38,10 +42,6 @@
     SensorInteger *object,
     GDBusMethodInvocation *invocation);
 
-  gboolean (*handle_go) (
-    SensorInteger *object,
-    GDBusMethodInvocation *invocation);
-
   gboolean (*handle_set_config_data) (
     SensorInteger *object,
     GDBusMethodInvocation *invocation,
@@ -52,12 +52,30 @@
     GDBusMethodInvocation *invocation,
     gint arg_poll_interval);
 
+  gboolean (*handle_set_thresholds) (
+    SensorInteger *object,
+    GDBusMethodInvocation *invocation,
+    gint arg_lower_critical,
+    gint arg_lower_warning,
+    gint arg_upper_warning,
+    gint arg_upper_critical);
+
   gint  (*get_changed_tolerance) (SensorInteger *object);
 
   const gchar *const * (*get_config_data) (SensorInteger *object);
 
   gint  (*get_poll_interval) (SensorInteger *object);
 
+  gint  (*get_threshold_lower_critical) (SensorInteger *object);
+
+  gint  (*get_threshold_lower_warning) (SensorInteger *object);
+
+  gint  (*get_threshold_state) (SensorInteger *object);
+
+  gint  (*get_threshold_upper_critical) (SensorInteger *object);
+
+  gint  (*get_threshold_upper_warning) (SensorInteger *object);
+
   const gchar * (*get_units) (SensorInteger *object);
 
   gint  (*get_value) (SensorInteger *object);
@@ -66,6 +84,12 @@
     SensorInteger *object,
     gint arg_value);
 
+  void (*critical) (
+    SensorInteger *object);
+
+  void (*warning) (
+    SensorInteger *object);
+
 };
 
 GType sensor_integer_get_type (void) G_GNUC_CONST;
@@ -85,6 +109,10 @@
     GDBusMethodInvocation *invocation,
     const gchar *units);
 
+void sensor_integer_complete_set_thresholds (
+    SensorInteger *object,
+    GDBusMethodInvocation *invocation);
+
 void sensor_integer_complete_set_poll_interval (
     SensorInteger *object,
     GDBusMethodInvocation *invocation);
@@ -93,9 +121,10 @@
     SensorInteger *object,
     GDBusMethodInvocation *invocation);
 
-void sensor_integer_complete_go (
+void sensor_integer_complete_get_threshold_state (
     SensorInteger *object,
-    GDBusMethodInvocation *invocation);
+    GDBusMethodInvocation *invocation,
+    gint threshold_state);
 
 
 
@@ -104,6 +133,12 @@
     SensorInteger *object,
     gint arg_value);
 
+void sensor_integer_emit_warning (
+    SensorInteger *object);
+
+void sensor_integer_emit_critical (
+    SensorInteger *object);
+
 
 
 /* D-Bus method calls: */
@@ -143,6 +178,30 @@
     GCancellable *cancellable,
     GError **error);
 
+void sensor_integer_call_set_thresholds (
+    SensorInteger *proxy,
+    gint arg_lower_critical,
+    gint arg_lower_warning,
+    gint arg_upper_warning,
+    gint arg_upper_critical,
+    GCancellable *cancellable,
+    GAsyncReadyCallback callback,
+    gpointer user_data);
+
+gboolean sensor_integer_call_set_thresholds_finish (
+    SensorInteger *proxy,
+    GAsyncResult *res,
+    GError **error);
+
+gboolean sensor_integer_call_set_thresholds_sync (
+    SensorInteger *proxy,
+    gint arg_lower_critical,
+    gint arg_lower_warning,
+    gint arg_upper_warning,
+    gint arg_upper_critical,
+    GCancellable *cancellable,
+    GError **error);
+
 void sensor_integer_call_set_poll_interval (
     SensorInteger *proxy,
     gint arg_poll_interval,
@@ -179,19 +238,21 @@
     GCancellable *cancellable,
     GError **error);
 
-void sensor_integer_call_go (
+void sensor_integer_call_get_threshold_state (
     SensorInteger *proxy,
     GCancellable *cancellable,
     GAsyncReadyCallback callback,
     gpointer user_data);
 
-gboolean sensor_integer_call_go_finish (
+gboolean sensor_integer_call_get_threshold_state_finish (
     SensorInteger *proxy,
+    gint *out_threshold_state,
     GAsyncResult *res,
     GError **error);
 
-gboolean sensor_integer_call_go_sync (
+gboolean sensor_integer_call_get_threshold_state_sync (
     SensorInteger *proxy,
+    gint *out_threshold_state,
     GCancellable *cancellable,
     GError **error);
 
@@ -205,6 +266,21 @@
 gchar *sensor_integer_dup_units (SensorInteger *object);
 void sensor_integer_set_units (SensorInteger *object, const gchar *value);
 
+gint sensor_integer_get_threshold_lower_critical (SensorInteger *object);
+void sensor_integer_set_threshold_lower_critical (SensorInteger *object, gint value);
+
+gint sensor_integer_get_threshold_lower_warning (SensorInteger *object);
+void sensor_integer_set_threshold_lower_warning (SensorInteger *object, gint value);
+
+gint sensor_integer_get_threshold_upper_warning (SensorInteger *object);
+void sensor_integer_set_threshold_upper_warning (SensorInteger *object, gint value);
+
+gint sensor_integer_get_threshold_upper_critical (SensorInteger *object);
+void sensor_integer_set_threshold_upper_critical (SensorInteger *object, gint value);
+
+gint sensor_integer_get_threshold_state (SensorInteger *object);
+void sensor_integer_set_threshold_state (SensorInteger *object, gint value);
+
 gint sensor_integer_get_poll_interval (SensorInteger *object);
 void sensor_integer_set_poll_interval (SensorInteger *object, gint value);
 
