XML Auslesen

Moderator: Mattk

wfpost
Platinum Boarder
Platinum Boarder
Posts: 591
Joined: Thu Jun 12, 2008 2:24 pm
Location: HONSOLGEN
Contact:

Re:XML Auslesen

Post by wfpost » Tue May 18, 2010 8:06 pm

kann sein, daß ich falsch liege, aber wenn die Variable moonset_... wegen Nichtaufgangs des Mondes nicht in der Sensorliste steht, wird wahrscheinlich statt einem Platzhalter der Text der Variable eingefügt, weil die dann von meteohub als nicht vorhanden eingestuft wird.

Glaube mich zu erinnern, daß ich so einen Fall mal hatte ..

Gruß,
Wolfgang

User avatar
admin
Platinum Boarder
Platinum Boarder
Posts: 5887
Joined: Mon Oct 01, 2007 10:51 pm

Re:XML Auslesen

Post by admin » Tue May 18, 2010 8:45 pm

Mit dem ":" wird dieses Verhalten so geändert, dass dann der nach dem Doppelpunkt genannte Wert ausgegeben wird.

User avatar
benz
Junior Boarder
Junior Boarder
Posts: 25
Joined: Thu May 06, 2010 1:55 pm
Location: CH
Contact:

Re:XML Auslesen

Post by benz » Tue May 18, 2010 9:24 pm

Herzlichen Dank für die Antworten! Ich werde nochmals über die Bücher gehen.

Wenn ich es richtig verstanden habe, kann ich ein eigenes XML-File kreieren lassen? Dann könnte ich einfach den Mond ja weglassen oder die Reihenfolge anders definieren und schön habe ich konstante Zuweisung! Problem gelöst, oder?

Erstelle ich also einfach im Ordner ->public->graphs eine datei.xml und diese wird dann generiert? Das wäre natürlich auch eine grandiose Möglichkeit. Und ja, schlanker wird das Ganze auch noch, weil ich ja nur die Variablen nehmen muss, dich ich auch wirklich brauche!

Ich werde dies mir mal morgen Abend angucken!

Nochmals herzlichen Dank!

Juhee!

Viele Grüsse und einen schönen Abend
benz

User avatar
admin
Platinum Boarder
Platinum Boarder
Posts: 5887
Joined: Mon Oct 01, 2007 10:51 pm

Re:XML Auslesen

Post by admin » Tue May 18, 2010 10:52 pm

Hi, damit Du die Datei fürs Befüllen mit Daten und das Hochladen in Meteohub auswählen kannst, muss sie auf ".html" enden. In der kann drinstehen was will, die wird 1:1 hochgeladen, nur die in eckigen Klammern stehenden Variable werden durch die aktuellen Werte vorher ersetzt.

User avatar
benz
Junior Boarder
Junior Boarder
Posts: 25
Joined: Thu May 06, 2010 1:55 pm
Location: CH
Contact:

Re:XML Auslesen

Post by benz » Wed May 19, 2010 10:06 am

Danke für die Nachricht. Ich habe heute morgen kurz ein HTML-File mit zwei RAW-Variablen erstellt, welches dann von metehub in ein XML-File ausgegeben wird. Klappt also.
Jetzt wäre ich nur noch froh, ein XML-File zu finden, welches nicht schon mit Daten ausgefüllt ist, sondern mit den Sensordatenliste versehen ist [actual_thb0_temp_c]. Die Auflistung im Handbuch kann so eben nicht einfach per Copy&Paste verwenden, sondern müsste in mühsamer Handarbeit die Werte der Sensordatenliste in die XML-Tabelle einfügen...

Aber schon so bin ich hochzufrieden! :-)

Gruss benz

hubru
Fresh Boarder
Fresh Boarder
Posts: 2
Joined: Wed Aug 06, 2014 3:55 pm

Re: XML Auslesen

Post by hubru » Wed Aug 06, 2014 4:12 pm

Hallo Wetterfans

ich habe Probleme mit der all-sensors.xml. Beim Auslesen mit den diversen Beispielen, wird nichts ausgelesen, weil es offenbar immer noch Umlaute im File enthält.

