Difference between revisions of "Add-On Services/de"
(Updating to match new version of source page) |
(Updating to match new version of source page) |
||
Line 39: | Line 39: | ||
20130104142652 wind0 160 2.2 1.8 8.0</pre> | 20130104142652 wind0 160 2.2 1.8 8.0</pre> | ||
− | ===Data via Socket Connection=== | + | ===Live Data via Socket Connection=== |
Methods introduced above do need HTTP authentification like all elements of Meteobridge web interface. A look at the script "livedataxml.cgi" shows that this just reads data from socket 5557, gives it a suitable HTTP header and returns that to the requesting browser: | Methods introduced above do need HTTP authentification like all elements of Meteobridge web interface. A look at the script "livedataxml.cgi" shows that this just reads data from socket 5557, gives it a suitable HTTP header and returns that to the requesting browser: | ||
Line 48: | Line 48: | ||
Therefore, reading data from socket 5557 is equivalent to calling "livedataxml.cgi" and socket 5556 reports same data as delivered by "livedata.cgi". | Therefore, reading data from socket 5557 is equivalent to calling "livedataxml.cgi" and socket 5556 reports same data as delivered by "livedata.cgi". | ||
+ | |||
+ | |||
+ | ===Template-based Individual Data=== | ||
+ | Scripts presented before return data in a standard format. As a variant you can also define a template like explained in Template section of this wiki, hand that over to "template.cgi" script and get a filled template in return. | ||
+ | |||
+ | URL to call is "http://ip-of-meteobridge/cgi-bin/template.cgi" with mandatory parameter "template=YOUR_TEMPLATE_TEXT" and optional paramater "contenttype=CONTENT_TYPE". Both parameters have to be URL-encoded with special characters represented as "%XX" (where XX is a two digit hex code) and spaces are represented by "+". | ||
+ | |||
+ | Example: In oder to get current outdoor temp and humidity this URL<pre>http://ip-of-meteobridge/cgi-bin/template.cgi?template=[DD].[MM].[YY]+[HH]:[mm][APM]%0D[th0temp-act]%BAC%0d[th0hum-act]%25&contenttype=text/plain;charset=iso-8859-1</pre> | ||
+ | returns <pre>01.06.13 04:55PM | ||
+ | 23.2ºC | ||
+ | 61.0%</pre> |
Revision as of 15:57, 1 June 2013
Der in Meteobridge enthaltene Web-Server kann neben der Realisierung des Administrationsinterfaces auch Anfragen zu den aktuell vorliegenden Wetterdaten beantworten. Es sind zwei URLs definiert, unter denen man diese Daten abrufen kann, entweder als Textdatei oder als XML-Datenstrom. Auch wenn es aus Sicherheitsgründen nicht empfehlenswert ist, diesen Zugang für einen Zugriff von außerhalb des LANs zu öffnen, könnte man beim Aufschalten der Firewall des LANs diese Art der Abfragemöglichkeit für Anfragen von Außen zugänglich machen. Für die Anlieferung von Daten ins Internet empfehlen sich die die unter Sendedienste aufgeführten Methoden.
Live-Daten als XML
Mit dem Meteobridge HTTP-Request wie "http://ip-of-meteobridge/cgi-bin/livedataxml.cgi", wobei "ip-of-meteobridge" durch die korrekte IP der Meteobridge ersetzt werden muss, liefert Meteobridge Wetterdaten in XML-Notation aus. Die von Meteobridge erzeugte Ausgabe beginnt mit "<logger>" und endet mit "</logger>". Die Werte der Sensoren werden mit den sensorspezifischen Tags "THB", "TH", "WIND", "RAIN", "UV", "SOLAR" berichtet. Das anhängende Beispiel illustriert das XML-Format:
<logger> <THB date="20121227224318" id="thb0" temp="26.0" hum="37" dew="10.2" press="1008.8" seapress="1010.1" fc="2"/> <TH date="20130104141909" id="th0" temp="9.1" hum="95" dew="8.3"/> <RAIN date="20130104141856" id="rain0" rate="0.0" total="3.0" delta="0.0"/> <WIND date="20130104141916" id="wind0" dir="109" gust="0.9" wind="2.2" chill="9.1"/> </logger>
Jedes Sensordatenpaket enthält immer die Felder "date" und "id". Die anderen Parameter sind sensorspezifisch. Die Bedeutung der Parameter ist wie folgt:
- date: UTC Zeitstempel der Sensordaten im Format "JJJJMMTThhmmss"
- id: ID des Sensors, die aus einem Sensorkurzbezeichnung gefolgt von einer Zahl ("0") besteht.
- temp: Temperatur in Grad Celsius (mit einer Nachkommastelle)
- hum: Relative Luftfeuchte in Prozent (keine Nachkommastellen)
- dew: Taupunkttemperatur in Grad Celsius (mit einer Nachkommastelle)
- press: Luftdruck auf Stationshöhe ohne Höhenkorrektur in hPa (mit einer Nachkommastelle)
- seapress: Luftdruck auf Meeresspiegelhöhe zurückgerechnet in hPa (mit einer Nachkommastelle)
- fc: Vorhersage, sofern von der Wetterstation bereitgestellt. Da dieser Wert wenig zuverlässig ist, raten wir davon ab, diesen zu verwenden.
- rate: Regenrate in mm pro Stunde (mit einer Nachkommastelle).
- total: Aktueller Wert des Regenwippenzählers umgerechnet auf mm (mit einer Nachkommastelle).
- delta: Hinzugekommene Regenmenge in mm seit dem letzten Auslesen (mit einer Nachkommastelle).
- wind: Aktuelle gemittelte Windgeschwindigkeit im m/s (mit einer Nachkommastelle).
- gust: Aktuelle, nicht gemittelte Windgeschwindigkeit in m/s (mit einer Nachkommastelle).
- dir: Windrichtung in Grad (0-359, keine Nachkommastellen).
- chill: Windchill-Temperatur in Grad Celsius (mit einer Nachkommastelle).
- ...
Live-Daten als Textdatei
Mit dem HTTP-Request "http://ip-of-meteobridge/cgi-bin/livedata.cgi", wobei "ip-of-meteobridge" durch die IP der Meteobridge zu ersetzen ist, gibt Meteobridge die aktuellen Sensorwerte als Textdatei aus. Das Ergebnis besteht aus einer Reiehe von Zeilen, die jeweils einen Sensor mit seinen Werten repräsentieren. Die Struktur ist gleich der XML-Daten im vorangegangenen Abschnitt, jedoch ohne die umgebende XML-Struktur:
20130104142614 thb0 26.9 38 11.4 1020.4 1021.7 2 20130104142610 rain0 0.0 3.0 0.0 20130104142636 th0 9.1 95 8.3 20130104142652 wind0 160 2.2 1.8 8.0
Live Data via Socket Connection
Methods introduced above do need HTTP authentification like all elements of Meteobridge web interface. A look at the script "livedataxml.cgi" shows that this just reads data from socket 5557, gives it a suitable HTTP header and returns that to the requesting browser:
#!/bin/sh echo -ne "Content-type: text/xml; charset=UTF-8\n\n" nc 127.0.0.1 5557 2>/dev/null
Therefore, reading data from socket 5557 is equivalent to calling "livedataxml.cgi" and socket 5556 reports same data as delivered by "livedata.cgi".
Template-based Individual Data
Scripts presented before return data in a standard format. As a variant you can also define a template like explained in Template section of this wiki, hand that over to "template.cgi" script and get a filled template in return.
URL to call is "http://ip-of-meteobridge/cgi-bin/template.cgi" with mandatory parameter "template=YOUR_TEMPLATE_TEXT" and optional paramater "contenttype=CONTENT_TYPE". Both parameters have to be URL-encoded with special characters represented as "%XX" (where XX is a two digit hex code) and spaces are represented by "+".
Example: In oder to get current outdoor temp and humidity this URLhttp://ip-of-meteobridge/cgi-bin/template.cgi?template=[DD].[MM].[YY]+[HH]:[mm][APM]%0D[th0temp-act]%BAC%0d[th0hum-act]%25&contenttype=text/plain;charset=iso-8859-1returns
01.06.13 04:55PM 23.2ºC 61.0%