It is currently April 19th, 2024, 10:59 am

Using HWiNFO with Rainmeter

Plugins and Addons popular with the Community
User avatar
SilverAzide
Rainmeter Sage
Posts: 2603
Joined: March 23rd, 2015, 5:26 pm

Re: Using HWiNFO with Rainmeter

Post by SilverAzide »

jsmorley wrote: March 16th, 2021, 11:17 pm It might just be more complicated to do than you think. The Registry is very "hierarchical" in nature, and searching it is based on the key name, which today is the "index". Searching it based on "values" instead might be very, very slow.
Yeah, I think you'd need to basically construct a table in memory (like you did above with HTML, but just the first 3 columns) then query it to find the index. Probably really slow to do this unless it was a parent-child type plug-in that didn't reload the entire table too often.

What you said! LOL...

If a plugin is the way to go, perhaps the string value of the measure is Value and the numeric value is ValueRaw? With some sort of option for the "entry not found" condition?
Gadgets Wiki GitHub More Gadgets...
User avatar
jsmorley
Developer
Posts: 22629
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Using HWiNFO with Rainmeter

Post by jsmorley »

SilverAzide wrote: March 16th, 2021, 11:34 pm Yeah, I think you'd need to basically construct a table in memory (like you did above with HTML, but just the first 3 columns) then query it to find the index. Probably really slow to do this unless it was a parent-child type plug-in that didn't reload the entire table too often.

What you said! LOL...

If a plugin is the way to go, perhaps the string value of the measure is Value and the numeric value is ValueRaw? With some sort of option for the "entry not found" condition?
Yeah, that makes sense.
User avatar
jsmorley
Developer
Posts: 22629
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Using HWiNFO with Rainmeter

Post by jsmorley »

Ok, I have been in conversation with Martin at HWiNFO, and he thinks he can improve things on his end.

What he is going to do is make the index numbers more "persistent". By that I mean that once a sensor is selected for output and has an index number, physically removing that device won't remove it from the list or shift the index numbers. Adding a new device won't in and of itself create an index number or shift anything, unless you explicitly select it for output, in which case it will, but selecting a new output always did, and really must, create an index and shift things.

So he is suggesting that you configure this one time with everything you are going to want to "output" connected. You can force HWiNFO to see fans that are not running in the Sensor Settings panel in HWiNFO.

If this works, I'd prefer it to creating a plugin, which has some real disadvantages.
User avatar
SilverAzide
Rainmeter Sage
Posts: 2603
Joined: March 23rd, 2015, 5:26 pm

Re: Using HWiNFO with Rainmeter

Post by SilverAzide »

jsmorley wrote: March 17th, 2021, 12:22 pm If this works, I'd prefer it to creating a plugin, which has some real disadvantages.
Great news! Yeah, by creating a plugin, we'd almost be right back to where we were with the existing one, as far as complicated setup (no offense to Stangowner intended!).
Gadgets Wiki GitHub More Gadgets...
User avatar
jsmorley
Developer
Posts: 22629
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Using HWiNFO with Rainmeter

Post by jsmorley »

SilverAzide wrote: March 17th, 2021, 3:03 pm Great news! Yeah, by creating a plugin, we'd almost be right back to where we were with the existing one, as far as complicated setup (no offense to Stangowner intended!).
Here is a new pre-beta test version. Can you test this for the issues you raised?

hwi64_701_4411.zip
You do not have the required permissions to view the files attached to this post.
User avatar
SilverAzide
Rainmeter Sage
Posts: 2603
Joined: March 23rd, 2015, 5:26 pm

Re: Using HWiNFO with Rainmeter

Post by SilverAzide »

jsmorley wrote: March 17th, 2021, 8:11 pm Here is a new pre-beta test version. Can you test this for the issues you raised?
Unfortunately, this version appears to act identically to the previous beta.

The way I tested was to first intentionally turn off the option that enables stopped fan detection so that I had something that would "appear and disappear" from HWiNFO. I waited for the fans to kick on, then configured the sensors like so:

Code: Select all

    Index Label                     Value
    ===== ========================= ===========
    0     Core 0 Clock              3,191.4 MHz
    1     Core 1 Clock              3,291.1 MHz
    2     Core 2 Clock              3,291.1 MHz
    3     Core 3 Clock              3,291.1 MHz
    4     Core 0                    57 °C
    5     Core 1                    59 °C
    6     Core 2                    54 °C
    7     Core 3                    55 °C
    8     Core 0 Distance to TjMAX  43 °C
    9     Core Max                  59 °C
    10    CPU                       2,500 RPM
    11    GPU1                      2,300 RPM
    12    GPU Temperature           59.0 °C
    13    GPU Core Voltage          0.831 V
    14    GPU Clock                 135.0 MHz
    15    GPU Memory Clock          162.0 MHz
    16    GPU Core Load             1.0 %
    17    GPU Memory Usage          11.8 %
    18    GPU Memory Allocated      363 MB
    19    Battery Voltage           17.135 V
    20    Remaining Capacity        92.056 Wh
    21    Charge Level              100.0 %
