diff --git a/src/Form/SensorForm.php b/src/Form/SensorForm.php
index f8178ea..268d96f 100644
--- a/src/Form/SensorForm.php
+++ b/src/Form/SensorForm.php
@@ -170,6 +170,7 @@ class SensorForm extends EntityForm {
           'wrapper' => 'monitoring-sensor-plugin',
           'method' => 'replace',
         ),
+        '#access' => $sensor_config->getPlugin()->getConfigurableValueType(),
       );
 
       $form['plugin_container']['value_label'] = array(
diff --git a/src/Plugin/monitoring/SensorPlugin/ConfigValueSensorPlugin.php b/src/Plugin/monitoring/SensorPlugin/ConfigValueSensorPlugin.php
index f415452..55441e1 100644
--- a/src/Plugin/monitoring/SensorPlugin/ConfigValueSensorPlugin.php
+++ b/src/Plugin/monitoring/SensorPlugin/ConfigValueSensorPlugin.php
@@ -85,4 +85,5 @@ class ConfigValueSensorPlugin extends ValueComparisonSensorPluginBase {
     );
     return $form;
   }
+
 }
diff --git a/src/Plugin/monitoring/SensorPlugin/CoreRequirementsSensorPlugin.php b/src/Plugin/monitoring/SensorPlugin/CoreRequirementsSensorPlugin.php
index 8d93c68..7c1e0a5 100644
--- a/src/Plugin/monitoring/SensorPlugin/CoreRequirementsSensorPlugin.php
+++ b/src/Plugin/monitoring/SensorPlugin/CoreRequirementsSensorPlugin.php
@@ -39,6 +39,11 @@ class CoreRequirementsSensorPlugin extends SensorPluginBase implements ExtendedI
   /**
    * {@inheritdoc}
    */
