Argus Monitor plugin 1.0.0.0

Share your custom plugins and applications to enhance Rainmeter.
User avatar

Argus Monitor plugin 1.0.0.0

January 31st, 2018, 1:35 am
LeoDavidson
   [4 posts]

This is a plugin which lets your Rainmeter skins use various CPU, GPU, fan and temperature readings from Argus Monitor.

What is Argus Monitor?

Argus Monitor is similar to the more well-known SpeedFan, in that it is good at monitoring various temperatures, S.M.A.R.T. data, etc. and controlling your fans based on them. Unlike SpeedFan, Argus Monitor is not free to use (beyond a 30 day trial period), but it's not expensive.

I used to use SpeedFan, and the SpeedFan plugin for Rainmeter, but my new motherboard has temperature sensors which SpeedFan can't detect, while Argus Monitor can.

(The motherboard is an Asus ROG Maximus X Hero and I'm using T_Sensor. Same problem with some other earlier Maximus boards and current versions of SpeedFan (4.52 Final), from what I've read. Some tools like HWInfo can also read the temperature, but they can't control your fans. As I'm controlling my fans based a water temperature sensor plugged into T_Sensor, Argus Monitor was the only thing that let me do that. Asus's own software was useless, as was the BIOS, for controlling fans based on water temperature, as they force you to use CPU temperature for several fan headers. On a board with lots of support for water cooling. Sigh.)

This plugin is not official

Argus Monitor comes with its own very simple gadget that can display some of its readings outside of the main UI, but it isn't that nice to look at or as powerful as Rainmeter. I wrote to the Argus Monitor developers to ask if there was an API or if they had any interest in writing a Rainmeter plugin, but they said there wasn't and they didn't have time at the moment due to other work.

So I did it myself. 8-) I reverse-engineered the way the official gadget talks to the main program and turned it into a Rainmeter plugin.

Since this plugin was made by reverse-engineered the protocol, and is not based on a proper API or specification, it's possible the plugin will stop working if Argus Monitor is updated and changes things. If it does, I'll do my best to fix it. The plugin is written in a way where the worst that should happen is it reports incorrect values, or writes to the Rainmeter log saying it can't understand the other end of the protocol. (Update: The Argus Monitor devs have been in touch to say an update they have planned will break things, but they're sharing a beta with me and I'll update the plugin as needed.)

Caveats

  • Made for Argus Monitor 3.6.02 (Build 1805 / Driver 1.91.1) released in 2017. Argus Monitor updates might break it, as discussed above. I recommend keeping a working version just in case you need to go back to it, and let me know if you have problems and want me to look at updating the plugin.
  • If you use both the plugin and the official gadget at once, both of them will only be updated half as often as usual. This is because they both queue up to receive updates from Argus Monitor, and it will only update one at a time.
  • It only knows how to get the name of one GPU at the moment. It can get temperatures of up to 4 GPUs, but I haven't worked out exactly where the names for the other three are yet. If you want to help with that and have a multi-GPU system, let me know.
  • Argus Monitor itself has some limitations, in current versions, which the plugin inherits: Maximum of 32 CPU cores, 4 GPUs, 16 drives, 8 fans, and 8 motherboard temperatures (separate from CPU/GPU temps).

Skin, Layout, Screenshot

The plugin comes with a layout of example skins which demonstrate the various things it can get from Argus Monitor. It's not pretty; it was made just to test the plugin, before I start using the plugin in my real skin.

Those skins also serve as a way to see how to get the different readings out of the plugin. If you have used the SpeedFan plugin before, you'll find it familiar.

The CPU skin will dynamically add/remove cores based on the number of cores Argus Monitor reports. The others are all fixed-size and will display some blank readings for things that don't exist on your system.

This shows the skin above Argus Monitor itself (click to expand):

Image

Download

The plugin and example skins/layout are included in this .rmskin file:

