@@ -136,6 +136,9 @@ def translate_raw_message(message: dict, relay_mac: str):
136136 through. When the message origin is not the plug, the events returned
137137 from this function will have "via": relay_mac added to denote what
138138 plug is acting as the relay for them.
139+ Note that the relaying plug for a sensor can change at any point
140+ without warning, and the topology is not stable. The relay_mac is
141+ intended as a diagnostic aid only.
139142
140143 Returns:
141144
@@ -243,7 +246,15 @@ def translate_raw_message(message: dict, relay_mac: str):
243246 - "starttime_utc": Seconds since the Unix Epoch, in UTC.
244247 - "volts": The current battery level, in Volts. Sensors operate
245248 on 3.7V nominally, with a fully charged battery at around 4.2V.
246- Precise battery curves vary individually.
249+ Precise battery curves vary individually. It is intentional that
250+ we do not attempt to map these to a percentage value here, as
251+ between individual differences and environmental conditions they
252+ are bound to be inaccurate. Short of characterising each battery
253+ in its environment, any such mapping will be inaccurate. It can
254+ be argued that users wishing a simple percentage display are best
255+ off using a simple linear extrapolation across the middle part of
256+ the curve, e.g. 3.3V and 4.15V. It's not entirely accurate, but
257+ it's also not useless.
247258
248259 - "radio_signal_quality": An event reporting radio signal quality for
249260 a sensor. Note that this is for the long-range radio comms with the
0 commit comments