Introducing : Remote Sensor Monitor - A RESTful Web Server

Ganesh_AT

Member
Folks,

I wish to introduce Remote Sensor Monitor (a small freeware Windows console application (requires .NET 4.0) that I have been developing over the last week or so) for your feedback / bug reports.


v2.1.0:
Release Notes:
1. Added support for AIDA64 sensor / data reporting
2. Removed external DLL dependency for GPU-Z shared memory access

Link: https://www.hwinfo.com/files/RemoteSensorMonitor/Remote.Sensor.Monitor.v.2.1.0.zip

v2.0.1:
Release Notes:
1. Fixed bug related to certain sensors being reported multiple times in Hyper-V enabled machines

Link: https://www.hwinfo.com/files/RemoteSensorMonitor/Remote.Sensor.Monitor.v.2.0.1.zip

v2.0.0:
Release Notes:
1. Initial public release

Link: https://www.hwinfo.com/files/RemoteSensorMonitor/Remote.Sensor.Monitor.v.2.0.0.zip


Remote Sensor Monitor 2.1.0.0
Copyright (C) 2013 Ganesh T S

Remote Sensor Monitor is a Windows console application designed to present various hardware sensor parameters reported by HWiNFO / GPU-Z / AIDA64 / Open Hardware Monitor as a JSON string and make it available over the network. Enabling GPU-Z, HWiNFO and AIDA64 requires the programs to be running the background. The minimum supported versions are: GPU-Z: 0.7.4, HWiNFO: 4.30, AIDA64: 4.00.2706. Open Hardware Monitor sensors can be reported only if OpenHardwareMonitorLib.dll is present in the same folder as that of the application. Once the web server starts up, the JSON string is available at http://<IP>:<PORT> ; The reported parameters can be filtered / configured via the web interface at http://<IP>:<PORT>/config ; The program requires administrative privileges in order to open and close the applicable port in the firewall when necessary.

Command Line Options:

p, port : (Default: 55555) Port number to use
hwinfo : (Default: 1) Enable (1) / Disable (0) sending out sensor readings from HWiNFO
gpuz : (Default: 1) Enable (1) / Disable (0) sending out sensor readings from GPU-Z
aida64 : (Default: 1) Enable (1) / Disable (0) sending out sensor readings from AIDA64
ohm : (Default: 1) Enable (1) / Disable (0) sending out sensor readings from OpenHardwareMonitor
h, help : Display the help screen.


Usage:
"Remote Sensor Monitor.exe" [-p=<port_number>] [--hwinfo=<0|1>] [--gpuz=<0|1>] [--aida64=<0|1>] [--ohm=<0|1>]


With the JSON output, it is easy to develop client applications for various purposes. For example, the script hosted here: https://code.google.com/p/sensor-mo...rowse/trunk/RemoteSensorMonitor_Client_CLI.pl : can be used to record various sensor parameters of a remote machine on which this program is running into a CSV file.

The code itself is based heavily on SensorMonHTTP, a open source GPU-Z / Open Hardware Monitor C# .NET application that I had developed earlier. It is hosted here: http://code.google.com/p/sensor-mon-http/source/browse/trunk/SensorMonHTTP ; I have added HWiNFO support, thanks to the shared memory details provided by Martin. I would have loved to open source this effort too, but Martin prefers that the shared memory specifications remain private. Therefore, this fork of SensorMonHTTP will have to remain closed-source.

Edit: It would be great is someone could contribute an icon / display graphic for the program.
 
Martin said:
Thank you for this useful tool !

Doesn't work for me...

Please wait for the web server to start.................
Unhandled Exception: System.ArgumentException: An item with the same key has alr
eady been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boo
lean add)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at RemoteSensorMonitor.GlobalOptions.InitializeEnabledStatus()
at RemoteSensorMonitor.GlobalOptions.ProcessStartupOptions(String[] args)
at RemoteSensorMonitor.Program.Main(String[] args)
 
cyphrmedic said:
Martin said:
Thank you for this useful tool !

Doesn't work for me...

Please wait for the web server to start.................
Unhandled Exception: System.ArgumentException: An item with the same key has alr
eady been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boo
lean add)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at RemoteSensorMonitor.GlobalOptions.InitializeEnabledStatus()
at RemoteSensorMonitor.GlobalOptions.ProcessStartupOptions(String[] args)
at RemoteSensorMonitor.Program.Main(String[] args)

