Code Monkey home page Code Monkey logo

touchportal-hardwaremonitor's Introduction

TouchPortal HardwareMonitor

Read Data from Open Hardware Monitor or Libre Hardware Monitor, get all data from the sensors as auto created state values.

Current Sensors and Values Available

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)

Getting Started

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!

Installing

Step 1: Prerequisites

Install Open Hardware Monitor OR Libre Hardware Monitor if you do not have either, and make sure it is running

  1. 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/

  2. 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

Step 2: Download Plugin

Download the Touch Portal plugin from the Releases section of this repository

Step 3: Import into Touch Portal

Select the Gear icon at the top of Touch Portal desktop window and select Import plug-in...

Import Plugin

Step 4: Locate .tpp and Open

Navigate to where you downloaded the .tpp file from Step 1, select it and click "Open"

Step 5: Select Trust Always on Warning Popup

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

Click Trust Always

Step 6: Click OK on Popup

Once you trust the plugin, click OK button

Step 7: Enjoy the Plugin

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.

Settings

There are currently 3 settings for this plugin

  1. Hardware Monitor To Use - Which Sensor data to read
    1. Default: root/LibreHardwareMonitor
    2. Valid Values: root/LibreHardwareMonitor or root/OpenHardwareMonitor
  2. Sensor Capture Time (ms) - How often to read sensor data
    1. Default: 2000
    2. Min: 1000
    3. Max: 9999
  3. Temperature Unit (C/F) - Which Temperature Scale to use
    1. Default: C
    2. Valid Values: C or F
  4. Normalize Throughput (B/s, KB/s, MB/s, GB/s) - Normalize Throughput values to smaller more Visually pleasing values
    1. Default: No
    2. Valid Values: No or Yes
    3. 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
  5. Normalize Data (MB, GB) - Normalize SmallData values to smaller more Visually pleasing values
    1. Default: No
    2. Valid Values: No or Yes
    3. 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

Examples

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

Display Memory Usage

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

Display CPU Usage and Temperature

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: CPU Load Button Example

Event: This generates the dynamic gauge icon CPU Load Dynamic Icon Event

ChangeLog

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.

Build It

If you are looking to build it yourself instead of the pre-setup .tpp file

  1. Clone the Repository
  2. npm run build to kick off and package the binary into a .tpp file ready to import to touch portal

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

License

This project is licensed under the MIT License - see the LICENSE file for details

Acknowledgments

  • 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.

touchportal-hardwaremonitor's People

Contributors

spdermn02 avatar

Stargazers

Matt avatar  avatar  avatar Samuel avatar  avatar Oleg avatar  avatar  avatar  avatar  avatar  avatar Evie (GVguide) avatar  avatar  avatar  avatar Professor Penguin avatar  avatar  avatar  avatar IMISSED avatar

Watchers

 avatar

Forkers

imstealingfigs

touchportal-hardwaremonitor's Issues

How do I know what information to enter so the button can read the event from the computer?

hello.

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

I tried to use the information from your example. but on mine it doesn't display anything. I don't know what syntax is used to capture data from my computer
image
Here only information from the old OHM appears

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.