Difference between pages "Add-On Services/de" and "Templates/de"

From meteoplug
(Difference between pages)
Jump to: navigation, search
(Created page with "Jedes Sensordatenpaket enthält immer die Felder "date" und "id". Die anderen Parameter sind sensorspezifisch. Die beudtung der Parameter ist wie folgt: * '''date''': UTC Zeit...")
 
 
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
<languages /><br />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 von außen zugänglich machen. Für die Anlieferung von Daten ins Internet empfehlen sich die die unter [[Push_Services/de|Sendedienste]] aufgeführten Methoden.
+
<languages /><br />Meteobridge stellt einen sehr flexiblen Ersetzungsmechanismus zur Verfügung, mit dem definierte Variable durch konkrete Sensorwerte ersetzt werden. Dies erlaubt in beliebigen Zeichenketten Meteobridge Variable "einzuschmuggeln", seien es E-Mail, HTML-Seiten, Alarmbedingungen, etc.
+
Die Variable werden in dem Moment, in dem die Zeichenkette an den Upload zum Zieldienst übergeben wird surch reale Werte ersetzte. Kann das Datenpaket nicht zugestellt werden, wird die Zustellung gegebenenfalls wiederholt, jedoch mit den bei der Erstbeauftragung eingesetzten Daten.
===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 gelieferte Antwort beginnt mit "<logger>" und endet mit "</logger>". Die Wrte der Sensoren werden mit den sensorspezifischen Tags "THB", "TH", "WIND", "RAIN", "UV", "SOLAR" berichtet. Das anhängende Beispiel illustriert das XML-Format:
+
  
<pre><logger>
+
Jede Variable beginnt und endet mit einer eckigen Klammer "[" und "]". Die Variable in diesen Klammern zeigt die folgende Struktur: <pre>Sensor-Selektor=Konverter.Dezimalstellen:Ersatzzeichenkette</pre>
  <THB date="20121227224318" id="thb0" temp="26.0" hum="37" dew="10.2"
+
"Konverter", "Dezimalstellen" und "Ersatzzeichenkette" kann weggelassen werden, "Sensor" und "Selektor" müssen angegeben werden.
      press="1008.8" seapress="1010.1" fc="2"/>
+
Während "Sensor" festlegt, um welchen Sensor es sich handelt und welcher Sensorwert verwendten werden soll, gibt "Selektor" an, welche Zeitperiode ausgewertet werden soll. Mit "Konverter" kann optional eine Umrechnung in andere Maßeinheiten realisiert werden. Die "Dezimalstellen"-Angabe bestimmt die numerische Auflösung der Daten und die "Ersatzzeichenkette" bestimmt den Wert, der ausgegeben wird, wenn kein Sensorwert für den definierten Zeitraum vorliegt.
  <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></pre>
+
  
