Difference between revisions of "Push Services/de"
(Created page with "Um den Datenverkehr mit dem Internet zu minimieren, lädt Meteobirdge die Templates nicht vor jedem Hochladezyklus neu. Vielmehr beliben die Templates auf dem Meteobridge stat...") |
(Created page with "File:ftpde.png") |
||
Line 130: | Line 130: | ||
− | [[File: | + | [[File:ftpde.png]] |
Revision as of 16:16, 25 February 2013
<languages />
Meteobridge stellt eine reihe von individualisierbaren Sendedienste zur Verfügung, die auf verschiedene Arten Wetterdaten an andere Systeme weiterleiten können. Zu den Standardmethoden gehört der zeitgesteuerte Versand von E-Mails und Twitter-Nachrichten mit aktuellen Wetterdaten sowie eine Alarmierungsfunktion, die beim Erreichen individuelle definierbarer Schwellwerte Meldungen per E-Mail oder Twitter versendet.
Wenn der "Expertenmodus" ausgewählt und mit "Speichern" bestätigt wurde, stehen weitere, etwas komplexere Übertragunsmodi zur Verfügung. Bei Ausschalten diese Option verschwinden diese Dienste wieder vond er Seite, die sonst recht überladen wäre.
Die folgenden Abschnitte erläutern wie die Sendedienste im Detail aufgesetz werden. Die Sendedienste sind eher für den technisch versierten Anwender interessant, da man ein Grundverständis über die Funktionsweise dieser Dienste benötigt. Wenn man nur Wetterdaten an vordefinierte Wetternetzwerke übertragen möchte, sollte man diesen Reiter komplett ignorieren.
Grundlegende Sendedienste
In diesem Abschnitt werden zunächst die elementarsten Sendedeinste E-Mail, Twitter und das Versenden bei Erreichen von Alarmbedingungen vorgestellt.
An Twitter Senden
Meteobridge erlaubt Wetterdaten als kleine Textpakete an den Sienst Twitter zu senden. Da Twitter eine etwas aufwändige Authentifizierung hat, ist initial das Durchlaufen von 6 Schritten erforderlich.
5. Abschließend den Nachrichtentext und das Hochladeintervall sowie die Anzahl von Sendewiederholungen im Fall eines fehlgeschlagenen Sendens eingeben. Diese Einstellungen mit "Speichern" dauerhaft gesichert. Falls die Authentifizierung mit Twitter fehlschlägt, kann der Prozess mit der Taste "Neue PIN anfordern" von vorne gestartet werden.
6. Beim Nachrichtentext können Variable verwendet werden, um Datum, Uhrzeit und Wetterdaten in den Text einzufügen. Wie diese Variable verwendet werden ist im Menupunkt Templates beschrieben. Das obige Beispiel ist das Ergebnis des Nachrichtentextes: [hh]:[mm]h Outdoor temp: [th0temp-act=F.1:--]°F
E-mail versenden
Meteobridge kann individuelle E-Mails in definierten Zeitintervallen oder beim Eintritt eines Ererignisses senden. Um diesen Dienst zu aktivieren, müssen die folgenden Einstellungen vorgenommen werden.
- Sendeinterval: definiert in welchem zeitabstand E-Mail gesendet werden. Die Einstellung "nur bei ALarm" bewrikt, dass kein zeitgesteuerter Versand erfolgt, sondern nur beim Erfüllen definierter Alarmbedingungen (siehe nächsten Abschnitt) eine E-Mail versendet wird. Das Drop-Down-Menu rechts vom Sendeintervall ermöglicht die Definition ob und wie häufig ein gescheiterter Mailversand wiederholt werden soll. Dabei wird nur der Erfolg des Absetzens der E-Mail an den SMTP-Server berücksichtigt, Weiterleitungsprobleme jenseits diese Servers bemerkt Meteobridge nicht. Das sich daran anschließende Drop-Down-Menu erlaubt die Auswahl der Authentifizierungsmethode, mit der Meteobridge den SMTP-Server kontaktiert:
- keine: Der SMTP-Server wird ohne weiter Authentifizierung kontaktet. Diese Zugriffsart gestatten SMTP-Server nur sehr selten und dann auch nur in geschlossenen LANs, da sie sonst als offene Spam-Relays missbraucht werden können.
- basis: Ist die klassische Benutzername/Passwort-Authentifikation, die ohne Verschlüsselung dieser Daten auskommt. Zunehmend weniger SMTP-Server erlauben diese gering geschütze Zugriffsart.
- tls: Ist eine Authentifizierung mit SSL-Verschlüsselung. Diese Variante der SSL-Verschlüsselung wird allerdings selten von SMTP-Servern verwendet.
- starttls: Ist inzwischen die am Häufigsten genutze Zugangsart, die sowohl Zugangs- wie Nutzdaten per SSL verschlüsselt.
- SMTP-Server: gibt die IP des oder den Namen des SMTP-Servers an, an den die ausgehenden Mails gesendet werden.
- Port: Spezifiziert die Port-Nummer auf der der SMTP-Server auf zur Weiterleitung bestimmte E-Mail lauscht. Standard-Ports sind 25 für non-SSL-Verbindungen und 587 für SSL-verschlüsselte Kommunikation)
- Name: Benutzername zur Authentifizierung
- Passwort: Passwort zu Authentifizierung
- Empfänger: E-mail-Adresse, die als Empfänger der Mail fungieren soll.
- Absender: E-mail-Adresse, die als Absender der Mail fungieren soll. Viele SMTP-Server verlangen, dass die Absenderadresse in der dem Server zugeordneten Domain liegt und verweigern sonst den Versand, um Spamming zu verhindern.
- Text: Dies ist der eigentliche Inhalt der E-Mail. Man kann mit einem "#" eine Betreffzeile vom Mailtext abtrennen. Diese Zeichenkette ist Gegenstand der Zeichenersetzungsregeln bezüglich der Verwendung von Variable, wie auf der Seite Templates beschrieben.
Mit dem "Test"-Knopf wird eine E-Mail mit dem Betreff "Meteobridge Test" an die angegebenen Empfänger-Adresse gesendet. Man kann admit prüfen, ob die AMTP-Konfiguration funktioniert. Wenn ein Fehler auftritt, wird eine entsprechende Systemmeldung eingeblendet.
Der Text weather conditions#temp [th0temp-act.1:--]°C\n[wind0wind-max60=kmh.1:--]km/h imobigen Beispiel sendet eine E-Mail an "test@mydomain.com" mit dem Betrefff "weather conditions" und einem zweizeiligen Nachrichtentext (Zeilen sind durch das Zeilenumbruchzeichen "\n" getrennt). Die erste Zeile enthält die aktuelle Außentemperatur (wie z.B. "13.4°C") und die zweite Zeile zeigt die maximale Böengeschwindigkeit der letzten 60 Minuten (z.B. "34.7km/h"). Details zur Verwendung von Variable sind auf der Seite Template beschrieben.
Alarmierungsdienst
Meteobridge ermöglicht das Versenden von E-Mails oder Twitter-Kurznachichten, wenn individuell definierte Bedingungen erfüllt sind. Um diese Option auswählen zu können, muss mindestens einer der Dienste E-Mail oder Twitter in Meteobridge aktiviert un konfiguriert sein. Der Alarmierungsdienst greift auf bereits für E-Mail und Twitter spezifizierten Einstellungen zurück und definiert diese nicht neu. Die Eingabefelder haben die folgenden Bedeutungen:
- Alarmierungsmodus: Dieser kann entweder "ausgeschaltet" oder "Sende E-Mail" oder "Sende Twitter" sein. Desweiteren kann man zwischen "Einmalalarm" und "inkrementelle Alarme" wählen. Beim "Einmalalarm" wird bei Erfüllen einer Auslösebedingung exakt eine Alarmmeldung gesendet. Es bedarf dann des Eintretens der Rücksetzbedingung, um eine erneute Alarmauslösung zu ermöglichen. Bei inkrementellen Alarmen wird eine Nachricht beim erstmaligen Zutreffen der Auslösebedingung gesendet. Tritt danach ein weiteres Ereignis ein, bei dem die bisher überschrittene Alarmierungsschwelle noch deutlicher überschritten wird, erfolgt ein erneuter Alarmversand.
- Auslösebedingung: definiert die Bedingung die in Form einer Ungleichung oder Gleicung erfüllt sein muss, damit der Alarm ausgelöst wird. Details zur Formulierung von Bedingungen sind im folgenden Abschnit "Bedingungen" beschrieben.
- Rücksetzbedingung: definiert die Bedingung die zum Zurücksetzen der Alarmierung erfüllt sein muss. Details zur Fomulierung der Bedingungen sind im folgenden Abschnitt "Bedingungen" beschrieben.
- Nachricht: beschreibt den Text der via Twitter oder E-Mail im Alarmierungsfall versendet wird. Der Text kann Meteobridge Variable enthalten.
Der Nachrichtentext Gust Warning#Gust speed of [wind0wind-act=kmh.1:--]km/h im obigen Beispiel erzeugt eine E-Mail mit dem Betreff "Gust Warning" und die Nachricht in der Art "Gust speed of 65.2km/h", wenn die Auslösebedingung des Beispiels bei einer Böengeschwindigkeit größer 50 km/h erfüllt ist.
Bedingungen
Es gibt zwei unterschiedliche Felder zum Eintragen von Bedingungen, in denen Bedingungen identisch formuliert sind und lediglich unterschiedliche Auswirkungen haben. Die "Auslösebedingung" bestimmt, wann ein Alarm gesendet wird. Handelt es sich um einen "Einmalalarm" führen auch weitere Erfüllungen der Auslösebedingung zu keinen weiteren Alarmnachrichten. Bei "inkrementeller Alarmierung" werden erneut Alarmmeldungen gesendet, wenn die in der Auslösebedingung definierte Schwelle noch deutlicher überschritten wird als bei der letzten Alarmauslösung. Der Sinn inkrementeller Alarmierungen liegt darin, über eine Verschärfung der Situation laufend informiert zu werden. Da die Alarmnachrichten Wetterdaten enthalten können, kann die Nachricht konkrete Werte enthalten und man kann erkennen, um welche Verschärfung es sich handelt. Beispiel: Wenn die Auslösebedingung auf "Außentemperatur von mindestens 35°C" gesetzt ist und die Rücksetzbedingung auf "Außentemperatur unter 30 °C" gesetzt ist und die zu verwendende Auflösung auf "keine Dezimalstellen" eingestellt ist, erhält man beim Erreichen der 35°C einmalig eine Alarmmeldung aber keine Folgealarme, bis die Temperatur wieder unter 30°C gefallen ist. Wenn man jedoch "inkremetelle Alarme" aktiviert hat und die Temperatur von 34°C auf 37.2°C steigt, wird man eine Nachricht über das Erreichen von 35°C, eine über 36°C und eine über 37°C erhalten. Dies ermöglicht den Grad der Schwellüberschreitung und das Maximum dieser Überschreitung als Nachricht zu erfahren.
Bedingungen bestehen aus drei Teilen, die durch Leerzeichen getrennt sind:
- Der erste Teil ist die Variable. Variable in Bedingungen haben dieselbe Syntax wie Variable in Meteobridge Templates, man muss also nichts Neues lernen. Während die Variable in den Templates in eckige Klammern eingeschlossen sind, um sie vom Rest des Textes abzusetzen, stehen die Variable in Bedingungen ohne diese Klammern. Die Auslösebedingung im obigen Beispiel verwendet die Variable wind0wind-act=kmh.1:0, die für die aktuelle Böengeschwindigkeit, konvertiert in km/h und ohne Nachkommastellen steht. Wenn der Sensor keine Daten liefert wird stattdessen der Wert "0" verwendet.
- Der zweite Teil ist der Vergleichsoperator. Definierte Operatoren sind:
- = gleich, != ungleich
- < kleiner als, <= kleiner oder gleich
- > größer als, >= größer oder gleich
- Der dritte Teil ist der Vergliichswert, der ganzzahlig oder eine Fließkommazahl sein kann.
Fortgeschrittene Sendedienste
Wenn der "Expertenmodus" aktiviert ist, werden drei weitere Sendedienste angeboten, die es erlauben Daten via HTTP-Requests, MYSQL-Anfragen oder FTP an andere Systeme zu übertragen.
Individeller HTTP-Upload
Diese Option erlaubt es Wetterdaten als HTTP-GET Requests an eine URL zu senden. Die URL und der Parameterstring können frei definiert werden. Die Parameter werden üblicher Weise als Name-Wert-Paare getrennt durch ein "&" in der URL aufgeführt. Dabei können Meteobridge-Variable verwendet werden und somit aktuele Wetterdaten als Parameter übergeben werden. Die Wettrdaten werden beim Senden des HTTP-GET-Requests seitens Meteobridge eingesetzt. Anbei ein Beispiel:
Das Hochladeintervall ist auf "alle 10 Sekunden" eingestellt, Die URL beschreibt die Adresse des empfangenden Servers ("http://myserver.com/upload.php" im obigen Bespiel). "Erfolgskriterium" nennt die Zeichenkette, die im Falle eines erfolgreichen daten-Uploads vom Server zurückgemeldet wird. Durch Vergleich der Zeichenketten stellt Meteobridge fest, ob das Hochladen gelappt hat oder gegebenenfalls ein erneutes Hochladen desselben Datensatzes versucht werden soll.
Die Wetterdaten werden an den Server als URL-Parameter übertragen. Meteobridge kann in diesen Parametern eingefügte Variable auswerten. Die Seite Templates beschreibt die zur Verfügung stehenden Variable und wie diese parameteriert werden können.
Individualer MYSQL-Upload
Wenn man Wetterdaten gerne in eine MYSQL-Datenbank speichern möchte,bietet sich dieser Sendedienst an. Die folgenden Angaben sind erforderlich:
- Server: Servername oder IP des Servers (wenn DNS den Namen nicht auflösen kann)
- Port: Portnummer, unter der die MYSQL-Datenbank Verbindungen annimmt.
- Datenbank: Name der Datenbank, in die Werte gespeichert werden sollen.
- Benutzer: Name des Benutzers, unter dem sich Meteobridge an der Datenbank anmelden soll.
- Passwort: Passwort des benutzers für die Datenbank.
- Anfrage: auszuführendes SQL-Statement. Dies ist typischer Weise ein "INSERT" SQL-Kommando, mit dem pro Datenanlieferung eine Zeile mit Daten in die gewählte Tabelle (hier "upload") der Datenbank (hier "test") eingefügt wird. Der Anfragetext unterliegt dem Meteobridge Variablenersetzungsmechanismus, mit dem bei der Ausführung konkrete Werte in die Anfrage eingesetzt werden.
Die Anfrage insert upload (temp, wind) values ([th0temp-act.1:-9999], [wind0wind-act=kmh.1:-9999]) in obigem Beispiel speichert die aktuelle Außentemperatur in das Feld "temp" der Tabelle "upload" der Datenbank "test". Das Feld "wind" wird mit der aktuellen nicht gemittelten Windgeschwindigkeit in km/h gefüllt. Wenn keine Daten für Wind oder Temperatur vorliegen wrd der Wert -9999 gespeichert.
Details zur Verwendung der Variable in Meteobridge finden sich auf der Seite Template.
Individueller FTP-Upload
Meteobridge ermöglicht bis zu vier verschiedene dateien auf einen FTP-Server zeitgesteuert hochzuladen. Beim Hochladen wird zunächst das Tempate der Datei aus dem Internet geladen, die darin enthaltenen Variable werden duch konkrete Werte ersetzt und die resultierende Datei wird dann unter einem spezifierten Dateinamen per FTP auf den Ziel-Server hochgeladen. Meteobridge kann nur einen Ziel-Server versorgen, auf diesem Server aber unterschiedliche Verzeichnisse pro Upload ansprechen. Die Konfiguration dieses FTP-Dienstes erfolgt so:
- FTP-Server: Servername oder IP des Servers
- Port: Port-Nummer des FTP-Dienstes auf dem Server
- Benutzer: Benutzername, der für den FTP-Upload verwendet werden soll.
- Passwort: Mit dem Benutznamen verbundenes Passwort
Um zu testen, ob die FTP Login-Daten funktionieren, kann man die Taste "Hochladen Testen" drücken. Meteobridge wird versuchen eine Datei Namens "test-upload" mit dem aktuellen zeitstempel als Inhalt auf den FTP-Server unter dem angegebenen Testpfad abzulegen. Wenn kein testpfad angegeben wird, speichert Meteobridge die Datei im auf dem FTP-Server für diesen Benutzer voreingestellten Verzeichnis. Der angegebene Testpfad wird nur für diesen Hochlade-Test verwendet.
Die zu übertragenden dateien werden in den folgenden vier Zeolen spezifiziert. Die pro zeile verfügbaren Felder haben die folgenden Bedeutungen:
- Hochladeintervall: hier wird eingestellt wie oft die Datei mit Werten gefüllt und hochgeladen werden soll. Bei der Einstellung "kein Hochladen" erfolgen keine Uploads.
- Template-Datei: definiert die URL unter der die mit Werten zu füllende Textdatei im Internert gespeichert ist.
- Pfad: bezeichnet den Pfad und Dateinamen (in Unix-Notation) unter dem die Datei auf den FTP-Server hochgeladen werden soll. Es gibt hier keine Voreinstellung, die Pfadangabe (inklusive dateiname) ist zwingend erforderlich.
Um den Datenverkehr mit dem Internet zu minimieren, lädt Meteobirdge die Templates nicht vor jedem Hochladezyklus neu. Vielmehr beliben die Templates auf dem Meteobridge statisch gespeichert, bis der Knopf "Templates Laden" gedrückt wird. Bei der Veränderung von Templates auf dem Internet-Server ist es also notwendig, diese abschließend per "Templates Laden" manuell auf die Meteobridge zu übertragen, damit die Änderungen wirksam werden.
Example above defines an upload schema to FTP server "ftp.myfamousserver.com" for user "myself". Template template.meteobridge.com/simpledash.html has been loaded on start up of Meteobridge and will be updated with recent data every minute and then uploaded to FTP server as file "mydash.html". When you view "mydash.html" with your browser it looks like this:
Details of using variables in templates are explained in Templates section.
To illustrate that using these varibales is quite easy the HTML body part (omitting the CSS styles for formating it nicely) of the template used in above's example is attached below:
<body> <table id="table-2"> <thead><tr><th>Sensor</th> <th>Current</th> <th>Today (min)</th> <th>Today (max)</th></tr></thead> <tbody> <tr><td>Outdoor Temperature</td> <td>[th0temp-act.1:--]° C</td> <td>[th0temp-dmin.1:--]° C</td> <td>[th0temp-dmax.1:--]° C</td></tr> <tr><td>Outdoor Humidity</td> <td>[th0hum-act.0:--] %</td> <td>[th0hum-dmin.0:--] %</td> <td>[th0hum-dmax.0:--] %</td></tr> <tr><td>Outdoor Dew Point</td> <td>[th0dew-act.1:--]° C</td> <td>[th0dew-dmin.1:--]° C</td> <td>[th0dew-dmax.1:--]° C</td></tr> <tr><td>Wind Chill Temperature</td> <td>[wind0chill-act.1:--]° C</td> <td>[wind0chill-dmin.1:--]° C</td> <td>[wind0chill-dmax.1:--]° C</td></tr> <tr><td>Air Pressure</td> <td>[thb0seapress-act.1:--] hPa</td> <td>[thb0seapress-dmin.1:--] hPa</td> <td>[thb0seapress-dmax.1:--] hPa</td></tr> <tr><td>Wind Direction</td> <td>[wind0dir-act.0:--]°</td> <td></td><td></td></tr> <tr><td>Wind Speed (averaged)</td> <td>[wind0avgwind-act.1:--] m/s</td> <td>[wind0avgwind-dmin.1:--] m/s</td> <td>[wind0avgwind-dmax.1:--] m/s</td></tr> <tr><td>Gust Speed</td> <td>[wind0wind-max5.1:--] m/s</td> <td>[wind0wind-dmin.1:--] m/s</td> <td>[wind0wind-dmax.1:--] m/s</td></tr> <tr><td>Rain</td> <td>rate: [rain0rate-act.1:--] mm/h</td> <td>sum [rain0total-sumday.1:--] mm</td> <td></td></tr> <tr><td>Solar Radiation</td> <td>[sol0rad-act.0:--] W/qm</td> <td>[sol0rad-dmin.0:--] W/qm</td> <td>[sol0rad-dmax.0:--] W/qm</td></tr> <tr><td>UV Index</td> <td>[uv0index-act.1:--] uvi</td> <td>[uv0index-dmin.1:--] uvi</td> <td>[uv0index-dmax.1:--] uvi</td></tr> </tbody> </table> </body>