AQUAHost - LCDHost & Aquasuite2013 for Noobz
Danke an Phatboy69 für die Vorarbeit
Basics
Der XML Output von As2013 ist zu Komplex
um die XMl mit LCDHost einzulesen ist das zusammenstricken einer komplizierten Datamap nötig.
Datamaps machen ist : Pain in The A**.
Wir müssen also das XML so ändern das LCDHost es mag
Dafür benutzen wir einen XSLT Processor
Dieser wird die orginal XMl alle 5-10sec umwandeln.
Die umgewandelte Datei enthält alle gewünschten daten und nutzt eine simple datamap oder auch keine
Was du brauchst
ein XSL Processor. Ich habe einige getestet aber libXSLT hat den geringsten CPU Hunger (~2%) andere wie z.b. saxon ziehen dann schonmal gerne ~12% beim umwandeln.
ein Template-File fürden XSL processor
Aquasuite2013 XML export
Files & Links
libXLST - ready to use (978kb)
the Template File (681b)
LCDHost Datamap File
Saxon @ sourceforge.net
libXSLT
Wie es funktioniert
0.Erstelle einen neuen Ordner LCDHost\layouts\ (
Layout-Ordner).
1. In Aquasuite2013 aktiviere den XML-Export mit ein paar Daten (Temp. Flow,...), speichere diese unter Aquasuite2012. (für dieses Howto)
Für dieses Howto empfehle ich den gerade erstellten Ornder als Speichplatz für ALLE hier angegebenen dateien zu nutzen.
2. Download die
libXLST - ready to use (978kb) datei und entpack diese in dein
Layout-Ordner!
3. Download die
Template File (681b) datei und entpack diese in dein
Layout-Ordner.
4. TESTING
starte ein cmd Fenster (C:\Windows\system32\cmd.exe), wechsel in dein
Layout-Ordner und gebe ein:
|
Quellcode
|
1
|
xsltproc.exe template.xsl Aquasite2012.xml
|
Du solltest eine Ausgabe wie diese bekommen, wenn nicht - nochmal bei
1. anfangen:
5. Erstelle eine neue Datei in deinem
Layout-Ordner und nenne sie transform.bat. Öffne die datei in einem Editor und gebe das ein :
|
Quellcode
|
1
2
3
4
|
:top
xsltproc.exe template.xsl Aquasite2012.xml -o output1.xml
timeout 10
goto top
|
xsltproc.exe = der xsl processor
template.xsl = die template Datei die die Anweisung zum ändern enthalten
Aquasite2012.xml = die Ausgabedatei von Aquasuite
-o output1.xml = die umgewandelte Aquasuite Datei - der Name kann hier frei gewählt werden (in dem HowTo ist er output1.xml)
timeout 10 = warte10 sec.
goto top = starte von top
Wenn gestartet wird alle 10 sek. eine Umwandlung getätigt. Beachtet das die Umwandlung auch CPU-Leistung kostet (je nach processor 2% - 10%) Das kann dann schon mal Probleme (lags) geben wenn man auf Teheran mit seinm Squad den Sniper jagd um ihn zu Messern (BF3) - Als bei Spielerpc´s lieber ein paar mal weniger pro minute.
6. Doppelklicke die Batch-datei im Explorer. Es öffnet sich ein CMD-fenster in dem nun die Transformation abläuft. Dieses Fenster darf nicht geschlossen werden (=beenden).
Beenden geht mit fenster schliessen oder CTRL-c
7. entpacke die
LCDHost Datamap File in dein
Layout-Ordner.
8. Erstelle ein neues Layout in LCDHost.
plaziere einen dataconnector in das Layout (Dynamic->Dataviewer->Data Connector)
Datamap ist "aquero.datamap.txt"
Data Source ist "output1.xml"
9. Endlich .. nun kannst du auf alle exportierten Daten zugreifen und alle dataviewer Componenten benutzen.
Öffne die output1.xml in einem Editor um zu sehen wie die Abfragenamen lauten (innerhalb<>)
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
|
<logdata><Date>2013-04-07</Date><Time>02:59:10.423</Time>
<Sensor1>26.25</Sensor1>
<Sensor2>45.45</Sensor2>
<aquaeroCPU>28.7</aquaeroCPU>
<Flow1>158.2</Flow1>
<Flow2>148.6</Flow2>
<Fan2>876</Fan2>
<Fan3>873</Fan3>
<Fan4>958</Fan4>
<FullstandinP>80</FullstandinP>
<Wassertemperatur>29.16</Wassertemperatur>
</logdata>
|
Setze jetzt ein Data_Text Element in dein layout und gebe unter Data Template den gewünschten Namen in {} ein. Beispiel: {Sensor1}
Wiederhole mit anderen Namen.
10. Die Batchdatei (transform.bat) muss entweder automatisch mit Windows gestarten werden oder manuell per Hand.
Für Autostart die Aufgabenplanung in Windows nutzen:
1. First run task scheduler (just type task scheduler on the windows 8 start screen and press enter and it should start)
2. Create a new task (right click "new task")
3. Change it to a system run task (click "change user or group" and type "System" under the object name and press enter)
4. Check the "Hidden" check box
5. Give the task a name such as XML batch
6. Set a New Trigger as "At System Startup" and make sure the enable check box is ticked (click the "trigger" tab and click "new" then choose the "at system startup" drop box
7. Set the action to start the xml.bat file (click "actions" tab and "new" button then choose "start a program" and browse to where the batch file is saved
8. Finally click on the "OK" button to save and finish.
9. You can now right click it to run it manually. Next time your system starts it should start automatically.
Bugs:
Manchmal hakt LCDHost beim erstellen neuer Designs bzw. arbeiten mit edm Dataviewer. Einfach LCDHost neustarten oder Save & Relaod probieren.
ToDo´s
-Optimisation- Batch minimiert starten
-Optimisation- Batch als Low Priority starten (langsame PCs)