Jedes Sensordatenpaket enthält immer die Felder "date" und "id". Die anderen Parameter sind sensorspezifisch. Die beudtung der Parameter ist wie folgt:
+
==Sensoren==
* '''date''': UTC Zeitstempel der Sensordaten im Format "JJJJMMTThhmmss"
+
Diese Sensoren sind in Meteobridge definiert:
* '''id''': ID des Sensors, die aus einem Sensorkurzbezeichnung gefolgt von einer Zahl ("0") besteht.
+
* '''th0temp''': Außentemperatur in Grad Celsius
* '''temp''': Temperatur in Grad Celsius (mit einer Nachkommastelle)
+
* '''th0hum''': Relative Außenluftfeuchte in Prozent
* '''hum''': Relative Luftfeuchte in Prozent (keine Nachkommastellen)
+
* '''th0dew''': Außentaupunkttemperatur in Grad Celsius
* '''dew''': Taupunkttemperatur in Grad Celsius (mit einer Nachkommastelle)
+
* '''thb0temp''': Innentemperatur in Grad Celsius
* '''press''': Luftdruck auf Stationshöhe ohne Höhenkorrektur in hPa (mit einer Nachkommastelle)
+
* '''thb0hum''': Innenluftfeuchte in Prozent
* '''seapress''': Luftdruck auf Meeresspiegelhöhe zurückgerechnet in hPa (mit einer Nachkommastelle)
+
* '''thb0dew''': Innentaupunkttemperatur in Grad Celsius
* '''fc''': Vorhersage, sofern von der Wetterstation bereitgestellt. Da dieser Wert wenig zuverlässig ist, raten wir davon ab, diesen zu verwenden.
+
* '''thb0press''': Stationsluftdruck in hPa
* '''rate''': Regenrate in mm pro Stunde (mit einer Nachkommastelle).
+
* '''thb0seapress''': auf Meeresspiegelhöhe berechneter Luftdruck in hPa
* '''total''': Aaktueller Wert des Regenwippenzählers umgerechnet auf mm (mit einer Nachkommastelle).
+
* '''wind0wind''': ungemittelte Windgeschindigkeit in m/s
* '''delta''': Hinzugekommene Regenmenge in mm seit dem letzten Auslesen (mit einer Nachkommastelle).
+
* '''wind0avgwind''': gemittelte Windgeschindigkeit in m/s
* '''wind''': Aktuelle gemittelte Windgeschwindigkeit im m/s (mit einer Nachkommastelle).
+
* '''wind0dir''': Windrichtung in Grad (0° ist Norden)
* '''gust''': Aktuelle, nicht gemittelte Windgeschwindigkeit in m/s (mit einer Nachkommastelle).
+
* '''wind0chill''': Windchill-Temperatur in Grad Celsius
* '''dir''': Windrichtung in Grad (0-359, keine Nachkommastellen).
+
* '''rain0rate''': Regenrate in mm/h
* '''chill''': Windchill-Temperatur in Grad Celsius (mit einer Nachkommastelle).
+
* '''rain0total''': gefallene Regenmenge in mm
* more to come...
+
* '''uv0index''': UV-Index
 +
* '''sol0rad''': Solarstrahlung in W/m^2
 +
Wenn ein Sensor nicht existiert oder seine Daten älter als das maximal tolerierte Sensordatenalter sind, wird Meteohub keine Daten einsetzen und sofern definiert, stattdessen die Ersatzzeichenkette einsetzen. Falls keine Ersatzzeichenkette definiert ist, bleibt die Variable unersetzt als Zeichenkette stehen.
  
===Live Data as Plain Text===
+
==Selektor==
By sending the meteobridge a HTTP request like "http://ip-of-meteobridge/cgi-bin/livedata.cgi" (where "ip-of-meteobridge" must be replaced by the IP itself) meteobridge returns current weather data as plain text. Each reply consists of a series of lines, where each line represnets a sensor. Lines do start with a time stamp and a unique sensor id followed by sensor specific parameters. Example below illustrates the format:
+
Den "Sensoren" folgt eine Selektorbezeichnung (durch ein "-" getrennt) mit der der auszuwertende Zeitraum oder Zeitpunkt angegeben wird. Die folgenden Selektoren sind definiert:
 +
* '''act''': aktuelle Daten
 +
* '''hmin''': Minimum der aktuellen Stunde
 +
* '''hmax''': Maximum der aktuellen Stunde
 +
* '''dmin''': Minimum von Heute
 +
* '''dmax''': Maximum von Heute
 +
* '''ydmin''': Minimum von Gestern
 +
* '''ydmax''': Maximum von Gestern
 +
* '''mmin''': Minimum dieses Monats
 +
* '''mmax''': Maximum dieses Monats
 +
* '''ymin''': Minimum dieses Jahres
 +
* '''ymax''': Maximum dieses Jahres
 +
* '''amin''': Minimum des gesamten Aufzeichnungszeitraumes
 +
* '''amax''': Maximum des gesamten Aufzeichnungszeitraumes
 +
