Author Topic: [Release] LH_DataViewer (v1.03)  (Read 28839 times)

hiltondk

  • Newbie
  • *
  • Posts: 23
Re: [Release] LH_DataViewer (v1.03)
« Reply #45 on: 2013-03-07 14:34:48 »
Great News!!! I got it all working!!!!!!!!!!!!!!



Im using 2 data connectors in LCDHost to pickup the CPU and GPU water loop temps.. I  can now add anything I like from Aquasuite 2012 XML logs to the G19 screen!


I had to create a seperate map file for each dataconnector and use the cleaned XML files which I cleaned with the XSL template script. (now running every 10secs as water temps dont change that quickly.)


OCCT Powersupply test running in background.
This shows the CPU Water Temp Data Template below.
{logdata.LogDataSets.CpuName} {logdata.LogDataSets.CpuTemp}°C




This shows the Data Connector XML file and XML Map file.



The XML export from Aquasuite 2012.


CPU datamap file that tells LCDHost how to read the cleaned XML file from Aquasuite after its been cleaned with my XSL batchfile. It took hours and hours of trial and error to get this to work!
Code: [Select]
[Format]
type=xml ; xml / txt / ini
dataExpiry=0 ; # of seconds to consider the data invalid
language=EN ; The language used by the lists in this file. Other languages can be added by copying the lists to a new text file,
; translating them and then saving the file as "lists.<language>.txt", e.g. lists.RU.txt

[Parsing]
logdata.LogDataSets
logdata.LogDataSets.CpuTime
logdata.LogDataSets.CpuTime.*Value logdata.LogDataSet.t
logdata.LogDataSets.CpuTime.Level logdata.LogDataSet.t
logdata.LogDataSets.CpuTime.Level.Code logdata.LogDataSet.t

logdata.LogDataSets
logdata.LogDataSets.CpuTemp
logdata.LogDataSets.CpuTemp.*Value logdata.LogDataSet.value
logdata.LogDataSets.CpuTemp.Level logdata.LogDataSet.value
logdata.LogDataSets.CpuTemp.Level.Code logdata.LogDataSet.value

logdata.LogDataSets
logdata.LogDataSets.CpuName
logdata.LogDataSets.CpuName.*Value logdata.LogDataSet.name
logdata.LogDataSets.CpuName.Level logdata.LogDataSet.name
logdata.LogDataSets.CpuName.Level.Code logdata.LogDataSet.name

logdata.LogDataSets
logdata.LogDataSets.CpuUnit
logdata.LogDataSets.CpuUnit.*Value logdata.LogDataSet.unit
logdata.LogDataSets.CpuUnit.Level logdata.LogDataSet.unit
logdata.LogDataSets.CpuUnit.Level.Code logdata.LogDataSet.unit

logdata.LogDataSets
logdata.LogDataSets.CpuvalueType
logdata.LogDataSets.CpuvalueType.*Value logdata.LogDataSet.valueType
logdata.LogDataSets.CpuvalueType.Level logdata.LogDataSet.valueType
logdata.LogDataSets.CpuValueType.Level.Code logdata.LogDataSet.valueType

logdata.LogDataSets
logdata.LogDataSets.CpuDevice
logdata.LogDataSets.CpuDevice.*Value logdata.LogDataSet.device
logdata.LogDataSets.CpuDevice.Level logdata.LogDataSet.device
logdata.LogDataSets.CpuDevice.Level.Code logdata.LogDataSet.device



The GPU Datamap file.
Code: [Select]
[Format]
type=xml ; xml / txt / ini
dataExpiry=0 ; # of seconds to consider the data invalid
language=EN ; The language used by the lists in this file. Other languages can be added by copying the lists to a new text file,
; translating them and then saving the file as "lists.<language>.txt", e.g. lists.RU.txt



[Parsing]
logdata.LogDataSets
logdata.LogDataSets.GpuTime
logdata.LogDataSets.GpuTime.*Value logdata.LogDataSet.t
logdata.LogDataSets.GpuTime.Level logdata.LogDataSet.t
logdata.LogDataSets.GpuTime.Level.Code logdata.LogDataSet.t

logdata.LogDataSets
logdata.LogDataSets.GpuTemp
logdata.LogDataSets.GpuTemp.*Value logdata.LogDataSet.value
logdata.LogDataSets.GpuTemp.Level logdata.LogDataSet.value
logdata.LogDataSets.GpuTemp.Level.Code logdata.LogDataSet.value

logdata.LogDataSets
logdata.LogDataSets.GpuName
logdata.LogDataSets.GpuName.*Value logdata.LogDataSet.name
logdata.LogDataSets.GpuName.Level logdata.LogDataSet.name
logdata.LogDataSets.GpuName.Level.Code logdata.LogDataSet.name

