Package oshi.hardware

Interface Sensors

All Known Implementing Classes:
AbstractSensors

@ThreadSafe public interface Sensors
Sensors include hardware sensors to monitor temperature, fan speed, and other information.

Drivers may or may not exist to collect this data depending on the installed hardware and Operating System. In addition, software-hardware communication may suffer intermittent errors when attempting to access this information. Users should expect, test for, and handle zero values and/or empty arrays which will result if the OS is unable to provide the information.

Windows information is retrieved via Windows Management Instrumentation (WMI). Unfortunately, most hardware providers do not publish values to WMI. Oshi attempts to retrieve values from Open Hardware Monitor if it is running, in preference to the Microsoft API, which may require elevated permissions and still may provide no results or unchanging results depending on the motherboard manufacturer.

  • Method Details

    • getCpuTemperature

      double getCpuTemperature()
      CPU Temperature
      Returns:
      CPU Temperature in degrees Celsius if available, 0 or Double.NaN otherwise.

      On Windows, if not running Open Hardware Monitor, requires elevated permissions and hardware BIOS that supports publishing to WMI. In this case, returns the temperature of the "Thermal Zone" which may be different than CPU temperature obtained from other sources. In addition, some motherboards may only refresh this value on certain events.

    • getFanSpeeds

      int[] getFanSpeeds()
      Fan speeds
      Returns:
      Speed in rpm for all fans. May return empty array if no fans detected or 0 fan speed if unable to measure fan speed.
    • getCpuVoltage

      double getCpuVoltage()
      CPU Voltage
      Returns:
      CPU Voltage in Volts if available, 0 otherwise.