* '''daysum oder sumday''', '''ydaysum''', '''monthsum''', '''yearsum''', '''allsum''', '''ydaysum''': selektiert die Summe an Inkremente für Heute, Gestern, diesen Monat, dieses Jahr, gesamten Aufzeichnungszeitraum. Beispiel: "rain0total-sumday" ist die heutige Regenmenge.
  
<pre>20130104142614 thb0 26.9 38 11.4 1020.4 1021.7 2
+
Neben obigen Selektoren, die fest definierte Zeitfenster selektieren, kann mit den folgenden Selektoren eine Auswertung für einen relativen Zeitraum in die Vergangenheit durchgeführt serden. Die Rückschau reicht wegen der begrenzten Speicherausstattung der Meteobridge nur bis zu 60 Minuten in die Vergangenheit.
20130104142610 rain0 0.0 3.0 0.0
+
* '''max2''', '''max5''', '''max10''', '''max15''', '''max30''', '''max60''': selektiert das Maximum der letzten 2, 5, 10, 15, 30 oder 60 Minuten
20130104142636 th0 9.1 95 8.3
+
* '''min2''', '''min5''', '''min10''', '''min15''', '''min30''', '''min60''': selektiert das Minimum der letzten 2, 5, 10, 15, 30 oder 60 Minuten
20130104142652 wind0 160 2.2 1.8 8.0</pre>
+
* '''avg2''', '''avg5''', '''avg10''', '''avg15''', '''avg30''', '''avg60''': selektiert den Durchschnitt der letzten 2, 5, 10, 15, 30 oder 60 Minuten
 +
* '''sum2''', '''sum5''', '''sum10''', '''sum15''', '''sum30''', '''sum60''': selektiert zusammengerechnete Deltawerte der letzten 2, 5, 10, 15, 30 oder 60 Minuten, welches zum Berechnen der gefallenen Regenmenge im definierten Zeitraum erforderlich ist. Beispiel: "rain0total-sum60" ergebit die gefallene Regenmenge in mm der letzten 60 Minuten.
 +
 
 +
==Konverter==
 +
Dei Sensordaten werden als Voreinstellung in ISO Einheiten berichtet (°C, hPa, mm, m/s). Durch den Einsatz von Konvertern können die Einheiten auf non-ISO Einheiten umgerechnet werden. Definierte Konverter sind:
 +
* '''F''' wandelt die Temperature von Celsius in Fahrenheit um.
 +
* '''psi''' wandelt Luftdruck von hPa (entspricht auch mbar) in psi um.
 +
* '''mmHg''' wandelt Luftdruck von hPa in Millimeter Quecksilbersäule um.
 +
* '''inHg''' wandelt Luftdruck von hPa in Inch Quecksilbersäule um.
 +
* '''kmh''' wandelt Windgeschwindigkeit von m/s in Kilometer pro Stunde um.
 +
* '''mph''' wandelt Windgeschwindigkeit von m/s in Meilen pro Stunde um.
 +
* '''kn''' wandelt Windgeschwindigkeit von m/s in Knoten um.
 +
* '''bft''' wandelt Windgeschwindigkeit von m/s in die Beaufort-Skala um.
 +
* '''in''' wandelt der Regenmenge von mm in Inch um.
 +
Wird eine unbekannte Konvertierung gewählt, findet keine Umrechnung statt un es erfolgt keine Fehlermeldung.
 +
 
 +
==Spezialvariable==
 +
Es sind eine Reihe von Spezialvariable definiert, die nicht dem Schema "Sensor-Selektor=Konverter" entsprechen, sondern einer Sonderbedeutung haben.
 +
 
 +
Datum und Uhrzeit ist wie folgt definiert:
 +
* '''YYYY''': Jahr, vierstellig
 +
* '''YY''': Jahr, zweistellig
 +
* '''MM''': Monat, zweistellig (ggf mit führender Null)
 +
* '''M''': Monat (ohne führende Null)
 +
* '''DD''': Tag, zweistellig (ggf mit führender Null)
 +
* '''D''': Tag (ohne führende Null)
 +
* '''hh''': Stunde, zweistellig (ggf mit führende Null)
 +