Thanks for the feedback. I encountered this bug while testing and fixed it for that particular m/c in v2.1.0. Can you confirm you are using that version? You can check by running the program with the -h option in the command line.

If you are using v2.1.0, can you let me know what sensor monitoring programs are enabled? If you could narrow it down to one sensor monitoring program, that would be a good pointer. Secondly, if it is HWiNFO causing the problem, can you upgrade it to the latest beta and do a 'Restore Original Order' in the configuration settings and then restart the program before starting the RemoteSensorMonitor executable ?

If none of these work, I can upload a debug build next week and we can take it forward from there.
 
Ganesh_AT said:
cyphrmedic said:
Martin said:
Thank you for this useful tool !

Doesn't work for me...

Please wait for the web server to start.................
Unhandled Exception: System.ArgumentException: An item with the same key has alr
eady been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boo
lean add)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at RemoteSensorMonitor.GlobalOptions.InitializeEnabledStatus()
at RemoteSensorMonitor.GlobalOptions.ProcessStartupOptions(String[] args)
at RemoteSensorMonitor.Program.Main(String[] args)

Thanks for the feedback. I encountered this bug while testing and fixed it for that particular m/c in v2.1.0. Can you confirm you are using that version? You can check by running the program with the -h option in the command line.

If you are using v2.1.0, can you let me know what sensor monitoring programs are enabled? If you could narrow it down to one sensor monitoring program, that would be a good pointer. Secondly, if it is HWiNFO causing the problem, can you upgrade it to the latest beta and do a 'Restore Original Order' in the configuration settings and then restart the program before starting the RemoteSensorMonitor executable ?

If none of these work, I can upload a debug build next week and we can take it forward from there.

I have the same problem when runing remote server

Code:
D:\Users\User\Downloads\Remote.Sensor.Monitor.v.2.1.0>"Remote Sensor Monitor.exe
"

Starting Remote Sensor Monitor on port 55555...

HWiNFO process found! Enabling HWiNFO...

GPU-Z process found! Enabling GPU-Z...

AIDA64 enabled, but AIDA64 process not found! Disabling AIDA64...

Open Hardware Monitor DLL found! Enabling Open Hardware Monitor...

Please wait for the web server to start............
Unhandled Exception: System.ArgumentException: An item with the same key has alr
eady been added.
   at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
   at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boo
lean add)
   at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
   at RemoteSensorMonitor.GlobalOptions.InitializeEnabledStatus()
   at RemoteSensorMonitor.GlobalOptions.ProcessStartupOptions(String[] args)
   at RemoteSensorMonitor.Program.Main(String[] args)

D:\Users\User\Downloads\Remote.Sensor.Monitor.v.2.1.0>

and the version of the server is 2.1.0.0

Code:
D:\Users\User\Downloads\Remote.Sensor.Monitor.v.2.1.0>"Remote Sensor Monitor.exe
" -h

Remote Sensor Monitor 2.1.0.0
Copyright (C) 2013 Ganesh T S

Remote Sensor Monitor is a Windows console application designed to present
various hardware sensor parameters reported by HWiNFO / GPU-Z / AIDA64 / Open
Hardware Monitor as a JSON string and make it available over the network.
Enabling GPU-Z, HWiNFO and AIDA64 requires the programs to be running the
background. The minimum supported versions are: GPU-Z: 0.7.4, HWiNFO: 4.30,
AIDA64: 4.00.2706. Open Hardware Monitor sensors can be reported only if
OpenHardwareMonitorLib.dll is present in the same folder as that of the
application. Once the web server starts up, the JSON string is available at
http://<IP>:<PORT> ; The reported parameters can be filtered / configured via
the web interface at http://<IP>:<PORT>/config ; The program requires
administrative privileges in order to open and close the applicable port in the
firewall when necessary.

Command Line Options:

  p, port    (Default: 55555) Port number to use
  hwinfo     (Default: 1) Enable (1) / Disable (0) sending out sensor readings
             from HWiNFO
  gpuz       (Default: 1) Enable (1) / Disable (0) sending out sensor readings
             from GPU-Z
  aida64     (Default: 1) Enable (1) / Disable (0) sending out sensor readings
             from AIDA64
  ohm        (Default: 1) Enable (1) / Disable (0) sending out sensor readings
             from OpenHardwareMonitor
  h, help    Display this help screen.


Usage:
        "Remote Sensor Monitor.exe" [-p=<port_number>] [--hwinfo=<0|1>]
