This plugin collects hardware sensors from LibreHardwareService, allowing skins to access all hardware sensors exposed by LibreHardwareMonitor, SMART status, and RTSS framerate and frametime.
- LibreHardwareService
- Visual C++ Redistributable 2022
- CMake
- vcpkg
- Visual Studio Community 2022
- LibHardwareService
Copy LibreHardwareService.dll to %APPDATA%/Rainmeter/Plugins and setup measures like the examples below.
The library LibHardwareService is searched by findpackage in a parent directory or inside extern. Scripts for building can be found in cmake directory.
./cmake/build.ps1
Hardware names are the ones returned by LibreHardwareMonitor or ShowSensors.exe from LibreHardwareService.
Motherboard:
[MBTemp]
Measure=Plugin
Plugin=LibreHardwareService
HardwareName=#mbSubhardwareName#
SensorName=Temperature #2
SensorType=Temperature
CPU usage:
[CPUTotalLoad]
Measure=Plugin
Plugin=LibreHardwareService
HardwareName=#cpuHardwareName#
SensorName=CPU Total
SensorType=Load
MinValue=0
MaxValue=100
RTSS fps:
[Fps]
Measure=Plugin
Plugin=LibreHardwareService
SensorName=RTSS
SensorType=Framerate
RTSS Frametime (milliseconds):
[Frametime]
Measure=Plugin
Plugin=LibreHardwareService
SensorName=RTSS
SensorType=frametime
Storage activity:
[Drive1Load]
Measure=Plugin
Plugin=LibreHardwareService
HardwareName=#drive1HwName#
SensorName=Total Activity
SensorType=Load
Storage Temperature:
[Drive1Temp]
Measure=Plugin
Plugin=LibreHardwareService
HardwareName=#drive1HwName#
SensorName=Temperature
SensorType=Temperature
Storage Temperature:
[Drive2Temp]
Measure=Plugin
Plugin=LibreHardwareService
SensorIdentifier=/hdd/1/temperature/0
SMART SATA status, returns one of the following strings:
- "Pre-fail" if the smart Prefail bit is set;
- "End-of-Life" if the smart Advisory bit is set;
- "Warning" if smart attributes 0x05, 0xC5, or 0xC6 have raw values above 10
- "OK" if none of above is detected
[SmartDrive1]
Measure=Plugin
Plugin=LibreHardwareService
HardwareName=#drive1HwName#
HardwareType=Storage
HwStatusType=storage_smart_ata
HwStatusItem=Status
SMART NVME:
[SmartDrive2availableSpare]
Measure=Plugin
Plugin=LibreHardwareService
HardwareName=#drive2HwName#
HardwareType=Storage
HwStatusType=storage_smart_nvme
HwStatusItem=availableSpare
SMART NVME:
[SmartDrive2criticalWarning]
Measure=Plugin
Plugin=LibreHardwareService
HardwareName=#drive2HwName#
HardwareType=Storage
HwStatusType=storage_smart_nvme
HwStatusItem=criticalWarning
SMART NVME:
[SmartDrive2percentageUsed]
Measure=Plugin
Plugin=LibreHardwareService
HardwareName=#drive2HwName#
HardwareType=Storage
HwStatusType=storage_smart_nvme
HwStatusItem=percentageUsed
NVME attributes available:
availableSpare
availableSpareThreshold
controllerBusyTime
criticalCompositeTemperatureTime
criticalWarning
dataUnitRead
dataUnitWritten
errorInfoLogEntryCount
hostReadCommands
hostWriteCommands
mediaErrors
percentageUsed
powerCycle
powerOnHours
temperature
unsafeShutdowns
warningCompositeTemperatureTime
This software is licensed under the terms of Mozilla Public License Version 2.0.