* '''h''': Stunde (ohne führende Null)
 +
* '''mm''': Minuten, zweistellig (ggf mit führender Null)
 +
* '''m''': Minuten (ohne führende Null)
 +
* '''ss''': Sekunden, zweistellig (ggf mit führender Null)
 +
* '''s''': Sekunden (ohne führende NuLL)
 +
Wenn ein großes "U" vorangestellt ist, wird mit Weltzeit gearbeitet (UTC), ansonsten mit lokaler Zeit. Beispiel: "[Uhh]:[Umm]:[Uss] UTC" wird zu einer Zeichenkette der Art "16:03:33 UTC" übersetzt
 +
 
 +
==Nachkommastellen==
 +
Sofern nicht anders definiert werden Zahlen mit einer Dezimalstelle berichtet. Durch Setzen des Wertes für die Nachkommastellen kann die Anzahl der bei der Ausgabe verwendten Dezimalstellen bestimmt werden.
 +
 
 +
==Ersatzzeichenkette==
 +
Wenn eine Variable nicht definiert ist oder keinen gültigen Wert liefern kann, wird die spezifizierte Ersatzzeichenkette ausgegeben, die auch leer sein kann. Fehlt die Angabe der Ersatzzeichenkette bleibt die Variabledefinition unverändert in der Zeichenkette stehen und wird nicht ersetzt.
 +
 
 +
==Beispiele==
 +
Anbei ein paar Beispiele, die helfen, den Ersetzungsmechanismus besser zu verstehen.
 +
 
 +
# Template <font face="Courier"><span style="background-color:lightgrey;">Outdoor temperature is [th0temp-act=F.1:--]°F</span></font face> wird umgewandelt in <font face="Courier"><span style="background-color:lightgrey;">Outdoor temperature is 3.4°F</span></font face>, wenn keine Außentemperatur vorliegt erscheint <font face="Courier"><span style="background-color:lightgrey;">Outdoor temperature is --°F</span></font face>.
 +
# Template <font face="Courier"><span style="background-color:lightgrey;">Local time is [hh]:[mm]</span></font face> wird umgewandelt in <font face="Courier"><span style="background-color:lightgrey;">Local time is 09:27</span></font face>.
 +
# Template <font face="Courier"><span style="background-color:lightgrey;">Max gust in last 10 minutes was: [wind0wind-max10.1:--]m/s, [wind0wind-max10=mph.1:--]mph, [wind0wind-max10=kn.0:--]kn</span></font face> wird umgewandelt in <font face="Courier"><span style="background-color:lightgrey;">Max gust in last 10 minutes was: 10.5m/s, 23.5mph, 20kn</span></font face>.

Revision as of 00:47, 26 February 2013

Other languages:
Deutsch • ‎English

Meteobridge stellt einen sehr flexiblen Ersetzungsmechanismus zur Verfügung, mit dem definierte Variable durch konkrete Sensorwerte ersetzt werden. Dies erlaubt in beliebigen Zeichenketten Meteobridge Variable "einzuschmuggeln", seien es E-Mail, HTML-Seiten, Alarmbedingungen, etc.

Die Variable werden in dem Moment, in dem die Zeichenkette an den Upload zum Zieldienst übergeben wird surch reale Werte ersetzte. Kann das Datenpaket nicht zugestellt werden, wird die Zustellung gegebenenfalls wiederholt, jedoch mit den bei der Erstbeauftragung eingesetzten Daten.

Jede Variable beginnt und endet mit einer eckigen Klammer "[" und "]". Die Variable in diesen Klammern zeigt die folgende Struktur:
Sensor-Selektor=Konverter.Dezimalstellen:Ersatzzeichenkette