I waited for the fans to shut down (indexes 10 and 11), then exited HWiNFO and restarted it (so the fans were off and HWiNFO would not see them). This resulted in the following:

Code: Select all

    Index Label                     Value
    ===== ========================= ===========
    0     Core 0 Clock              3,093.2 MHz
    1     Core 1 Clock              3,093.2 MHz
    2     Core 2 Clock              3,093.2 MHz
    3     Core 3 Clock              3,093.2 MHz
    4     Core 0                    63 °C
    5     Core 1                    63 °C
    6     Core 2                    55 °C
    7     Core 3                    54 °C
    8     Core 0 Distance to TjMAX  37 °C
    9     Core Max                  63 °C
    10    GPU Temperature           57.4 °C
    11    GPU Core Voltage          0.837 V
    12    GPU Clock                 135.0 MHz
    13    GPU Memory Clock          162.0 MHz
    14    GPU Core Load             7.0 %
    15    GPU Memory Usage          11.8 %
    16    GPU Memory Allocated      363 MB
    17    Battery Voltage           17.134 V
    18    Remaining Capacity        92.056 Wh
    19    Charge Level              100.0 %
Note the indexes 10 and below are for different items now. I was hoping that the fans would either show despite HWiNFO not seeing them, OR that the indexes would get skipped (i.e., no index 10 or 11). Once the fans kick in (and HWiNFO sees them again), the indexes and the items shift back to the first configuration as expected. The previous beta did this too.

I guess we need something that "pins" the index to the item. Maybe not permanently, but at least while you don't make changes to the configuration.

P.S.: If anyone wants a command-line way to dump the indexes as shown above, here's a PowerShell script (change the extension to .ps1 to run it).
You do not have the required permissions to view the files attached to this post.
Gadgets Wiki GitHub More Gadgets...
User avatar
jsmorley
Developer
Posts: 22629
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Using HWiNFO with Rainmeter

Post by jsmorley »

Ok, I sent this to Martin. Let's see what he says.
User avatar
deflore08
Posts: 209
Joined: July 12th, 2020, 7:47 am
Location: Ada, Garden City

Re: Using HWiNFO with Rainmeter

Post by deflore08 »

For now last way with shared memory viewer looks as pretty easy way.. :)))

I think its possible to even fill variables automatically with patters by lua script. Parse indexes-label pairs then apply a pattern like "virtual memory load" for labels, get needed index and use it for vram sensor automatically, for example. With memory it should work good, but some kind of sensor's names are different from PC to PC (i mean on different hardware).. Sooo..

Anyway, i wanna say THANK YOU folks for your efforts. :)
Image * Image * Image * Image
User avatar
jsmorley
Developer
Posts: 22629
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Using HWiNFO with Rainmeter

Post by jsmorley »

SilverAzide wrote: March 17th, 2021, 10:53 pm Unfortunately, this version appears to act identically to the previous beta.

The way I tested was to first intentionally turn off the option that enables stopped fan detection so that I had something that would "appear and disappear" from HWiNFO. I waited for the fans to kick on, then configured the sensors like so:

Code: Select all

    Index Label                     Value
    ===== ========================= ===========
    0     Core 0 Clock              3,191.4 MHz
    1     Core 1 Clock              3,291.1 MHz
    2     Core 2 Clock              3,291.1 MHz
    3     Core 3 Clock              3,291.1 MHz
    4     Core 0                    57 °C
    5     Core 1                    59 °C
    6     Core 2                    54 °C
    7     Core 3                    55 °C
    8     Core 0 Distance to TjMAX  43 °C
    9     Core Max                  59 °C
    10    CPU                       2,500 RPM
    11    GPU1                      2,300 RPM
    12    GPU Temperature           59.0 °C
    13    GPU Core Voltage          0.831 V
    14    GPU Clock                 135.0 MHz
    15    GPU Memory Clock          162.0 MHz
    16    GPU Core Load             1.0 %
    17    GPU Memory Usage          11.8 %
    18    GPU Memory Allocated      363 MB
    19    Battery Voltage           17.135 V
    20    Remaining Capacity        92.056 Wh
    21    Charge Level              100.0 %
I waited for the fans to shut down (indexes 10 and 11), then exited HWiNFO and restarted it (so the fans were off and HWiNFO would not see them). This resulted in the following:

