Showing results for 
Search instead for 
Did you mean: 

Displaying hardware stats on RYUO / RYUJIN cooler with non Asus Motherboard

Level 7
TLDR: Using PowerShell I can display hardware stats on the Asus ROG RYUO cooler without an Asus brand motherboard


So, apparently I'm an idiot. In order to use the hardware monitoring capabilities of the Asus ROG RYUO cooler, you need to have an Asus brand motherboard. I have an ASRock motherboard. I guess simply reading the information from Windows like every other piece of software on the planet is too difficult. Thanks Asus. Anyway...

I decided to see what I could do with the "custom banner" option in the LiveDash software. It lets you type in a text field, hit apply, and it'll display your text on top of a preset background on your watercooler. So of course I immediately think, why not have something dynamically fill this in and apply it automatically.

With process monitor I determined it was writing to the following XML file "C:\Program Files (x86)\LightingService\OledLastProfile.xml" Upon viewing this file, I spotted where it was saving the lines of text. Pretty simple really

Now that I had this figured out, I fired up powershell and hastily slapped together the following bit of code to have it read from WMI and dynamically update the XML file with information about my system. I would have had it write system temps but apparently for my motherboard I can't get that info from WMI. (Please don't judge my code too harshly)

$i = 1
$CPUpercent = get-wmiobject Win32_Processor | select -expandproperty loadpercentage
$RAM = Get-WmiObject Win32_OperatingSystem | select totalvisiblememorysize, freephysicalmemory
$RAMusage = [math]::Round(($RAM.TotalVisibleMemorySize - $RAM.FreePhysicalMemory)/1024/1024,1)
[XML]$XMLfile=Get-Content(“C:\Program Files (x86)\LightingService\OledLastProfile.xml”)
$xmlfile.root.profiles.profile1.main.single.player.setting.text_list.text_string1 = "CPU Load: $CPUpercent %"
$xmlfile.root.profiles.profile1.main.single.player.setting.text_list.text_string2 = "RAM Used: $RAMUsage GB"
$“C:\Program Files (x86)\LightingService\OledLastProfile.xml”)
Start-Process -filepath "C:\Program Files (x86)\ASUS\LiveDash\LiveDash.exe"
Start-Sleep -Seconds 1
Stop-Process -Name LiveDash
Start-Sleep -Seconds 4

While($i -eq 1)

With that bit of code, PowerShell is dynamically writing the CPU load percentage and RAM usage to that XML file. When I fire up LiveDash the display immediately updates with the information in the XML. Unfortunately, I cannot determine how to make the OLED refresh without opening LiveDash every time the XML is updated. So, I added the last 4 lines to launch LiveDash, give it 1 second to update the OLED, then kill the LiveDash process before it has a chance to actually open the GUI and steal focus from what I'm working on. I also added a sleep of 4 seconds to the end so the loop has a total of 5 seconds of "sleep" time to not do anything so it doesn't overwhelm LiveDash or anything. Without the sleep in there, it started getting confused and writing weird stuff to the XML and not displaying it correctly.

With that code running in the background, I can fire up a game and see my system stats right on my water cooler! Pretty neat! If anyone has an idea of how to refresh the OLED without firing up the LiveDash software please share.

Level 7
I discovered that LiveDash installs a windows service called "LightingService". By restarting this windows service, the OLED will refresh. There's about a 10-12 second delay after it restarts before the OLED updates though. By replacing the last 4 lines in my script (inside the loop) above with this

Restart-Service lightingservice -Force    
Start-Sleep -Seconds 15

I am now able to refresh the OLED without opening LiveDash. I also discovered that I can dump a report from CPU-Z and then parse through this report to get the CPU temperature.

i mean..u must have asus to buy this aio?and why u dont tell to people...

Level 7
hey vinny i have aorus motherboard how u control the fans?the small fan inside the pump....for first thing that i did i put fans on motherboard to can controli it and the pump there....but is there any programm than can i do with program also when i install livedash....its working like mobo colors f@@CKED up with u must contol light service i am very upset....