description: > "org.freedesktop.UPower.Device -- Device interface Defined at https://upower.freedesktop.org/docs/Device.html Objects implementing org.freedesktop.UPower.Device also implement the org.freedesktop.DBus.Introspectable and org.freedesktop.DBus.Properties interfaces. Unless otherwise noted, an empty string or the value 0 in a property on this interface means not set." methods: - name: Refresh description: > "Refreshes the data collected from the power source. Callers need the org.freedesktop.upower.refresh-power-source authorization" - name: GetHistory description: > "Gets history for the power device that is persistent across reboots." parameters: - name: type type: string description: > "The type of history. Valid types are rate or charge." - name: timespan type: uint32 description: > "The amount of data to return in seconds, or 0 for all." - name: resolution type: uint32 description: > "The approximate number of points to return. A higher resolution is more accurate, at the expense of plotting speed." returns: - name: data type: array[struct[uint32, double, uint32]] description: > "The history data for the power device, if the device supports history. Data is ordered from the earliest in time, to the newest data point. Each element contains the following members: time: The time value in seconds from the gettimeofday() method. value: The data value, for instance the rate in W or the charge in %. state: The state of the device, for instance charging or discharging." - name: GetStatistics description: > "Gets statistics for the power device that may be interesting to show on a graph in the session." parameters: - name: type type: string description: > "The mode for the statistics. Valid types are charging or discharging." returns: - name: data type: array[struct[double, double]] description: > "The statistics data for the power device. Each element contains the following members: value: The value of the percentage point, usually in seconds. accuracy: The accuracy of the prediction in percent." properties: - name: NativePath default: "" type: string description: > "OS specific native path of the power source. On Linux this is the sysfs path, for example /sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0. Is blank if the device is being driven by a user space driver." - name: Vendor default: "" type: string description: > "Name of the vendor of the battery." - name: Model default: "" type: string description: > "Name of the model of this battery." - name: Serial default: "" type: string description: > "Unique serial number of the battery." - name: UpdateTime default: 0 type: uint64 description: > "The point in time (seconds since the Epoch Jan 1, 1970 0:00 UTC) that data was read from the power source." - name: Type default: 0 type: uint32 description: > "Type of power source. 0: Unknown 1: Line Power 2: Battery 3: Ups 4: Monitor 5: Mouse 6: Keyboard 7: Pda 8: Phone" - name: PowerSupply default: false type: boolean description: > "If the power device is used to supply the system. This would be set TRUE for laptop batteries and UPS devices, but set FALSE for wireless mice or PDAs." - name: HasHistory default: false type: boolean description: > "If the power device has history." - name: HasStatistics default: false type: boolean description: > "If the power device has statistics." - name: Online default: false type: boolean description: > "Whether power is currently being provided through line power. This property is only valid if the property type has the value 'line-power'." - name: Energy default: 0.0 type: double description: > "Amount of energy (measured in Wh) currently available in the power source. This property is only valid if the property type has the value 'battery'." - name: EnergyEmpty default: 0.0 type: double description: > "Amount of energy (measured in Wh) in the power source when it's considered to be empty. This property is only valid if the property type has the value 'battery'." - name: EnergyFull default: 0.0 type: double description: > "Amount of energy (measured in Wh) in the power source when it's considered full. This property is only valid if the property type has the value 'battery'." - name: EnergyFullDesign default: 0.0 type: double description: > "Amount of energy (measured in Wh) the power source is designed to hold when it's considered full. This property is only valid if the property type has the value 'battery'." - name: EnergyRate default: 0.0 type: double description: > "Amount of energy being drained from the source, measured in W. If positive, the source is being discharged, if negative it's being charged. This property is only valid if the property type has the value 'battery'." - name: Voltage default: 0.0 type: double description: > "Voltage in the Cell or being recorded by the meter." - name: Luminosity default: 0.0 type: double description: > "Luminosity being recorded by the meter." - name: TimeToEmpty default: 0 type: int64 description: > "Number of seconds until the power source is considered empty. Is set to 0 if unknown. This property is only valid if the property type has the value 'battery'." - name: TimeToFull default: 0 type: int64 description: > "Number of seconds until the power source is considered full. Is set to 0 if unknown. This property is only valid if the property type has the value 'battery'." - name: Percentage default: 0.0 type: double description: > "The amount of energy left in the power source expressed as a percentage between 0 and 100. Typically this is the same as (energy - energy-empty) / (energy-full - energy-empty). However, some primitive power sources are capable of only reporting percentages and in this case the energy-* properties will be unset while this property is set. This property is only valid if the property type has the value 'battery'." - name: Temperature default: 0.0 type: double description: > "The temperature of the device in degrees Celsius. This property is only valid if the property type has the value 'battery'." - name: IsPresent default: false type: boolean description: > "If the power source is present in the bay. This field is required as some batteries are hot-removable, for example expensive UPS and most laptop batteries. This property is only valid if the property type has the value 'battery'." - name: State default: 0 type: uint32 description: > "The battery power state. 0: Unknown 1: Charging 2: Discharging 3: Empty 4: Fully charged 5: Pending charge 6: Pending discharge This property is only valid if the property type has the value 'battery'." - name: IsRechargeable default: false type: boolean description: > "If the power source is rechargeable. This property is only valid if the property type has the value 'battery'." - name: Capacity default: 0.0 type: double description: > "The capacity of the power source expressed as a percentage between 0 and 100. The capacity of the battery will reduce with age. A capacity value less than 75% is usually a sign that you should renew your battery. Typically this value is the same as (full-design / full) * 100. However, some primitive power sources are not capable reporting capacity and in this case the capacity property will be unset. This property is only valid if the property type has the value 'battery'." - name: Technology default: 0 type: uint32 description: > "Technology used in the battery: 0: Unknown 1: Lithium ion 2: Lithium polymer 3: Lithium iron phosphate 4: Lead acid 5: Nickel cadmium 6: Nickel metal hydride This property is only valid if the property type has the value 'battery'." - name: WarningLevel default: 0 type: uint32 description: > "Warning level of the battery: 0: Unknown 1: None 2: Discharging (only for UPSes) 3: Low 4: Critical 5: Action" - name: BatteryLevel default: 0 type: uint32 description: > "Level of the battery: 0: Unknown 1: None (the battery does not use a coarse level of battery reporting) 3: Low 4: Critical 6: Normal 7: High 8: Full" - name: IconName default: "" type: string description: > "An icon name, following the Icon Naming Specification"