"Konverter", "Dezimalstellen" und "Ersatzzeichenkette" kann weggelassen werden, "Sensor" und "Selektor" müssen angegeben werden. Während "Sensor" festlegt, um welchen Sensor es sich handelt und welcher Sensorwert verwendten werden soll, gibt "Selektor" an, welche Zeitperiode ausgewertet werden soll. Mit "Konverter" kann optional eine Umrechnung in andere Maßeinheiten realisiert werden. Die "Dezimalstellen"-Angabe bestimmt die numerische Auflösung der Daten und die "Ersatzzeichenkette" bestimmt den Wert, der ausgegeben wird, wenn kein Sensorwert für den definierten Zeitraum vorliegt.

Sensoren

Diese Sensoren sind in Meteobridge definiert:

  • th0temp: Außentemperatur in Grad Celsius
  • th0hum: Relative Außenluftfeuchte in Prozent
  • th0dew: Außentaupunkttemperatur in Grad Celsius
  • thb0temp: Innentemperatur in Grad Celsius
  • thb0hum: Innenluftfeuchte in Prozent
  • thb0dew: Innentaupunkttemperatur in Grad Celsius
  • thb0press: Stationsluftdruck in hPa
  • thb0seapress: auf Meeresspiegelhöhe berechneter Luftdruck in hPa
  • wind0wind: ungemittelte Windgeschindigkeit in m/s
  • wind0avgwind: gemittelte Windgeschindigkeit in m/s
  • wind0dir: Windrichtung in Grad (0° ist Norden)
  • wind0chill: Windchill-Temperatur in Grad Celsius
  • rain0rate: Regenrate in mm/h
  • rain0total: gefallene Regenmenge in mm
  • uv0index: UV-Index
  • sol0rad: Solarstrahlung in W/m^2

Wenn ein Sensor nicht existiert oder seine Daten älter als das maximal tolerierte Sensordatenalter sind, wird Meteohub keine Daten einsetzen und sofern definiert, stattdessen die Ersatzzeichenkette einsetzen. Falls keine Ersatzzeichenkette definiert ist, bleibt die Variable unersetzt als Zeichenkette stehen.

Selektor

Den "Sensoren" folgt eine Selektorbezeichnung (durch ein "-" getrennt) mit der der auszuwertende Zeitraum oder Zeitpunkt angegeben wird. Die folgenden Selektoren sind definiert:

  • act: aktuelle Daten
  • hmin: Minimum der aktuellen Stunde
  • hmax: Maximum der aktuellen Stunde
  • dmin: Minimum von Heute
  • dmax: Maximum von Heute
  • ydmin: Minimum von Gestern
  • ydmax: Maximum von Gestern
  • mmin: Minimum dieses Monats
  • mmax: Maximum dieses Monats
  • ymin: Minimum dieses Jahres
  • ymax: Maximum dieses Jahres
  • amin: Minimum des gesamten Aufzeichnungszeitraumes
  • amax: Maximum des gesamten Aufzeichnungszeitraumes
  • daysum oder sumday, ydaysum, monthsum, yearsum, allsum, ydaysum: selektiert die Summe an Inkremente für Heute, Gestern, diesen Monat, dieses Jahr, gesamten Aufzeichnungszeitraum. Beispiel: "rain0total-sumday" ist die heutige Regenmenge.

Neben obigen Selektoren, die fest definierte Zeitfenster selektieren, kann mit den folgenden Selektoren eine Auswertung für einen relativen Zeitraum in die Vergangenheit durchgeführt serden. Die Rückschau reicht wegen der begrenzten Speicherausstattung der Meteobridge nur bis zu 60 Minuten in die Vergangenheit.

  • max2, max5, max10, max15, max30, max60: selektiert das Maximum der letzten 2, 5, 10, 15, 30 oder 60 Minuten
  • min2, min5, min10, min15, min30, min60: selektiert das Minimum der letzten 2, 5, 10, 15, 30 oder 60 Minuten
  • avg2, avg5, avg10, avg15, avg30, avg60: selektiert den Durchschnitt der letzten 2, 5, 10, 15, 30 oder 60 Minuten
  • sum2, sum5, sum10, sum15, sum30, sum60: selektiert zusammengerechnete Deltawerte der letzten 2, 5, 10, 15, 30 oder 60 Minuten, welches zum Berechnen der gefallenen Regenmenge im definierten Zeitraum erforderlich ist. Beispiel: "rain0total-sum60" ergebit die gefallene Regenmenge in mm der letzten 60 Minuten.

