NonzeroSpeed: Check trust determination sensors

Only include defined trust determination sensors in checking the group
trust.

Tested:
    Current trust group associations & reactions are unchanged
    Combination of sensors included and excluded in trust determination

Change-Id: I0f610b2910ffda849871a9ac9be95f2c056d8248
Signed-off-by: Matthew Barth <msbarth@us.ibm.com>
diff --git a/monitor/example/monitor.yaml b/monitor/example/monitor.yaml
index fc6ca5e..4819d12 100644
--- a/monitor/example/monitor.yaml
+++ b/monitor/example/monitor.yaml
@@ -33,8 +33,10 @@
 #           Available classes:
 #           * NonzeroSpeed - Only trust if at least one sensor in the group
 #                            has a nonzero speed.]
-#   sensors:
+#   group:
 #     - name [The name of the fan sensor in this group]
+#       in_trust: [true|false] (optional)
+#         [Include in trust determination or not. Default = true]
 
 #The code uses these parameters as follows:
 #  After a speed reading of a sensor is outside of the allowed deviation of
@@ -45,8 +47,8 @@
 #  Sensor trust groups are used to specify that the speed values for the
 #  sensors in a group cannot be trusted based on some condition, where
 #  the condition is based on the class used to implement the group.  All
-#  sensors in the group go in and out of trust together.  This section
-#  is optional.
+#  sensors in the group go in and out of trust based on those defined
+#  to be part of determining the trust.  This section is optional.
 
 #Example entries for 1 fan system:
 #fans:
@@ -59,5 +61,7 @@
 #        has_target: true
 #sensor_trust_groups:
 # - class: NonzeroSpeed
-#    sensors:
+#    group:
 #      - name: fan0_0
+#        in_trust: false
+#      - name: fan0_1
diff --git a/monitor/nonzero_speed_trust.hpp b/monitor/nonzero_speed_trust.hpp
index 7e6a85a..c5b67fd 100644
--- a/monitor/nonzero_speed_trust.hpp
+++ b/monitor/nonzero_speed_trust.hpp
@@ -42,7 +42,8 @@
 
         /**
          * Determines if the group is trusted by checking
-         * if any sensor has a nonzero speed.  If all speeds
+         * if any sensor included in the trust determination
+         * has a nonzero speed. If all the speeds of these sensors
          * are zero, then no sensors in the group are trusted.
          *
          * @return bool - if group is trusted or not
@@ -54,7 +55,7 @@
                     _sensors.end(),
                     [](const auto& s)
                     {
-                        return s.sensor->getInput() != 0;
+                        return s.inTrust && s.sensor->getInput() != 0;
                     });
         }
 };