blob: cb1ef82ac1f7d6629ce946ca1aa01bea2cbb6bce [file] [log] [blame]
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"