Konverter

Dei Sensordaten werden als Voreinstellung in ISO Einheiten berichtet (°C, hPa, mm, m/s). Durch den Einsatz von Konvertern können die Einheiten auf non-ISO Einheiten umgerechnet werden. Definierte Konverter sind:

  • F wandelt die Temperature von Celsius in Fahrenheit um.
  • psi wandelt Luftdruck von hPa (entspricht auch mbar) in psi um.
  • mmHg wandelt Luftdruck von hPa in Millimeter Quecksilbersäule um.
  • inHg wandelt Luftdruck von hPa in Inch Quecksilbersäule um.
  • kmh wandelt Windgeschwindigkeit von m/s in Kilometer pro Stunde um.
  • mph wandelt Windgeschwindigkeit von m/s in Meilen pro Stunde um.
  • kn wandelt Windgeschwindigkeit von m/s in Knoten um.
  • bft wandelt Windgeschwindigkeit von m/s in die Beaufort-Skala um.
  • in wandelt der Regenmenge von mm in Inch um.

Wird eine unbekannte Konvertierung gewählt, findet keine Umrechnung statt un es erfolgt keine Fehlermeldung.

Spezialvariable

Es sind eine Reihe von Spezialvariable definiert, die nicht dem Schema "Sensor-Selektor=Konverter" entsprechen, sondern einer Sonderbedeutung haben.

Datum und Uhrzeit ist wie folgt definiert:

  • YYYY: Jahr, vierstellig
  • YY: Jahr, zweistellig
  • MM: Monat, zweistellig (ggf mit führender Null)
  • M: Monat (ohne führende Null)
  • DD: Tag, zweistellig (ggf mit führender Null)
  • D: Tag (ohne führende Null)
  • hh: Stunde, zweistellig (ggf mit führende Null)
  • h: Stunde (ohne führende Null)
  • mm: Minuten, zweistellig (ggf mit führender Null)
  • m: Minuten (ohne führende Null)
  • ss: Sekunden, zweistellig (ggf mit führender Null)
  • s: Sekunden (ohne führende NuLL)

Wenn ein großes "U" vorangestellt ist, wird mit Weltzeit gearbeitet (UTC), ansonsten mit lokaler Zeit. Beispiel: "[Uhh]:[Umm]:[Uss] UTC" wird zu einer Zeichenkette der Art "16:03:33 UTC" übersetzt

Nachkommastellen

Sofern nicht anders definiert werden Zahlen mit einer Dezimalstelle berichtet. Durch Setzen des Wertes für die Nachkommastellen kann die Anzahl der bei der Ausgabe verwendten Dezimalstellen bestimmt werden.

Ersatzzeichenkette

Wenn eine Variable nicht definiert ist oder keinen gültigen Wert liefern kann, wird die spezifizierte Ersatzzeichenkette ausgegeben, die auch leer sein kann. Fehlt die Angabe der Ersatzzeichenkette bleibt die Variabledefinition unverändert in der Zeichenkette stehen und wird nicht ersetzt.

Beispiele

Anbei ein paar Beispiele, die helfen, den Ersetzungsmechanismus besser zu verstehen.

  1. Template Outdoor temperature is [th0temp-act=F.1:--]°F wird umgewandelt in Outdoor temperature is 3.4°F, wenn keine Außentemperatur vorliegt erscheint Outdoor temperature is --°F.
  2. Template Local time is [hh]:[mm] wird umgewandelt in Local time is 09:27.
  3. Template Max gust in last 10 minutes was: [wind0wind-max10.1:--]m/s, [wind0wind-max10=mph.1:--]mph, [wind0wind-max10=kn.0:--]kn wird umgewandelt in Max gust in last 10 minutes was: 10.5m/s, 23.5mph, 20kn.