Argus Monitor Demos_1.0.0.0.rmskin
(184.99 KiB) Downloaded 42 times


Measures

Measures are typically used like this:

Code: Select all

[YourMeasureName]
Measure=Plugin
Plugin=Plugins\ArgusMonitorPlugin.dll
ArgusType=CPUCoreTemperature
ArgusNumber=3


In the above example, ArgusType=CPUCoreTemperature tells the plugin you want to use the CPUCoreTemperature type, described below.

The ArgusNumber=3 part tells the plugin you want the temperature of the 4th CPU core. (Counting starts from 0 = 1st Core, 1 = 2nd Core, and so on, like the SpeedFan plugin.)

The ArgusNumber value is only used for some types and can be left blank for ones that don't need a number/index.

The plugin understands the following measure types:

CPU Measures:

  • CPUName -- Returns the "name" of your CPU. e.g. "Intel Core i7-8700K"
  • CPUSpec -- Returns the specification of your CPU, if any. e.g. "@ 3.70GHz". You often see this printed next to the name.
  • CPULoad -- Returns the overall CPU load as a percentage.
  • CPUWatts -- Returns the overall power usage of your CPU in Watts.
  • CPUCoreCount -- Returns the number of CPU cores (not threads).
  • CPUCoreTemperature -- Returns the temperature of a CPU core, in degrees Celsius. Use ArgusNumber to specify the core you want, starting from zero.
  • CPUCoreTemperatureMin -- Returns the temperature of the coldest CPU core.
  • CPUCoreTemperatureMax -- Returns the temperature of the hottest CPU core.
  • CPUCoreMHz -- Returns the current speed of a CPU core in MHz. Use ArgusNumber to specify the core you want, starting from zero.
  • CPUCoreMHzMin -- Returns the slowest current CPU core speed.
  • CPUCoreMHzMax -- Returns the fastest current CPU core speed.

GPU Measures:

  • GPUName -- Returns the name of the first GPU. e.g. "GTX 1080 Ti". In theory, it should be possible to expand this to get up to four GPU names, but I need someone to help me test that.
  • GPUTemperature -- Returns the temperature of a GPU, in degrees Celsius. Use ArgusNumber to specify the GPU you want, starting from zero. If you only have one GPU in the system, specify ArgusNumber=0 or leave it out entirely (it defaults to 0 if not specified, which gets you the first item).

Drives:

  • DriveName -- Returns the name of a drive. e.g. "SSD 960 EVO 500". Use ArgusNumber to specify the drive you want, starting from zero.
  • DriveTemperature -- Returns the temperature of a drive, in degrees Celsius. Use ArgusNumber to specify the drive you want, starting from zero.

Fans:

  • FanName -- Returns the name of a fan. You can edit the fan names within Argus Monitor, so this will be whichever name you have chosen for the fan in question. Use ArgusNumber to specify which fan, starting from zero.
  • FanRPM -- Returns the speed of a fan, in RPM. Use ArgusNumber to specify which fan, starting from zero.
  • FanPercentPWM -- Returns the speed the fan is set to run at as a percentage from 0 to 100. Use ArgusNumber to specify which fan, starting from zero.
  • FanModeID -- Returns a number representing how the fan's speed is currently controlled 0 = BIOS controlled, 1 = Manual controlled (set to a fixed speed in the Argus Monitor UI), 2 = Software controlled (set to a fan curve against a temperature reading in the Argus Monitor UI). Use ArgusNumber to specify which fan, starting from zero.
  • FanModeName -- The same as FanModeID, but returns a text string instead: "BIOS", "Manual" or "Software".

Motherboard Temperatures:

  • TemperatureName -- Returns the name of a temperature from Argus Monitor's "Mainboard / Temperatures" settings page. You can edit these names yourself there to give them better meanings, especially for things plugged into any generic temperature sensor headers on the motherboard. Use ArgusNumber to specify which temperature you want, starting from zero.
  • Temperature -- Returns a temperature reading, in degrees Celsius. Use ArgusNumber to specify which temperature you want, starting from zero.

