Jump to content

LCD Display - Show from other data sources


dnovosel

Recommended Posts

I was wondering if there is some way to import/read data from an external source (say a script/API call) to display on a LCD display?

The LCD display is great, and it provides a ton of useful information.  But it might be nice to display something like email count, twitter activity, or other external sources of data.

Link to comment
Share on other sites

Although not as ideal, I did come up with a workaround that is pretty flexible, although more work to setup and maintain.

  • I wrote a python script that collects the data I want to display, formats it, and then applies the text to my background image (using python-pillow)
  • I made a bat file that loads my venv and runs the python script.
  • Windows Task Scheduler is setup to execute the script every 15 minutes which will updates the image.
  • Aida64 picks up the image change automatically, and it's reflected on my LCD panel.

Maybe not the most ideal (or accessible), but it's any idea if anyone else wants to do something similar.

Link to comment
Share on other sites

22 hours ago, dnovosel said:

I was wondering if there is some way to import/read data from an external source (say a script/API call) to display on a LCD display?

The LCD display is great, and it provides a ton of useful information.  But it might be nice to display something like email count, twitter activity, or other external sources of data.

You can use the Registry for that purpose.  Put your values into the following Registry path:

HKEY_CURRENT_USER\Software\FinalWire\AIDA64\ImportValues

Name them as Str1, Str2,... Str10 to have 10 string values imported to AIDA64.

Name them as DW1, DW2,... DW10 to have 10 integer (DoubleWord) values imported to AIDA64.

If you place a value to one or more of those Registry entries, the values will get listed among the other sensor items for LCD, OSD Panel, SensorPanel, etc.

Link to comment
Share on other sites

@FieryThanks!  It's working perfectly.

If anyone else is looking for a solution, the following worked (winreg code modified from Stackoverflow article by Hugo24)

import winreg


REG_PATH = r"SOFTWARE\FinalWire\AIDA64\ImportValues"

def set_reg(name, value):
    try:
        winreg.CreateKey(winreg.HKEY_CURRENT_USER, REG_PATH)
        registry_key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_PATH, 0,
                                       winreg.KEY_WRITE)
        winreg.SetValueEx(registry_key, name, 0, winreg.REG_SZ, value)
        winreg.CloseKey(registry_key)
        return True
    except WindowsError:
        return False

def get_reg(name):
    try:
        registry_key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_PATH, 0,
                                       winreg.KEY_READ)
        value, regtype = winreg.QueryValueEx(registry_key, name)
        winreg.CloseKey(registry_key)
        return value
    except WindowsError:
        return None

And then inside your main code, just set the required values, for instance, I'm setting my local temperature to Str6:

    set_reg("Str6", "{:.0f}".format(temp))

After that you can access via Registry Value Str6 within AIDA64 when configuring the display.

 

@Fiery One question.  When I add the registry value sensors, they don't seem to show up on the LCD Items display (preview).  However, when I apply, they show up correctly on the LCD Panel.  Is this a known defect/limitation?

Link to comment
Share on other sites

On 1/15/2021 at 8:33 PM, dnovosel said:

@FieryThanks!  It's working perfectly.

@Fiery One question.  When I add the registry value sensors, they don't seem to show up on the LCD Items display (preview).  However, when I apply, they show up correctly on the LCD Panel.  Is this a known defect/limitation?

That's a bit clumsy, I admit.  But I think they should appear after an initial value is assigned to them in the Registry and you open the Preferences window again.  Or maybe after you restart AIDA64 :)  Polling and re-enumerating system values can be quite time consuming and is avoided to be done again at each time you click through Preferences windows.  Before, when it was more dynamic, the re-enumeration process made the LCD configuration very sluggish and the user experience became terrible in many cases.

Link to comment
Share on other sites

58 minutes ago, Fiery said:

That's a bit clumsy, I admit.  But I think they should appear after an initial value is assigned to them in the Registry and you open the Preferences window again.  Or maybe after you restart AIDA64 :)  Polling and re-enumerating system values can be quite time consuming and is avoided to be done again at each time you click through Preferences windows.  Before, when it was more dynamic, the re-enumeration process made the LCD configuration very sluggish and the user experience became terrible in many cases.

I'm not sure on the exact trigger, as I wasn't really paying attention to what I've done over the last couple of days.  But some combination of opening/closing the preference pane, and restarting Aida64 has caused most of the values to appear :)

Although not really that important, maybe a button that would cause a polling/re-enumerating step to trigger manually could help?

Anyway, thanks for the support on this.  Definitely helped me get what I wanted out of the display.

Link to comment
Share on other sites

1 minute ago, dnovosel said:

I'm not sure on the exact trigger, as I wasn't really paying attention to what I've done over the last couple of days.  But some combination of opening/closing the preference pane, and restarting Aida64 has caused most of the values to appear :)

Although not really that important, maybe a button that would cause a polling/re-enumerating step to trigger manually could help?

Anyway, thanks for the support on this.  Definitely helped me get what I wanted out of the display.

What we need to do is decouple those items that are quick and easy to re-enumerate to those that have problems about that.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...