logdata.LogDataSets
logdata.LogDataSets.GpuUnit
logdata.LogDataSets.GpuUnit.*Value logdata.LogDataSet.unit
logdata.LogDataSets.GpuUnit.Level logdata.LogDataSet.unit
logdata.LogDataSets.GpuUnit.Level.Code logdata.LogDataSet.unit

logdata.LogDataSets
logdata.LogDataSets.GpuvalueType
logdata.LogDataSets.GpuvalueType.*Value logdata.LogDataSet.valueType
logdata.LogDataSets.GpuvalueType.Level logdata.LogDataSet.valueType
logdata.LogDataSets.GpuValueType.Level.Code logdata.LogDataSet.valueType

logdata.LogDataSets
logdata.LogDataSets.GpuDevice
logdata.LogDataSets.GpuDevice.*Value logdata.LogDataSet.device
logdata.LogDataSets.GpuDevice.Level logdata.LogDataSet.device
logdata.LogDataSets.GpuDevice.Level.Code logdata.LogDataSet.device

The batch file that runs the XSL template against the raw XML files from Aquasuite.
Code: [Select]
:top
C:\libxslt-1.1.26.win32\bin\xsltproc.exe -o c:\cpu-clean.xml c:\CPU.xsl c:\CPU.xml
C:\libxslt-1.1.26.win32\bin\xsltproc.exe -o c:\gpu-clean.xml c:\CPU.xsl c:\GPU.xml
timeout 10
goto top

Here's the all important XSL template named cpu.xsl that cleans the XML file of all the stuff that LCDHost doesnt like! Took me a while to work this one out!

Code: [Select]
<xsl:stylesheet

  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

  version="1.0">

 <xsl:output method="xml" version="1.0" indent="no" omit-xml-declaration="yes"/>

  <xsl:template match="*">

    <xsl:element name="{local-name()}">

      <xsl:apply-templates select="@* | node()"/>

    </xsl:element>

  </xsl:template>

 

  <xsl:template match="@*">

    <xsl:attribute name="{local-name()}">

      <xsl:value-of select="."/>

    </xsl:attribute>

  </xsl:template>

 

  <xsl:template match="text() | comment() | processing-instruction()">

    <xsl:copy/>

  </xsl:template>

 

</xsl:stylesheet>


Heres the cleaned XML for the CPU Water Temp that LCDHost uses.. (the GPU looks the same)
Code: [Select]
<LogDataExport>
  <name>CPU</name>
  <exportTime>2013-03-08T01:24:18.4380893+11:00</exportTime>
  <logdata>
    <LogDataSet>
      <t>2013-03-08T01:24:17.577</t>
      <value>34.9</value>
      <name>CPU Water in T1</name>
      <unit>°C</unit>
      <valueType>temperature</valueType>
      <device>aquaero 5 (A5)</device>
    </LogDataSet>
  </logdata>
</LogDataExport>

Ender91

  • Sr. Member
  • ****
  • Posts: 336
  • Alpha & Omega
Re: [Release] LH_DataViewer (v1.03)
« Reply #46 on: 2013-03-07 18:33:20 »
Great Job! You should start your own topic on how to parse Aquasuite info's....;)

novax1

  • Global Moderator
  • Sr. Member
  • ****
  • Posts: 371
Re: [Release] LH_DataViewer (v1.03)
« Reply #47 on: 2013-03-28 10:18:45 »
Great News!!! I got it all working!!!!!!!!!!!!!!



Im using 2 data connectors in LCDHost to pickup the CPU and GPU water loop temps.. I  can now add anything I like from Aquasuite 2012 XML logs to the G19 screen!


I had to create a seperate map file for each dataconnector and use the cleaned XML files which I cleaned with the XSL template script. (now running every 10secs as water temps dont change that quickly.)


OCCT Powersupply test running in background.
This shows the CPU Water Temp Data Template below.
{logdata.LogDataSets.CpuName} {logdata.LogDataSets.CpuTemp}°C




This shows the Data Connector XML file and XML Map file.



The XML export from Aquasuite 2012.


CPU datamap file that tells LCDHost how to read the cleaned XML file from Aquasuite after its been cleaned with my XSL batchfile. It took hours and hours of trial and error to get this to work!
Code: [Select]
[Format]
type=xml ; xml / txt / ini
dataExpiry=0 ; # of seconds to consider the data invalid
language=EN ; The language used by the lists in this file. Other languages can be added by copying the lists to a new text file,
; translating them and then saving the file as "lists.<language>.txt", e.g. lists.RU.txt

[Parsing]
logdata.LogDataSets
logdata.LogDataSets.CpuTime
logdata.LogDataSets.CpuTime.*Value logdata.LogDataSet.t
logdata.LogDataSets.CpuTime.Level logdata.LogDataSet.t
logdata.LogDataSets.CpuTime.Level.Code logdata.LogDataSet.t