Code: Select all

    Index Label                     Value
    ===== ========================= ===========
    0     Core 0 Clock              3,093.2 MHz
    1     Core 1 Clock              3,093.2 MHz
    2     Core 2 Clock              3,093.2 MHz
    3     Core 3 Clock              3,093.2 MHz
    4     Core 0                    63 °C
    5     Core 1                    63 °C
    6     Core 2                    55 °C
    7     Core 3                    54 °C
    8     Core 0 Distance to TjMAX  37 °C
    9     Core Max                  63 °C
    10    GPU Temperature           57.4 °C
    11    GPU Core Voltage          0.837 V
    12    GPU Clock                 135.0 MHz
    13    GPU Memory Clock          162.0 MHz
    14    GPU Core Load             7.0 %
    15    GPU Memory Usage          11.8 %
    16    GPU Memory Allocated      363 MB
    17    Battery Voltage           17.134 V
    18    Remaining Capacity        92.056 Wh
    19    Charge Level              100.0 %
Note the indexes 10 and below are for different items now. I was hoping that the fans would either show despite HWiNFO not seeing them, OR that the indexes would get skipped (i.e., no index 10 or 11). Once the fans kick in (and HWiNFO sees them again), the indexes and the items shift back to the first configuration as expected. The previous beta did this too.

I guess we need something that "pins" the index to the item. Maybe not permanently, but at least while you don't make changes to the configuration.

P.S.: If anyone wants a command-line way to dump the indexes as shown above, here's a PowerShell script (change the extension to .ps1 to run it).
Can you give this one a try?


hwi64_701_4412.zip
You do not have the required permissions to view the files attached to this post.
User avatar
SilverAzide
Rainmeter Sage
Posts: 2603
Joined: March 23rd, 2015, 5:26 pm

Re: Using HWiNFO with Rainmeter

Post by SilverAzide »

jsmorley wrote: March 18th, 2021, 9:24 am Can you give this one a try?
Success! It looks like build 4412 works!

Some observations, though, which confused me at first. It seems like the issue with fans appearing/not appearing has been handled; but it seems like HWiNFO is acting as if the "Show all fans (including stopped or not present" option is enabled even if it is unchecked. I say this because my fans always show now... I can't get them to NOT show. This kind of broke my testing methodology, so I went for the brute force mode...

I plugged in an external hard drive and enabled the sensor entries, like so (indexes 12-19):

Code: Select all

    Index Label                     Value
    ===== ========================= ===========
    0     Core 0 Clock              3,191.4 MHz
    1     Core 1 Clock              3,490.6 MHz
    2     Core 2 Clock              3,490.6 MHz
    3     Core 3 Clock              3,490.6 MHz
    4     Core 0                    52 °C
    5     Core 1                    52 °C
    6     Core 2                    50 °C
    7     Core 3                    49 °C
    8     Core 0 Distance to TjMAX  48 °C
    9     Core Max                  52 °C
    10    CPU                       0 RPM
    11    GPU1                      0 RPM
    12    Drive Temperature         22 °C
    13    Total Host Writes         3,350,495,095 GB
    14    Total Host Reads          1,282 GB
    15    Total Activity            0.0 %
    16    Read Rate                 0.000 MB/s
    17    Write Rate                0.000 MB/s
    18    Read Total                59 MB
    19    Write Total               0 MB
    20    GPU Temperature           55.4 °C
    21    GPU Core Voltage          0.837 V
    22    GPU Clock                 135.0 MHz
    23    GPU Memory Clock          162.0 MHz
    24    GPU Core Load             5.0 %
    25    GPU Memory Usage          8.8 %
    26    GPU Memory Allocated      271 MB
    27    Battery Voltage           17.120 V
    28    Remaining Capacity        92.056 Wh
    29    Charge Level              100.0 %
Then I exited HWiNFO and unplugged the drive, then restarted HWiNFO. Here is the good news:

Code: Select all

    Index Label                     Value
    ===== ========================= ===========
    0     Core 0 Clock              3,192.2 MHz
    1     Core 1 Clock              3,092.4 MHz
    2     Core 2 Clock              3,291.9 MHz
    3     Core 3 Clock              3,291.9 MHz
    4     Core 0                    53 °C
    5     Core 1                    52 °C
    6     Core 2                    52 °C
    7     Core 3                    51 °C
    8     Core 0 Distance to TjMAX  47 °C
    9     Core Max                  53 °C
    10    CPU                       0 RPM
    11    GPU1                      0 RPM
    20    GPU Temperature           57.7 °C
    21    GPU Core Voltage          0.831 V
    22    GPU Clock                 135.0 MHz
    23    GPU Memory Clock          162.0 MHz
    24    GPU Core Load             2.0 %
    25    GPU Memory Usage          9.2 %
    26    GPU Memory Allocated      281 MB
    27    Battery Voltage           17.120 V
    28    Remaining Capacity        92.056 Wh
    29    Charge Level              100.0 %
Note the "hole" in the index sequence. Indexes 20 onward have been maintained. This is exactly what we need for Rainmeter, I think. Any skin registry measures pointing at the missing indexes will just get zeros.
Gadgets Wiki GitHub More Gadgets...