[--gpuz=<0|1>] [--aida64=<0|1>] [--ohm=<0|1>]


D:\Users\User\Downloads\Remote.Sensor.Monitor.v.2.1.0>
 
I got exactly the same error when trying to run it with hwinfo. But I got it to start when i explicitly told it to run only with hwinfo with the following command in a .bat file.

"remote Sensor Monitor.exe" --hwinfo=1 --gpuz=0 --aida64=0 --ohm=0
pause

Best regards
Conny


cyphrmedic said:
Martin said:
Thank you for this useful tool !

Doesn't work for me...

Please wait for the web server to start.................
Unhandled Exception: System.ArgumentException: An item with the same key has alr
eady been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boo
lean add)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at RemoteSensorMonitor.GlobalOptions.InitializeEnabledStatus()
at RemoteSensorMonitor.GlobalOptions.ProcessStartupOptions(String[] args)
at RemoteSensorMonitor.Program.Main(String[] args)
 
Hello,
i tried Remote Sensor Monitor with two Systems (first is the mainsystem / second is a virtual mashine on the mainsystem)

In the virtual mashine (virtual box software), your tool is working fine!
In the main mashine, your tool is crashing the same way, the others reported.

I already tried --hwinfo=0, --gpz=0 --aida64=0 and ohm=1 (both systems use ohm)

Do you have a gess, what the problem is?

thanks alot
 
Is there anyone that can recommend a good software for IOS that I could use with RSM to show relevant info on my iPad?

Conny
 
The web interface doesn't seem to be loading the skin. I get this error in the console:

Please wait for the web server to start................Creating an instance of t
he COM component with CLSID {304CE942-6E39-40D8-943A-B913C40C9CD4} from the ICla
ssFactory failed due to the following error: 800706d9 There are no more endpoint
s available from the endpoint mapper. (Exception from HRESULT: 0x800706D9).
Creating an instance of the COM component with CLSID {304CE942-6E39-40D8-943A-B9
13C40C9CD4} from the IClassFactory failed due to the following error: 800706d9 T
here are no more endpoints available from the endpoint mapper. (Exception from H
RESULT: 0x800706D9).
Object reference not set to an instance of an object.
..Web server running

Press [ENTER] to quit

and in the web interface I get the raw data like this:

[
{
"SensorApp": "AIDA64",
"SensorClass": "sys",
"SensorName": "Date (SDATE)",
"SensorValue": "11/10/2014",
"SensorUnit": "NA",
"SensorUpdateTime": 0
},
{
"SensorApp": "AIDA64",
"SensorClass": "sys",
"SensorName": "Time (STIME)",
"SensorValue": "19:17:09",
"SensorUnit": "NA",
"SensorUpdateTime": 0
},
{
"SensorApp": "AIDA64",
"SensorClass": "sys",
"SensorName": "UpTime (SUPTIME)",
"SensorValue": "00:31:23",
"SensorUnit": "NA",
"SensorUpdateTime": 0
},
 
Hi, author ! Thanks for this cool software!
I have 2 questions:
1. It is possible to start this nice program as service? Can you add this feature in the future?
2. If one of program (hwinfo or openhardwaremonitor) closing or crashing - Remote Sensor Monitor stops responding... :(
 
Is anybody using this tool? I find that the program will randomly stop and there is no way to know the state of the program. Its unclear what failed, why and what corrective action is required.
 
Dajudge said:
Is anybody using this tool? I find that the program will randomly stop and there is no way to know the state of the program. Its unclear what failed, why and what corrective action is required.

I know I feel late to the party. I had it working fine for a while but then it just stopped working. Maybe it isn't supported any more so it needs updating. Shame but thanks anyway Ganesh_AT.
 
Last edited by a moderator:
Code:
Starting Remote Sensor Monitor on port 55555...

HWiNFO process found! Enabling HWiNFO...

GPU-Z process found! Enabling GPU-Z...

AIDA64 enabled, but AIDA64 process not found! Disabling AIDA64...

Open Hardware Monitor DLL found! Enabling Open Hardware Monitor...

Please wait for the web server to start.............Creating an instance of the COM component with CLSID {304CE942-6E39-40D8-943A-B913C40C9CD4} from the IClassFactory failed due to the following error: 800706d9 There are no more endpoints available from the endpoint mapper. (Exception from HRESULT: 0x800706D9).
Creating an instance of the COM component with CLSID {304CE942-6E39-40D8-943A-B913C40C9CD4} from the IClassFactory failed due to the following error: 800706d9 There are no more endpoints available from the endpoint mapper. (Exception from HRESULT: 0x800706D9).
Object reference not set to an instance of an object.
..Web server running

Press [ENTER] to quit

Creating an instance of the COM component with CLSID {304CE942-6E39-40D8-943A-B913C40C9CD4} from the IClassFactory failed due to the following error: 800706d9 There are no more endpoints available from the endpoint mapper. (Exception from HRESULT: 0x800706D9).

It starts, but it's very buggy. It gives a lot of Internal Server errors, that I expect originate from those errors in starting. Also, if I try to run with the port flag...
Code:
> "Remote Sensor Monitor.exe" -p=47505
Unhandled Exception: System.FormatException: Input string was not in a correct format.
  at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
  at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
  at System.Convert.ToInt32(String value)
  at RemoteSensorMonitor.GlobalOptions.ProcessStartupOptions(String[] args)
  at RemoteSensorMonitor.Program.Main(String[] args)
 
Timberwolf said:
Code:
Starting Remote Sensor Monitor on port 55555...

HWiNFO process found! Enabling HWiNFO...

GPU-Z process found! Enabling GPU-Z...

AIDA64 enabled, but AIDA64 process not found! Disabling AIDA64...

Open Hardware Monitor DLL found! Enabling Open Hardware Monitor...

Please wait for the web server to start.............Creating an instance of the COM component with CLSID {304CE942-6E39-40D8-943A-B913C40C9CD4} from the IClassFactory failed due to the following error: 800706d9 There are no more endpoints available from the endpoint mapper. (Exception from HRESULT: 0x800706D9).
Creating an instance of the COM component with CLSID {304CE942-6E39-40D8-943A-B913C40C9CD4} from the IClassFactory failed due to the following error: 800706d9 There are no more endpoints available from the endpoint mapper. (Exception from HRESULT: 0x800706D9).
Object reference not set to an instance of an object.
..Web server running

Press [ENTER] to quit

Creating an instance of the COM component with CLSID {304CE942-6E39-40D8-943A-B913C40C9CD4} from the IClassFactory failed due to the following error: 800706d9 There are no more endpoints available from the endpoint mapper. (Exception from HRESULT: 0x800706D9).

It starts, but it's very buggy. It gives a lot of Internal Server errors, that I expect originate from those errors in starting. Also, if I try to run with the port flag...
Code:
> "Remote Sensor Monitor.exe" -p=47505
Unhandled Exception: System.FormatException: Input string was not in a correct format.
   at System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   at System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   at System.Convert.ToInt32(String value)
   at RemoteSensorMonitor.GlobalOptions.ProcessStartupOptions(String[] args)
   at RemoteSensorMonitor.Program.Main(String[] args)

First off the usage the author posted isn't 100% correct as you did figure doing the -p=47505.

For PORT there are two options in the usage "p" and "port".

now he displays usage as "Remote Sensor Monitor.exe" [-p=<port_number>] [--hwinfo=<0|1>] [--gpuz=<0|1>] [--aida64=<0|1>] [--ohm=<0|1>]

however i'm sure its just a simply typo for the -p=<port_number>

to use -p option it'd be along time lines of "Remote Sensor Monitor.exe" [-p 47505]

notice the "=" sign is not in it.

to use the --port option it'd be "Remote Sensor Monitor.exe" [--port=47505]

Its not a bug its just a typo in the authors post for syntax.

This post is older but figured i'd let u know incase u never figured that out. cheers
 
Ganesh_AT said:
Folks,

I wish to introduce Remote Sensor Monitor (a small freeware Windows console application (requires .NET 4.0) that I have been developing over the last week or so) for your feedback / bug reports.


v2.1.0:
Release Notes:
1. Added support for AIDA64 sensor / data reporting
2. Removed external DLL dependency for GPU-Z shared memory access

Link: https://www.hwinfo.com/files/RemoteSensorMonitor/Remote.Sensor.Monitor.v.2.1.0.zip

v2.0.1:
Release Notes:
1. Fixed bug related to certain sensors being reported multiple times in Hyper-V enabled machines

Link: https://www.hwinfo.com/files/RemoteSensorMonitor/Remote.Sensor.Monitor.v.2.0.1.zip

v2.0.0:
Release Notes:
1. Initial public release

Link: https://www.hwinfo.com/files/RemoteSensorMonitor/Remote.Sensor.Monitor.v.2.0.0.zip


Remote Sensor Monitor 2.1.0.0
Copyright (C) 2013 Ganesh T S

Remote Sensor Monitor is a Windows console application designed to present various hardware sensor parameters reported by HWiNFO / GPU-Z / AIDA64 / Open Hardware Monitor as a JSON string and make it available over the network. Enabling GPU-Z, HWiNFO and AIDA64 requires the programs to be running the background. The minimum supported versions are: GPU-Z: 0.7.4, HWiNFO: 4.30, AIDA64: 4.00.2706. Open Hardware Monitor sensors can be reported only if OpenHardwareMonitorLib.dll is present in the same folder as that of the application. Once the web server starts up, the JSON string is available at http://<IP>:<PORT> ; The reported parameters can be filtered / configured via the web interface at http://<IP>:<PORT>/config ; The program requires administrative privileges in order to open and close the applicable port in the firewall when necessary.

Command Line Options:


 p, port :    (Default: 55555) Port number to use
 hwinfo :    (Default: 1) Enable (1) / Disable (0) sending out sensor readings from HWiNFO
 gpuz :      (Default: 1) Enable (1) / Disable (0) sending out sensor readings from GPU-Z
 aida64 :    (Default: 1) Enable (1) / Disable (0) sending out sensor readings from AIDA64
 ohm :       (Default: 1) Enable (1) / Disable (0) sending out sensor readings from OpenHardwareMonitor
 h, help :   Display the help screen.



Usage:

       "Remote Sensor Monitor.exe" [-p=<port_number>] [--hwinfo=<0|1>] [--gpuz=<0|1>] [--aida64=<0|1>] [--ohm=<0|1>]



With the JSON output, it is easy to develop client applications for various purposes. For example, the script hosted here: https://code.google.com/p/sensor-mo...rowse/trunk/RemoteSensorMonitor_Client_CLI.pl : can be used to record various sensor parameters of a remote machine on which this program is running into a CSV file.

The code itself is based heavily on SensorMonHTTP, a open source GPU-Z / Open Hardware Monitor C# .NET application that I had developed earlier. It is hosted here: http://code.google.com/p/sensor-mon-http/source/browse/trunk/SensorMonHTTP ; I have added HWiNFO support, thanks to the shared memory details provided  by Martin. I would have loved to open source this effort too, but Martin prefers that the shared memory specifications remain private. Therefore, this fork of SensorMonHTTP will have to remain closed-source.

Edit: It would be great is someone could contribute an icon / display graphic for the program.

love this little addon it makes things somewhat easier and cheers for that. you should corrent the -p=<port_number> in your usage as its -p <port_number> unless your using --port then its --port=<port_number>

On Another note I like the fact the web access to hwinfo64s stats however in raw data its a little more difficult to keep an eye on specific things like temperature. Would be nice if there was some way to control how it outputs to the webserver so we can organise the information or grab only certain values to post.

cheers again on a great addon
 
First, thanks for having made this, I've had use of it a fair bit so far, I do see it hasn't been updated since 2013 so I guess it might be dead now, but lately I constantly get the error many others have reported previously.

Code:
Please wait for the web server to start..............
Unhandled Exception: System.ArgumentException: An item with the same key has already been added.
  at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
  at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
  at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
  at RemoteSensorMonitor.GlobalOptions.InitializeEnabledStatus()
  at RemoteSensorMonitor.GlobalOptions.ProcessStartupOptions(String[] args)
  at RemoteSensorMonitor.Program.Main(String[] args)

I've tried hiding almost every field in HWiNFO, still breaks. I've tried reverting HWiNFO to previous versions, rewriting the config, no luck. I've tried deleting config files for RSM, no difference. It just constantly throws this error :/ I've made a few apps that use this so would be neat to get a resolution to the issue, otherwise I'll have to look elsewhere I guess.
Cheers!

Edit: As a side note, the download links are now broken so this cannot be downloaded anymore. For me I just end up at the general HWiNFO download page.
 
I have fixed the download links. If they still don't work, try first with Right-click and Save Link As.
But I cannot provide any further support for this, as I'm not the author.
 
Looks useful :) I can probably pull info from the json using CLI in Linux. But does anyone know of a Linux tool/app to display the info graphically ?
 
Hello! I'd love to give this a try, but I cannot so long as the software requires administrative elevation; it cannot access the user-run hwinfo process.
 
Back
Top