logdata.LogDataSets
logdata.LogDataSets.CpuTemp
logdata.LogDataSets.CpuTemp.*Value logdata.LogDataSet.value
logdata.LogDataSets.CpuTemp.Level logdata.LogDataSet.value
logdata.LogDataSets.CpuTemp.Level.Code logdata.LogDataSet.value

logdata.LogDataSets
logdata.LogDataSets.CpuName
logdata.LogDataSets.CpuName.*Value logdata.LogDataSet.name
logdata.LogDataSets.CpuName.Level logdata.LogDataSet.name
logdata.LogDataSets.CpuName.Level.Code logdata.LogDataSet.name

logdata.LogDataSets
logdata.LogDataSets.CpuUnit
logdata.LogDataSets.CpuUnit.*Value logdata.LogDataSet.unit
logdata.LogDataSets.CpuUnit.Level logdata.LogDataSet.unit
logdata.LogDataSets.CpuUnit.Level.Code logdata.LogDataSet.unit

logdata.LogDataSets
logdata.LogDataSets.CpuvalueType
logdata.LogDataSets.CpuvalueType.*Value logdata.LogDataSet.valueType
logdata.LogDataSets.CpuvalueType.Level logdata.LogDataSet.valueType
logdata.LogDataSets.CpuValueType.Level.Code logdata.LogDataSet.valueType

logdata.LogDataSets
logdata.LogDataSets.CpuDevice
logdata.LogDataSets.CpuDevice.*Value logdata.LogDataSet.device
logdata.LogDataSets.CpuDevice.Level logdata.LogDataSet.device
logdata.LogDataSets.CpuDevice.Level.Code logdata.LogDataSet.device



The GPU Datamap file.
Code: [Select]
[Format]
type=xml ; xml / txt / ini
dataExpiry=0 ; # of seconds to consider the data invalid
language=EN ; The language used by the lists in this file. Other languages can be added by copying the lists to a new text file,
; translating them and then saving the file as "lists.<language>.txt", e.g. lists.RU.txt



[Parsing]
logdata.LogDataSets
logdata.LogDataSets.GpuTime
logdata.LogDataSets.GpuTime.*Value logdata.LogDataSet.t
logdata.LogDataSets.GpuTime.Level logdata.LogDataSet.t
logdata.LogDataSets.GpuTime.Level.Code logdata.LogDataSet.t

logdata.LogDataSets
logdata.LogDataSets.GpuTemp
logdata.LogDataSets.GpuTemp.*Value logdata.LogDataSet.value
logdata.LogDataSets.GpuTemp.Level logdata.LogDataSet.value
logdata.LogDataSets.GpuTemp.Level.Code logdata.LogDataSet.value

logdata.LogDataSets
logdata.LogDataSets.GpuName
logdata.LogDataSets.GpuName.*Value logdata.LogDataSet.name
logdata.LogDataSets.GpuName.Level logdata.LogDataSet.name
logdata.LogDataSets.GpuName.Level.Code logdata.LogDataSet.name

logdata.LogDataSets
logdata.LogDataSets.GpuUnit
logdata.LogDataSets.GpuUnit.*Value logdata.LogDataSet.unit
logdata.LogDataSets.GpuUnit.Level logdata.LogDataSet.unit
logdata.LogDataSets.GpuUnit.Level.Code logdata.LogDataSet.unit

logdata.LogDataSets
logdata.LogDataSets.GpuvalueType
logdata.LogDataSets.GpuvalueType.*Value logdata.LogDataSet.valueType
logdata.LogDataSets.GpuvalueType.Level logdata.LogDataSet.valueType
logdata.LogDataSets.GpuValueType.Level.Code logdata.LogDataSet.valueType

logdata.LogDataSets
logdata.LogDataSets.GpuDevice
logdata.LogDataSets.GpuDevice.*Value logdata.LogDataSet.device
logdata.LogDataSets.GpuDevice.Level logdata.LogDataSet.device
logdata.LogDataSets.GpuDevice.Level.Code logdata.LogDataSet.device

The batch file that runs the XSL template against the raw XML files from Aquasuite.
Code: [Select]
:top
C:\libxslt-1.1.26.win32\bin\xsltproc.exe -o c:\cpu-clean.xml c:\CPU.xsl c:\CPU.xml
C:\libxslt-1.1.26.win32\bin\xsltproc.exe -o c:\gpu-clean.xml c:\CPU.xsl c:\GPU.xml
timeout 10
goto top

Here's the all important XSL template named cpu.xsl that cleans the XML file of all the stuff that LCDHost doesnt like! Took me a while to work this one out!