Wenn ich das XML-File direkt aufrufe erscheint dies:
XML-Verarbeitungsfehler: nicht wohlgeformt
Adresse: ...meteohub/all-sensors.xml
Zeile Nr. 159, Spalte 64: <item sensor="thb0" cat="fc" unit="textdeiso">Zunehmend_bew�lkt_mit_geringer_Temperatur�nderung.</item>

Tatsächlich findet sich im File folgender Abschnitt:
<item sensor="thb0" cat="fc" unit="text">Increasing_clouds_with_little_temperature_change.</item>
<item sensor="thb0" cat="fc" unit="textde">Zunehmend_bew&#246;lkt_mit_geringer_Temperatur&#228;nderung.</item>
<item sensor="thb0" cat="fc" unit="textdeiso">Zunehmend_bewölkt_mit_geringer_Temperaturänderung.</item>
<item sensor="thb0" cat="fc" unit="textnl">Toenemende_bewolking_met_kleine_veranderingen_in_temperatuur.</item>
<item sensor="thb0" cat="fc" unit="textit">Aumento_della_nuvolosita'_con_lieve_variazione_delle_temperature.</item>
<item sensor="thb0" cat="fc" unit="textest">Pilvinev_ja_vähese_temperatuurimuutusega.</item>
<item sensor="thb0" cat="fc" unit="texthr">Pove&#263;anje_naoblake_uz_manju_promjenu_temperature.</item>
<item sensor="thb0" cat="fc" unit="textcz">Rostoucí_mraky_s_malou_teplotní_změnou.</item>

Gibt es eine Möglichkeit, diese Zeilen bei der Erstellung von all-sensors.xml wegzulassen, oder beim Auslesen zu korrigieren?
Oder fast noch besser, wie kann ich ein xml-File erstellen, bei dem nur die Sensoren drin sind, welche ich auch auf der Homepage anzeigen möchte.?

Dank im Voraus für jegliche Ideen/Lösungen/Hilfestellungen
hubbru

User avatar
wvdkuil
Platinum Boarder
Platinum Boarder
Posts: 411
Joined: Sun Jul 24, 2011 8:00 pm
Location: Belgium
Contact:

Re: XML Auslesen

Post by wvdkuil » Wed Aug 06, 2014 5:38 pm

hubru wrote:Hallo Wetterfans

ich habe Probleme mit der all-sensors.xml. Beim Auslesen mit den diversen Beispielen, wird nichts ausgelesen, weil es offenbar immer noch Umlaute im File enthält.
. . . shortened . . .
Gibt es eine Möglichkeit, diese Zeilen bei der Erstellung von all-sensors.xml wegzulassen, oder beim Auslesen zu korrigieren?
Oder fast noch besser, wie kann ich ein xml-File erstellen, bei dem nur die Sensoren drin sind, welche ich auch auf der Homepage anzeigen möchte.?

Dank im Voraus für jegliche Ideen/Lösungen/Hilfestellungen
hubbru
http://www.meteohub.de/files/meteohub-v4.7.pdf
page 63 => 2.11.4 HTML-Templates

Attached a template file for all known fields (4930) in version 4.9z
1. unzip
2. open with a program editor
3. remove the fields you do not want
4. rename the file to MHfields.html
5. place that file into the grpahs folder of your meteohub
6. set the upload times in your meteohub menu "Graph uploads"
and
7 set the name for the upload at MHfields.php

when Meteohub has uploaded that file

8. In your website script use:
include ' MHfields.php';

You will have than a nice array with all the fields you need on your homepage.

As my German is far worse then my English I used translate.google.com tro translate in German from English, this is the "German" text

Beigefügt ist eine "template"-Datei für alle bekannten Variablen (4930) in der Version 4.9z
1. un zip
2. öffnen mit einer Programm-Editor
3. Entfernen Sie die Felder, die Sie nicht wollen
4. Benennen Sie die Datei auf MHfields.html
5. Platz der datai in den "Graph"-folder Ihres meteohub system
6. Legen Sie die Upload-Zeiten in Ihrem meteohub Menü "Graph Uploads"
und
7 Stellen Sie den Namen für den Upload auf MHfields.php

