Read Data from Open Hardware Monitor or Libre Hardware Monitor, get all data from the sensors as auto created state values.
- TouchPortal HardwareMonitor
With this rewrite, all current sensor data that is available in Open Hardware Monitor or Libre Hardware Monitor is going to be made available dynamically to you as a plugin state. The state id's themselves are fairly "generic" in regards to hardware they reference it by type of hardware not specifically the exact hardware names. So sharing pages is still possible but note that 1 cpu based computers could only utilize one portion of a page if it was created from a 2 cpu based computer. (if that makes sense)
If you use Touch Portal and are interested in having a "dashboard" display of your computer statistics, these instructions will help get that setup for you.
If you don't use Touch Portal - how dare you, you should!
Install Open Hardware Monitor OR Libre Hardware Monitor if you do not have either, and make sure it is running
-
Open Hardware Monitor
The original plugin was built to read from this program's data, so left it here for users who don't want to migrate to using Libre Hardware Monitor https://openhardwaremonitor.org/ -
Libre Hardware Monitor
Now you can read the sensor data from Libre Hardware Monitor (a fork of Open Hardware Monitor, but seems to have better support and more updates) https://github.com/LibreHardwareMonitor/LibreHardwareMonitor
Download the Touch Portal plugin from the Releases section of this repository
Select the Gear icon at the top of Touch Portal desktop window and select Import plug-in...
Navigate to where you downloaded the .tpp file from Step 1, select it and click "Open"
In order for this plugin to run when you start Touch Portal, you will need to select Trust Always
on the popup that appears, if you do not do this, it will show up every time you start Touch Portal
Once you trust the plugin, click OK
button
After the plugin imports, it will start and start reading the data by default using root/LibreHardwareMonitor
every 2 seconds and report temperature in Celsius. See the Settings section for info on how to change these.
There are currently 3 settings for this plugin
Hardware Monitor To Use
- Which Sensor data to read- Default:
root/LibreHardwareMonitor
- Valid Values:
root/LibreHardwareMonitor
orroot/OpenHardwareMonitor
- Default:
Sensor Capture Time (ms)
- How often to read sensor data- Default:
2000
- Min: 1000
- Max: 9999
- Default:
Temperature Unit (C/F)
- Which Temperature Scale to use- Default: C
- Valid Values:
C
orF
Normalize Throughput (B/s, KB/s, MB/s, GB/s)
- Normalize Throughput values to smaller more Visually pleasing values- Default: No
- Valid Values:
No
orYes
- How: This takes the throughput values and divides by 1024, until the value is less than 1024, counts how many times it does the calc to know Unit, will now create a unit based state as well for those that are converted
Normalize Data (MB, GB)
- Normalize SmallData values to smaller more Visually pleasing values- Default: No
- Valid Values:
No
orYes
- How: This takes the SmallData values and divides by 1024, until the value is less than 1024, counts how many times it does the calc to know Unit, will now create a unit based state as well for those that are converted
Again - the plugin-state names may be different depending on your hardware configuration from what mine are so this is purely for example of how to use it possibly
This button displays the current Used Percentage of the Memory and based on it's value, a Green/Orange/Red Memory Module icon - you choose your breakdown of Green/Orange/Red indicators
This button displays the current Load % and Temperature of my CPU Core. I have combined this with (Touch Portal Dynamic Icons)[https://github.com/spdermn02/TouchPortal-Dynamic-Icons] Plugin to also show a round gauge as a visual for the CPU Load. For that generation I use an Event since I have these gauges on multiple pages
Button:
Event: This generates the dynamic gauge icon
1.0.0 - Initial Release
1.0.1 - Bug Fixes and Update Notification addition
- Bugs:
- removed some left over log messages
- Additions:
- added in Update Notification Process for post 1.0.1 releases
- changed Sensor Capture Interval times to be allowed 500(ms) to 99999(ms)
- Documentation:
- Corrected statements about generalized states being needed to share pages
1.1.0 - Adding in a new Setting
- Additions:
- New Setting for Normalizing Throughput units
- Creates new Unit state when setting set to 'Yes'
- Divides unit by 1024 until it is less than 1024, and counts how many times it did that division to determine KB/s, MB/s, GB/s
- new Unit state is not created if this setting is 'No' initially.
1.1.1 - Bug Fix
- Bug:
- Fixed the setting for where Hardware data comes from to actually use what you have in the settings, it was accidentally left as Hardcoded to LHM instead of allowing it to be overridden by the plugin settings value
1.1.2 - Bug Fix
- Bug:
- Fixed the setting for where Sensor data comes from to actually use what you have in the settings, it was accidentally left as Hardcoded to LHM instead of allowing it to be overridden by the plugin settings value
1.1.3 - Bug Fix
- Bug:
- Removed useless logging left in from v1.1.2 testing
1.1.4 - Bug Fix
- Bug:
- Read hardware attempts multiple tries before dying.
1.1.5 - Bug Fix
- Bug:
- Make sure that each sensor has unique Identifier name, as some appear to use the same base name+
1.2.0 - Data conversion Feature
- Feature:
- Added in SmallData conversion for things like Video Card RAM and any other sensor that is small data type.
-Note: This is controlled by a setting that is default No, to turn on go to the Plugin Settings in Touch Portal and change the value to Yes
1.2.1 - Bug Fixes and minor Enhancement
- Bug:
- Fixed data processing for small data, and removed extra log
- Enhancement:
- Hardware is now sorted by type then name, to keep it consistent between restarts of the plugin.
1.2.2 - Bug Fixes
- Bug:
- Upon startup if no hardware data read, we need to enter the read loop, instead of trying to then read sensor data and bombing. changes will loop 60 times, waiting 1 second initially, and then subsequent waits will be incremented by 1 second. After that failure will occur, and error printed into logs.
If you are looking to build it yourself instead of the pre-setup .tpp file
- Clone the Repository
npm run build
to kick off and package the binary into a .tpp file ready to import to touch portal
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Jameson Allen - Initial work - Spdermn02
This project is licensed under the MIT License - see the LICENSE file for details
- Thank you to Open Hardware Monitor/Libre Hardware Monitor for writing your statstics somewhere accessible
- Thank you to Ty and Reinier for creating and developing Touch Portal
- Thank you to Sora for testing this out for me.