<div dir="ltr">I see Type and Unit being conflated.  I find it perfectly reasonable to report temperatures (called a Type in the example, in math/physics circles it would be a measurement dimension) in any of ºF, ºC, or K (units).  In the monitoring systems I've designed, I've used something like:<div><br></div><div><span style="font-size:12.8px">Interface xyz.openbmc_project.Sensor</span><br style="font-size:12.8px"><span style="font-size:12.8px">                Properties:</span></div><div><span style="font-size:12.8px">                     - Instance Identifier (map<string, string>)</span><br style="font-size:12.8px"><span style="font-size:12.8px">                     - Value (integer)</span><br style="font-size:12.8px"><span style="font-size:12.8px">                     - Unit (string [enumeration])</span><br style="font-size:12.8px"><span style="font-size:12.8px">                     - Scale (integer, n where real_value = value*10^n)</span><br></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Where the path conveys a broader grouping of device type and the measurement dimension:</span></div><div><span style="font-size:12.8px">/xyz/openbmc_project/sensors/cpu/temperature</span></div><div><span style="font-size:12.8px">/xyz/openbmc_project/sensors/fan/current_speed</span><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">That allows for querying the data in a variety of ways: all data about a given element in the system (</span><span style="font-size:12.8px">/xyz/openbmc_project/sensors/cpu with instance_id <core=1>), one type of measurement across all instances of a device type (/xyz/openbmc_project/sensors/cpu/temperature), etc.</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 31, 2016 at 2:08 PM, Patrick Williams <span dir="ltr"><<a href="mailto:patrick@stwcx.xyz" target="_blank">patrick@stwcx.xyz</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">There was a request for us to start on the openbmc interfaces for<br>
Sensors in the near future.  Before we get started on it I wanted to<br>
solicit feedback on two divergent approaches.<br>
<br>
Before I start, keep in mind that any proposals for DBus designs will<br>
show up here:<br>
    <a href="https://gerrit.openbmc-project.xyz/#/q/project:openbmc/phosphor-dbus-interfaces+status:open" rel="noreferrer" target="_blank">https://gerrit.openbmc-<wbr>project.xyz/#/q/project:<wbr>openbmc/phosphor-dbus-<wbr>interfaces+status:open</a><br>
<br>
The two divergent approaches are:<br>
<br>
    1. Have a single interface for all sensor readings.  Example:<br>
            Interface xyz.openbmc_project.Sensor<br>
                Properties:<br>
                     - Value (integer)<br>
                     - Unit (string [enumeration])<br>
                     - Scale (integer, n where real_value = value*10^n)<br>
<br>
    2. Have unique interfaces for different kinds of sensor readings.<br>
            Interface xyz.openbmc_project.Sensor.<wbr>Temperature<br>
            Interface xyz.openbmc_project.Sensor.<wbr>Tach<br>
                ( Same value and scale properties )<br>
<br>
In both cases the dbus path could contain the 'type':<br>
    /xyz/openbmc_project/sensors/<wbr>temperature/ambient<br>
    /xyz/openbmc_project/sensors/<wbr>fan_tach/fan0<br>
<br>
The question is essentially should the "Unit" property be used to<br>
resolve the 'type' or should we have distinct interfaces for each<br>
'type'?<br>
<br>
For some comparison with other standards, CIM had a single Sensor class<br>
while Redfish seems to have multiple classes (Fan, Temperature) for each<br>
type.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Patrick Williams<br>
</font></span><br>______________________________<wbr>_________________<br>
openbmc mailing list<br>
<a href="mailto:openbmc@lists.ozlabs.org">openbmc@lists.ozlabs.org</a><br>
<a href="https://lists.ozlabs.org/listinfo/openbmc" rel="noreferrer" target="_blank">https://lists.ozlabs.org/<wbr>listinfo/openbmc</a><br>
<br></blockquote></div><br></div>