Difference between revisions of "Push Services/de"

From meteobridge
Jump to: navigation, search
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 1: Line 1:
 +
__NOTOC__
 
<languages /><br />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.  
 
<languages /><br />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.  
  

Revision as of 00:38, 22 June 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.


Page6de.png


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.


Individual E-mail Service

Meteobridge can send you customizable e-mails at certain time intervals. To get this service started you have to work through the following settings:

  • Send Interval: defines how often the e-mail should be sent. If you don't want to send weather data on regular schedule but want to send e-mails just on alarm conditions, set this to "on alarm only". Drop-down box next to this on the right allows you to choose how many e-mail send retries should be done in case e-mail sending does fail. Next drop-down box allows you to defne how authorization of the SMTP server that transports the e-mail into the Internet should be done. You choose between:
    • none: This setting does not send any authentication information to the SMTP server. Only servers in closed LANs will provide that (if at all).
    • basic: Old-fashioned user name and password authentication, without SSL encryption
    • tls: authentication with SSL encryption (a variant not used very often)
    • starttls: standard authentication with SSL encryption (most often used)
  • SMTP Host: specifies the IP or name of the SMTP server to use.
  • Port: port number where SMTP server listens for mails (standard ports are 25 for non-SSL and 587 for SSL communication)
  • User: user name to be used for authentication
  • Password: password to be used
  • To-Addr.: E-mail address of the recipient
  • From-Addr.: E-mail address of the sender (many SMTP servers only accept mails with a sender address being in the same domain as the SMTP server itself)
  • Body: This contains the text to be sent via email. You can use a '#' sign to separate subject from the body of the mail. This string is subject to template replacement and does allow you to use Meteobridge variables inside your e-mail.

The test button in the "SMTP Host" line does send an e-mail with subject "Meteobridge Test" to the given address. If sendig the mail does not work, an error message will pop-up, explaining what went wrong.


Email0de.png


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.

Alarmde.png


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.

Conditions

There are two type of conditions that are formulated exactly the same way, but have different meaning. If a "raise condition" is satisfied, an alarm will be triggered and sent via e-mail or twitter. To send out the next email, it needs the "clear condition" to be satisfied first. The idea behind that is to suppress a large amount of follow-up messages on an event already given attention. For example, when raise condition is set to "outdoor temp at least 35°C" and clear condition is set to "outdoor temp below 30 °C" and resolution used for comparison is integer level (zero decimals) you will get a message once the temperature reaches 35° but will not get additional messages on that until the temperature has dropped below 30°C again. When you habe selected "incremental alarms" and temperature raises from 34°C up to 37.2°C you will get one messages about reaching 35°C, one about reaching 36° and one about reaching 37°C threshold. This gives you the chance to get informed how much the given threshold was passed.

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.


Page6bde.png


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:


Http-uploadde.png


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.


Mysqlde.png


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.

Wenn eine Ubiquiti AirCam angeschlossen ist, können deren Wetterkamerabilder auf Ihren Server hochgeladen werden. In diesem Fall wird keine Template-Datei benötigt und ist lediglich die Angabe des Zielpfads auf dem FTP-Server erforderlich.

Ftpde.png


Example above defines an upload schema to FTP server "ftp.myserver.com" for user "myself". Template templates.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:


Mydash.png


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 of 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>

Saratoga Template Upload

Meteobridge is supported by the well-known Saratoga templates, which allow you to easily build your own powerfull weather homepage. Procedure how to install the php scripts an how to configure Meteobridge's FTP upload is described in detail here.

When having done the well explained and easy to do setup, your website will look like this:

Saratoga.png

Individual Script Invocation

Meteobridge allows to execute user-defined bash scripts. The script has to be available on a web server. Meteobridge downloads the script via a given URL. Each time the trigger interval is fired, weather variables inside the script are replaced by current values and the script is executed. A parameter line can be used to hand over user-defined parameters to the script. This kind of script invocation allows Meteobridge not only fire user-defined actions on the Meteobridge itself but the even more interesting thing is, that by have "wgets" placed in the script this can also initiate actions in the Internet. This does give additional freedom to let your Meteobridge act on weather conditions and to trigger events outside Meteobridge as well.

Script.png

Script above defines to trigger script stored at "http://templates.meteobridge.com/reboot.sh" every day at 23:20. There are no paramters to be handed over to the script. The script provides a one-line documentation, which is marked in the script by three leading '#'. As you can see the script below does mainly issue a "reboot" of the Meteobridge.

#!/bin/sh
#
### reboot Meteobridge; no parms
reboot
exit 0