+  protected $configurableValueType = FALSE;
+
+  /**
+   * {@inheritdoc}
+   */
   public function resultVerbose(SensorResultInterface $result) {
     $output = [];
 
diff --git a/src/Plugin/monitoring/SensorPlugin/UpdateStatusSensorPlugin.php b/src/Plugin/monitoring/SensorPlugin/UpdateStatusSensorPlugin.php
index 72cecdd..5c52d59 100644
--- a/src/Plugin/monitoring/SensorPlugin/UpdateStatusSensorPlugin.php
+++ b/src/Plugin/monitoring/SensorPlugin/UpdateStatusSensorPlugin.php
@@ -27,6 +27,11 @@ class UpdateStatusSensorPlugin extends SensorPluginBase {
   /**
    * {@inheritdoc}
    */
+  protected $configurableValueType = FALSE;
+
+  /**
+   * {@inheritdoc}
+   */
   public function runSensor(SensorResultInterface $result) {
     $type = $this->sensorConfig->getSetting('type');
     $status = $this->calculateStatus($type);
diff --git a/src/Plugin/monitoring/SensorPlugin/UserIntegritySensorPlugin.php b/src/Plugin/monitoring/SensorPlugin/UserIntegritySensorPlugin.php
index a18cdc4..8f01999 100644
--- a/src/Plugin/monitoring/SensorPlugin/UserIntegritySensorPlugin.php
+++ b/src/Plugin/monitoring/SensorPlugin/UserIntegritySensorPlugin.php
@@ -31,6 +31,11 @@ class UserIntegritySensorPlugin extends SensorPluginBase implements ExtendedInfo
   /**
    * {@inheritdoc}
    */
+  protected $configurableValueType = FALSE;
+
+  /**
+   * {@inheritdoc}
+   */
   public function runSensor(SensorResultInterface $sensor_result) {
 
     // Get role IDs with restricted permissions.
diff --git a/src/Plugin/monitoring/SensorPlugin/ViewDisplayAggregatorSensorPlugin.php b/src/Plugin/monitoring/SensorPlugin/ViewDisplayAggregatorSensorPlugin.php
index e19637f..9e41d8a 100644
--- a/src/Plugin/monitoring/SensorPlugin/ViewDisplayAggregatorSensorPlugin.php
+++ b/src/Plugin/monitoring/SensorPlugin/ViewDisplayAggregatorSensorPlugin.php
@@ -28,6 +28,11 @@ class ViewDisplayAggregatorSensorPlugin extends SensorPluginBase implements Exte
   /**
    * {@inheritdoc}
    */
+  protected $configurableValueType = FALSE;
+
+  /**
+   * {@inheritdoc}
+   */
   public function resultVerbose(SensorResultInterface $result) {
     $output = [];
 
@@ -163,4 +168,14 @@ class ViewDisplayAggregatorSensorPlugin extends SensorPluginBase implements Exte
     $form_state->setRebuild();
   }
 
+  /**
+   * {@inheritdoc}
+   */
+  public function getDefaultConfiguration() {
+    $default_config = array(
+      'value_type' => 'number',
+    );
+    return $default_config;
+  }
+
 }
diff --git a/src/SensorPlugin/DatabaseAggregatorSensorPluginBase.php b/src/SensorPlugin/DatabaseAggregatorSensorPluginBase.php
index 5e2532b..3bff48a 100644
--- a/src/SensorPlugin/DatabaseAggregatorSensorPluginBase.php
+++ b/src/SensorPlugin/DatabaseAggregatorSensorPluginBase.php
@@ -32,6 +32,11 @@ abstract class DatabaseAggregatorSensorPluginBase extends SensorPluginBase {
   protected $configurableTimestampField = TRUE;
 
   /**
+   * {@inheritdoc}
+   */
+  protected $configurableValueType = FALSE;
+
+  /**
    * Gets conditions to be used in the select query.
    *
    * @return array
@@ -164,4 +169,15 @@ abstract class DatabaseAggregatorSensorPluginBase extends SensorPluginBase {
     $date_formatter = \Drupal::service('date.formatter');
     return array_map(array($date_formatter, 'formatInterval'), array_combine($time_intervals, $time_intervals)) + array(0 => t('No restriction'));
   }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getDefaultConfiguration() {
+    $default_config = array(
+      'value_type' => 'number',
+    );
+    return $default_config;
+  }
+
 }
diff --git a/src/SensorPlugin/SensorPluginBase.php b/src/SensorPlugin/SensorPluginBase.php
index 169d1ec..809dc7a 100644
--- a/src/SensorPlugin/SensorPluginBase.php
+++ b/src/SensorPlugin/SensorPluginBase.php
@@ -44,6 +44,14 @@ abstract class SensorPluginBase implements SensorPluginInterface {
   protected $pluginDefinition;
 
   /**
+   * Allows plugins to control if the value type can be configured.
+   *
+   * @var bool
+   */
+  protected $configurableValueType = TRUE;
+
+
+  /**
    * Instantiates a sensor object.
    *
    * @param \Drupal\monitoring\Entity\SensorConfig $sensor_config
@@ -75,6 +83,13 @@ abstract class SensorPluginBase implements SensorPluginInterface {
 
   /**
    * {@inheritdoc}
+   */
+  public function getConfigurableValueType() {
+    return $this->configurableValueType;
+  }
+
+  /**
+   * {@inheritdoc}
    *
    * @todo: Replace with injection
    */
diff --git a/src/SensorPlugin/SensorPluginInterface.php b/src/SensorPlugin/SensorPluginInterface.php
index 732ee34..3d7194a 100644
--- a/src/SensorPlugin/SensorPluginInterface.php
+++ b/src/SensorPlugin/SensorPluginInterface.php
@@ -38,6 +38,14 @@ interface SensorPluginInterface extends PluginInspectionInterface, PluginFormInt
   public function getDefaultConfiguration();
 
   /**
+   * Configurable value type.
+   *
+   * @return bool
+   *   If the value type is configurable or not.
+   */
+  public function getConfigurableValueType();
+
+  /**
    * Gets service.
    *
    * @param string $id
diff --git a/src/Tests/MonitoringUITest.php b/src/Tests/MonitoringUITest.php
index 87a7c07..6bcda27 100644
--- a/src/Tests/MonitoringUITest.php
+++ b/src/Tests/MonitoringUITest.php
@@ -291,6 +291,7 @@ class MonitoringUITest extends MonitoringTestBase {
     // Load the created sensor and assert the default configuration.
     $sensor_config = SensorConfig::load('watchdog_sensor');
     $settings = $sensor_config->getSettings();
+    $this->assertEqual($sensor_config->getValueType(), 'number');
     $this->assertEqual($settings['table'], 'watchdog');
     $this->assertEqual($settings['time_interval_field'], 'timestamp');
 
diff --git a/src/Tests/MonitoringViewDisplayTest.php b/src/Tests/MonitoringViewDisplayTest.php
index aebc716..99c552a 100644
--- a/src/Tests/MonitoringViewDisplayTest.php
+++ b/src/Tests/MonitoringViewDisplayTest.php
@@ -6,6 +6,7 @@
 
 namespace Drupal\monitoring\Tests;
 use Drupal\Component\Utility\SafeMarkup;
+use Drupal\monitoring\Entity\SensorConfig;
 
 /**
  * Tests the view display sensor.
@@ -36,7 +37,6 @@ class MonitoringViewDisplayTest extends MonitoringTestBase {
     $this->assertText('Sensor plugin settings');
     $this->drupalPostForm(NULL, array(
       'description' => 'Count all users through the users view.',
-      'value_type' => 'number',
       'value_label' => 'Users',
       'caching_time' => 0,
       'settings[view]' => 'user_admin_people',
@@ -46,6 +46,9 @@ class MonitoringViewDisplayTest extends MonitoringTestBase {
     ), t('Save'));
     $this->assertText(SafeMarkup::format('Sensor @label saved.', array('@label' => 'All users')));
 
+    // Check the value type has the default value.
+    $sensor_config = SensorConfig::load('view_user_count');
+    $this->assertEqual($sensor_config->getValueType(), 'number');
     // Edit and check selection.
     $this->drupalGet('admin/config/system/monitoring/sensors/view_user_count');
     $this->assertOptionSelected('edit-settings-view', 'user_admin_people');