wenn Meteohub diese Datei hat hochgeladen

8. Sie müssen nur eine instruction gebrauchen:
        include 'MHfields.php';

Sie haben dan eine schöne Auswahl mit allen Feldern, die Sie auf Ihrer Homepage brauchen.

Wim
Attachments
MHfields.htx.zip
(32.48 KiB) Downloaded 262 times
Support for Leuven-Template & Scripts at https://support.leuven-template.eu/
Support for the PWS_Dashboard (HWS-template) http://pwsdashboard.weather-template.com/

hubru
Fresh Boarder
Fresh Boarder
Posts: 2
Joined: Wed Aug 06, 2014 3:55 pm

Re: XML Auslesen

Post by hubru » Wed Aug 06, 2014 10:13 pm

Hey Wim
This is really great! Thanks a lot. :D

After a bit of testing I got it to work.

Btw: I was on the mentionend page 63 and read all about it, but to this point i did not have a clue...
...but now i am very happy with this/your solution.

Thanks again.
Bruno (hubru)

Flens63
Junior Boarder
Junior Boarder
Posts: 30
Joined: Fri Aug 15, 2014 7:47 am

Re: XML Auslesen

Post by Flens63 » Mon Aug 18, 2014 9:00 am

Hello Wim,

your example with the MHfields.php is a wonderful solution. Many many thanks for it!

According to Documentation Variables can have special control characters at the end:
":" specifies a replacement string, for situations where the variable is empty and does
not provide any value. Example: "[actual_uv0_index:0]" returns the actual uv index or
"0", if the sensor is not there or does not provide any data.
Apparently this does not go with the Variables from the MHfields.php. Do you have any idea, why?

George

User avatar
wvdkuil
Platinum Boarder
Platinum Boarder
Posts: 411
Joined: Sun Jul 24, 2011 8:00 pm
Location: Belgium
Contact:

Re: XML Auslesen

Post by wvdkuil » Mon Aug 18, 2014 10:12 am

Flens63 wrote:Hello Wim,

your example with the MHfields.php is a wonderful solution. Many many thanks for it!

According to Documentation Variables can have special control characters at the end:
":" specifies a replacement string, for situations where the variable is empty and does
not provide any value. Example: "[actual_uv0_index:0]" returns the actual uv index or
"0", if the sensor is not there or does not provide any data.
Apparently this does not go with the Variables from the MHfields.php. Do you have any idea, why?
George
It should work as I am using it all the time in my templates for MH and Meteobridge;

Code: Select all

	$ws['tempActInside']	= '[actual_thb0_temp_f:0]';
	$ws['tempActExtra1']	= '[actual_none_temp_f:0]';	
So as an example, on line 74 in MHfields.htx (the long list of all available tags) it reads

Code: Select all

$MHfield['actual_th0_temp_f']   = "[actual_th0_temp_f]";
changing to

Code: Select all

$MHfield['actual_th0_temp_f']  = "[actual_th0_temp_f:0]";
You should only add that replacement string to the right MH varaible as the left one is used for the index of the $MHfield aray.
After the cahnges you make, you should also again upload the file to the graphs folder on your Meteohub with the corect name.
===
If you have no replacement string and your meteohub does not have a good connection and therefor no value for that sensor, Meteohub will do no substituion and the original tag-name will be returned. So for important tags use a replacement string.

Wim
Support for Leuven-Template & Scripts at https://support.leuven-template.eu/
Support for the PWS_Dashboard (HWS-template) http://pwsdashboard.weather-template.com/

Flens63
Junior Boarder
Junior Boarder
Posts: 30
Joined: Fri Aug 15, 2014 7:47 am

Re: XML Auslesen

Post by Flens63 » Mon Aug 18, 2014 7:58 pm

Perfectly, now it goes. Meteohub gives more and more pleasure. . . :D

Again many thanks.

Post Reply