RAM Usage:

  • Note that Rainmeter has far more versatile RAM meters built-in. These are only really here for completeness.
  • RAMUsedGB -- Returns the amount of system RAM currently in use, in GB (gigabytes).
  • RAMUsedPercent -- Returns the percentage of system RAM currently in use, from 0 to 100.
Last edited by LeoDavidson on January 31st, 2018, 3:04 pm, edited 2 times in total.
User avatar

Re: Argus Monitor plugin 1.0.0.0

January 31st, 2018, 2:10 am
SilverAzide
   [375 posts]

Welcome to the Rainmeter Forum, Leo!

In case no one reads the fine print at the bottom of Leo's post, Leo is one of the authors of the BEST file manager on the planet -- bar none: Directory Opus. And besides that, he's a super nice guy and always very helpful to boot.
User avatar

Re: Argus Monitor plugin 1.0.0.0

January 31st, 2018, 2:30 am
LeoDavidson
   [4 posts]

SilverAzide wrote:And besides that, he's a super nice guy and always very helpful to boot.


Hey :D Thanks!

Long time Rainmeter user here, but first time I've had anything worth posting. I did make a custom skin which I've used for years, but I was never sure how applicable it'd be to anyone else's PC, so I didn't post it. In fact, my old skin is badly in need of updating for my own PC, which is part of what this project is about!
User avatar

Re: Argus Monitor plugin 1.0.0.0

January 31st, 2018, 8:50 am
fonpaolo
Moderator   [1273 posts]

I've given a quick look at Argus Monitor, better add that, in order to use it, after a 30 days trial, you must pay a licence key.

Interesting.
User avatar

Re: Argus Monitor plugin 1.0.0.0

January 31st, 2018, 3:05 pm
LeoDavidson
   [4 posts]

fonpaolo wrote:I've given a quick look at Argus Monitor, better add that, in order to use it, after a 30 days trial, you must pay a licence key.


Good idea, I've added a note near the top.
User avatar

Re: Argus Monitor plugin 1.0.0.0

January 31st, 2018, 4:20 pm
fonpaolo
Moderator   [1273 posts]

Thanks LeoDavidson. :D

It's interesting how you've managed to set your plugin very similarly to SpeedFan plugin, so, very little changes have to be done, very user friendly. :thumbup:
User avatar

Re: Argus Monitor plugin 1.0.0.0

February 22nd, 2018, 4:30 am
tjhrulz
Developer   [167 posts]

I also have to say excellent work Leo, especially on the included example skin and the included breakdown of all the measure types in your post.

The only thing I would maybe recommend doing is link us to the source for it if it is open source so I can fork and star it :p
User avatar

Re: Argus Monitor plugin 1.0.0.0

February 22nd, 2018, 9:14 pm
LeoDavidson
   [4 posts]

Thanks. :D

The Argus Monitor dev asked that I not make it open-source, in return for them giving updates to the structure when needed. I guess they don't want a proliferation of things depending on their undocumented protocol (although IMO it might mean more people using their tool; but not my decision).

But maybe they would let me share the source with you, if you don't mind keeping it closed source. I don't know if that would be OK for you, or for them, but it'd be fine for me.
User avatar

Re: Argus Monitor plugin 1.0.0.0

February 23rd, 2018, 3:55 am
tjhrulz
Developer   [167 posts]

Oh it is in no way something I really needed or anything that is just my way of giving support (And occasionally I will help folks with build tweaks or that kind of thing to make everyones life easier). That and I just always like to keep track of the various cool plugins we have by the community for Rainmeter and then it lets me try to help address issues with the plugin if/when problems arise in the future and the original dev can't be reached but in your situation it is a little bit of a different story.

Return to “Plugins & Addons”



Who is online

Users browsing this forum: No registered users and 2 guests