5.3 Standard Physical Units

Martin Perlot of Silver Leaf proposes an Addition to Section 5.3.

To be inserted after Table 5.3

Often a device may be called upon to report a value as a percent but the device may only be capable of a few discrete levels. For example, a Air Conditioner may report Fan Speed (a percent value), but have only two (Low and High) or three (Low, Medium, High) possible speeds. In such cases, the following method for reporting is recommended.

First, note that 0 always means Off (or the equivalent). Other values are divided as equally as possible among the possible states. Thus a two-stage fan would consider values from 1-100 (50%) as "Low" and 101-200 (100%) as "High". A three-stage fan would use 1-66 (33%) as "Low", 67-133 (66.5%) as "Medium", and 134-200 (100%) as "High". A five-stage fan would use intervals of 1-40, 41-80, 81-120, 121-160, and 161-200.
When reporting the status, the device should use the highest value in the applicable range. e.g. For a three-stage fan, 0, 66, 133, and 200. When parsing commands, it should accept any value in the range. e.g. If the three-stage fan receives a command to go to 100 (50%), it would consider this "Medium" and report a speed of 133.

This scheme assumes that the steps or levels are evenly distributed along the spectrum from Off to 100% On. If the steps are not reasonably uniform, more precise representation of the values is recommended.

This scheme is described - very incompletely - in the DC Dimmer command. It reduces the consequences of an ambiguous command - for example, commanding a 2-stage fan to go into "Medium". The device will always find the response which is as close to the desired result as possible.