BlueZ D-Bus Thermometer API description *************************************** Santiago Carot-Nemesio Health Thermometer Manager hierarchy ==================================== Service org.bluez Interface org.bluez.ThermometerManager1 Object path [variable prefix]/{hci0,hci1,...} Methods RegisterWatcher(object agent) Registers a watcher to monitor scanned measurements. This agent will be notified about final temperature measurements. Possible Errors: org.bluez.Error.InvalidArguments UnregisterWatcher(object agent) Unregisters a watcher. EnableIntermediateMeasurement(object agent) Enables intermediate measurement notifications for this agent. Intermediate measurements will be enabled only for thermometers which support it. Possible Errors: org.bluez.Error.InvalidArguments DisableIntermediateMeasurement(object agent) Disables intermediate measurement notifications for this agent. It will disable notifications in thermometers when the last agent removes the watcher for intermediate measurements. Possible Errors: org.bluez.Error.InvalidArguments org.bluez.Error.NotFound Health Thermometer Profile hierarchy ==================================== Service org.bluez Interface org.bluez.Thermometer1 Object path [variable prefix]/{hci0,hci1,...}/dev_XX_XX_XX_XX_XX_XX Properties boolean Intermediate [readonly] True if the thermometer supports intermediate measurement notifications. uint16 Interval (optional) [readwrite] The Measurement Interval defines the time (in seconds) between measurements. This interval is not related to the intermediate measurements and must be defined into a valid range. Setting it to zero means that no periodic measurements will be taken. uint16 Maximum (optional) [readonly] Defines the maximum value allowed for the interval between periodic measurements. uint16 Minimum (optional) [readonly] Defines the minimum value allowed for the interval between periodic measurements. Health Thermometer Watcher hierarchy ==================================== Service unique name Interface org.bluez.ThermometerWatcher1 Object path freely definable Methods void MeasurementReceived(dict measurement) This callback gets called when a measurement has been scanned in the thermometer. Measurement: int16 Exponent: int32 Mantissa: Exponent and Mantissa values as extracted from float value defined by IEEE-11073-20601. Measurement value is calculated as (Mantissa) * (10^Exponent) For special cases Exponent is set to 0 and Mantissa is set to one of following values: +(2^23 - 1) NaN (invalid or missing data) -(2^23) NRes +(2^23 - 2) +Infinity -(2^23 - 2) -Infinity string Unit: Possible values: "celsius" or "fahrenheit" uint64 Time (optional): Time of measurement, if supported by device. Expressed in seconds since epoch. string Type (optional): Only present if measurement type is known. Possible values: "armpit", "body", "ear", "finger", "intestines", "mouth", "rectum", "toe", "tympanum" string Measurement: Possible values: "final" or "intermediate"