Code: [Select]
<xsl:stylesheet

  xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

  version="1.0">

 <xsl:output method="xml" version="1.0" indent="no" omit-xml-declaration="yes"/>

  <xsl:template match="*">

    <xsl:element name="{local-name()}">

      <xsl:apply-templates select="@* | node()"/>

    </xsl:element>

  </xsl:template>

 

  <xsl:template match="@*">

    <xsl:attribute name="{local-name()}">

      <xsl:value-of select="."/>

    </xsl:attribute>

  </xsl:template>

 

  <xsl:template match="text() | comment() | processing-instruction()">

    <xsl:copy/>

  </xsl:template>

 

</xsl:stylesheet>


Heres the cleaned XML for the CPU Water Temp that LCDHost uses.. (the GPU looks the same)
Code: [Select]
<LogDataExport>
  <name>CPU</name>
  <exportTime>2013-03-08T01:24:18.4380893+11:00</exportTime>
  <logdata>
    <LogDataSet>
      <t>2013-03-08T01:24:17.577</t>
      <value>34.9</value>
      <name>CPU Water in T1</name>
      <unit>°C</unit>
      <valueType>temperature</valueType>
      <device>aquaero 5 (A5)</device>
    </LogDataSet>
  </logdata>
</LogDataExport>


hello
I have a Aquastream xt and could get in formation to show like you.
could give an example.
regards
great job

novax1

  • Global Moderator
  • Sr. Member
  • ****
  • Posts: 371
Re: [Release] LH_DataViewer (v1.03)
« Reply #48 on: 2013-03-29 11:59:29 »
hello
Could you explain how you have to create cogigos showing.
i like must be placed.
regards

hiltondk

  • Newbie
  • *
  • Posts: 23
Re: [Release] LH_DataViewer (v1.03)
« Reply #49 on: 2013-03-31 11:24:31 »
Here's my new G19 Screens for Aquasuite 2013.

I have added Aquasuite alarms to the G19 screen and critical dials & indicators on a dedicated Aquasuite screen.

Main G19 Page screenshot with all ok, and screenshot with 1 pump turned off to simulate a failure.



Aquasuite G19 Page screenshot with all ok, and screenshot with 1 pump turned off to simulate a failure.


A Screen shot of some of the LCDHost settings for the Aquasuite page.



Under full load with OCCT powersupply test.

Pic of my power meters showing power drawn at wall from each PSU. Ouch!



novax1

  • Global Moderator
  • Sr. Member
  • ****
  • Posts: 371
Re: [Release] LH_DataViewer (v1.03)
« Reply #50 on: 2013-04-05 09:56:39 »
hello
 for now I am. creating more.
 this is in two phases. :thumbup:
 1 - presentation.
 2 - visualization. data. Aquastream. xt.

Thanks to the work of Phatboy69. and to share







« Last Edit: 2013-04-05 10:33:58 by novax1 »

hiltondk

  • Newbie
  • *
  • Posts: 23
Re: [Release] LH_DataViewer (v1.03)
« Reply #51 on: 2013-04-07 14:20:30 »
New Work in progress.. Im making a new Overview / Status page and I finally worked out how to make imagemap files for images! So I can set icons for status of water/fan/pump status!





micpt

  • Full Member
  • ***
  • Posts: 159
Re: [Release] LH_DataViewer (v1.03)
« Reply #52 on: 2013-04-07 14:48:58 »
please guys - stopp posting this in this thread - this is about generall dataviewer.

opren a new thread in lcdhost discussion or Layouts.

hiltondk

  • Newbie
  • *
  • Posts: 23
Re: [Release] LH_DataViewer (v1.03)
« Reply #53 on: 2013-04-07 22:37:24 »
Im pretty sure most people would be interested in how to get different parts of dataviewer working, particularly as the tutorial doesnt cover XML.  It isnt discussion just about layouts but about how to use dataviewer and convert XML to a compatible format with dataviewer. In any case here's a link to the new thread you started.

http://forum.linkdata.se/lcdhost-discussion/howto-aquasuite-2013-and-lcdhost-noobz-629.0.html
« Last Edit: 2013-04-07 22:51:12 by hiltondk »

lordazoroth

  • Jr. Member
  • **
  • Posts: 68
Re: [Release] LH_DataViewer (v1.03)
« Reply #54 on: 2014-09-14 14:02:30 »
Hey, I know this is a very old topic, but I noticed Codeleap.co.uk seems to be down and any files posted there, such as the instructional pdf in the OP, are no longer available for download. Would anyone happen to have the LCDHost Gaming Layout Builder.pdf on hand by chance? Kinda wishful thinking but if anyone has a working template I can use as an example to reference that would be of great help as well :). Ty so much, this is something I'd be willing to dedicate some serious time toward and see if I can come up with something extensive for Skyrim and possibly several other games as well.