Threshold: define values to represent un-set threshold

Some existing implementations were using the value 0 to indicate an
unset threshold, but this makes it impossible to have a threshold of 0.
Zero is a reasonable threshold for some sensors, such as a lower-bound
on a temperature sensor.

Specify that 'NaN' should be used to represent thresholds which are not
defined.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I518b4b77a5f7601ea7079980f77c31991f6f9dde
diff --git a/xyz/openbmc_project/Sensor/Threshold/Critical.interface.yaml b/xyz/openbmc_project/Sensor/Threshold/Critical.interface.yaml
index 0c2a220..9dea127 100644
--- a/xyz/openbmc_project/Sensor/Threshold/Critical.interface.yaml
+++ b/xyz/openbmc_project/Sensor/Threshold/Critical.interface.yaml
@@ -16,12 +16,16 @@
 properties:
     - name: CriticalHigh
       type: double
+      default: NaN
       description: >
-          The upper bound of the critical threshold.
+          The upper bound of the critical threshold.  A value of 'NaN' is used
+          to indicate there is no threshold of this type.
     - name: CriticalLow
       type: double
+      default: NaN
       description: >
-          The lower bound of the critical threshold.
+          The lower bound of the critical threshold.  A value of 'NaN' is used
+          to indicate there is no threshold of this type.
     - name: CriticalAlarmHigh
       type: boolean
       description: >
diff --git a/xyz/openbmc_project/Sensor/Threshold/Warning.interface.yaml b/xyz/openbmc_project/Sensor/Threshold/Warning.interface.yaml
index b6c952d..e4d23ea 100644
--- a/xyz/openbmc_project/Sensor/Threshold/Warning.interface.yaml
+++ b/xyz/openbmc_project/Sensor/Threshold/Warning.interface.yaml
@@ -17,12 +17,16 @@
 properties:
     - name: WarningHigh
       type: double
+      default: NaN
       description: >
-          The upper bound of the warning threshold.
+          The upper bound of the warning threshold.  A value of 'NaN' is used
+          to indicate there is no threshold of this type.
     - name: WarningLow
       type: double
+      default: NaN
       description: >
-          The lower bound of the warning threshold.
+          The lower bound of the warning threshold.  A value of 'NaN' is used
+          to indicate there is no threshold of this type.
     - name: WarningAlarmHigh
       type: boolean
       description: >