Sendedienste

From meteoplug
Revision as of 10:36, 28 June 2014 by Admin (Talk | contribs) (Created page with "File:event8de.png")

Jump to: navigation, search
Other languages:
Deutsch • ‎English


Meteobridge stellt eine Reihe von individualisierbaren Sendedienste zur Verfügung, die auf verschiedene Arten Wetterdaten an andere Systeme per E-Mail, Twitter, HTTP-Anfragen, FTP-Uploads, MYSQL-Befehle oder durch die lokale Ausführung von Skripten weiterleiten können. All diese Dienste können zu festen Zeitpunkten, in regelmäßigen Intervallen, die von wenigen Sekunden über Minuten bis hin zu Stunden definiert sind, oder durch das Eintreten von Alarmbedingungen ausgelöst werden.

Die Konfiguration der Sendedienste erfolgt in zwei Schritten.

  1. Wenn an E-Mail, Twitter, MYSQL oder FTP verwenden möchte, müssen zunächst entsprechende Athetifizierungen durchgeführt werden, damit diese Dienste genutzt werden können.
  2. Anschliessend können spezifische Sendeereignisse definiert werden, die sich dieser vorkonfigurieten Sendedienste bedienen.

Wenn man erstmalig auf diesen Reiter geht, sind noch keine Ereignisse definiert und die Sendedienste erwarten die notwendigen Konfigurationseingaben.

Page6de.png


Konfiguration der Sendedienste

Die Sendedienste Twitter, E-Mail, MYSQL und FTP erfordern eine initiale Konfiguration bevor Eregisse definiert werden können.

Konfiguration von Twitter

Meteobridge ermöglicht Wetterdaten an Twitter zu senden. Dazu muss die Meteobridge sich zunächst gegenüber Twitter authentifizieren. Dies erfolgt in 5 Schritten:

1. Die Taste "PIN anfordern" drücken

Twitter0de.png

2. In dem neu erscheinenden Fenster muss dem man sich mit seinem Twitter-Account anmelden

Twitter2de.png

3. Dort anmelden und die von Twitter bereitgestellte PIN kopieren

Twitter2b.png

4. PIN in das Feld neben "PIN Aktivieren" eingeben und den Knopf drücken

Twitter4de.png

5. Wenn die PIN akzeptiert wurde, erscheint der Hinweis "Authentifikation: erfolgreich"

Twitter3de.png

Meteobridge ist nun bereit, ereignisgesteuert Nachrichten an Twitter zu senden.

Konfiguration von E-Mailing

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:

  • Authentifizierung: Dieses drop-down Menu erlaubt die Auswahl der Authentifizierungsmethode. Es kann zwischen folgenden Einstellungen gewählt werden:
    • 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.

Email0de.png

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.

MYSQL Konfiguration

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.

Mysqlde.png

When keine MYSQL Dienste konfiguriert und keine Ereignisse für diesen Dienst definiert sind, entfernt Meteobridge die speicherintensiven MYSQL-Bibliotheken während des Boot-Vorgangs, um mehr Raum für andere Dienste zu haben.Dies wird durch denorangenen Hinweis "inaktiv" angezeigt. Man kann trotzdem MYSQL Dienste konfigurieren, doch erfordert es nach dem Speichern einen Neustart damit die notwendigen Bilbliotheken neu geladen werden und der MYSQL Dienst einsatzbereit ist.

FTP Konfiguration

Meteobridge erlaubt die Definition eines FTP-Servers, der zum Hochladen von Daten verwendet werden kann. Es kann nur ein FTP-Server definiert werden, aber jedes Sendeereignis kann individuelle Ordner auf diesem Server ansprechen.

  • 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

Ftpde.png

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.


Definition von Sendeereignissen

Meteobridge kann bis zu 20 Sendeereignisse definieren, die die konfigurierten Sendedienste verwenden. Die definierten Sendeereignisse werden oben auf der Seite angezeigt.

Das Hinzufügen eines Sendeereignisses ist sehr einfach. Man wählt zunächst aus dem "Dienst auswählen" Drop-Down Menu.

Event0de.png

Dann bestimmt man den Ereignistyp und fügt das so spezifizierte Sendeereignis durch Drücken der "Sendeereignis hinzufügen" Taste hinzu.

Event1de.png

Danach erscheint das neu definierte Sendeereignis in der Eregnisliste und man kann die Details dieses Eregnisses einstellen. Jede Ereignisdefinition besteht aus einem Bereich, in dem die die Auslösebedingungen für das Ereignis beschrieben werden, und einem Bereich, in dem die eigentliche zu transportierende Information angegeben wird.

Ereignistypen

Meteobridge kennt drei unterschiedliche Ereignistypen, die auf alle Sendedienste angewendet werden können.

Periodisch

Dies erlaubt eine zeitgesteuerte, wiederkehrende Ausführung von Ereignissen. Die dazu verwendeten Zeitintervalle können je nach gewähltem Dienst wenige Sekunden bis hin zu Minuten und Stunden sein. Die Auswahl des Zeitintervalls erfolgt durch das entsprechende Drop-Down Menu.

Event2de.png

Feste Zeit

Hier kann eine Zeit angegeben werden, an der täglich die Aktivierung des ereignisses erfolgt. Die Auswahl erfolgt per Drop-Down Menu im 15 minütigen Raster.

Event3de.png

=Alarm Bedingungen

Meteobridge ermöglicht die Definition von Alarmbedingungen, die das Auslösen und Rücksetzen von Alarmen erlauben und damit verknüpfte Sendeereignisse steuern.

Event4de.png

Man kann in Meteobridge zwischen "Einmalalarm" und "inkrementelle Alarme" wählen. Beim "Einmalalarm" wird bei Erfüllen einer Auslösebedingung nur einmal das damit verbundene Ereignis ausgeführt. Es bedarf dann des Eintretens der Rücksetzbedingung, um eine erneute Alarmauslösung zu ermöglichen. Bei inkrementellen Alarmen wird ein Ereignis beim erstmaligen Zutreffen der Auslösebedingung aktiviert. Wird danach die Auslösebedingung erneut erfüllt und die Alarmierungsschwelle noch deutlicher überschritten als zuvor, erfolgt eine erneute Ereignisauslösung.

  • 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.

Es gibt zwei Arten von BVedingungen im Kontext von Alarmdefinitionen, die unterschiedliche Bedeutung haben aber exakt gleich aufgebaut sind. Wenn eine "Auslösebedingung" erfüllt ist, wird das damit gekoppelte Ereignis ausgelöst. Um eine erenute Auslösung diese Ereignissen zu ermöglichen, muss zuvor der die "Rücksetzbedingung" erfüllt sein. Die Idee dahinter ist, dass eine Flut von nachfolgenden Ereignisauslösungen zu einem Ereignis, das bereits gemeldet wurde, zu vermeiden. Wenn zum Beispiel die Auslösebedingung "Außentemperatur mindestens 35°C" und Rücksetzbedingung "Außentemperatur unter 30°C" mit einer Temperaturauflösung von einem Grad angegeben sind, wird ein Nachrichten ausgelöst, wenn die Temperatur über 35°C steigt aber es werden keine Nachrichten gesendet, wenn die Temperatur weiter steigt. Wenn aber die Einstellung "inkrementelle Alarme" gewählt wurde und die Temperatur langsam auf bis zu 37.2!C steigt, werden Alarme bei 35°C, 36°C und 37°C ausgelöst. Dies gibt die Möglichkeit per Alarauslösung einen weiteren Anstieg über den Schwellwert zu verfolgen.

Meteobridge kenn zwei Arten von Bedingungen. Die einfachen Bedingungen vergleich zwei Werte, die komplexen Bedingungen erlauben echte arithmetische Ausdrücke.

Einfache Bedingungen

In diesem Fall besteht die Bedingung aus drei durch Leerzeichen getrennte Teile.

  • 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 > 35, 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 Vergleichswert, der ganzzahlig oder eine Fließkommazahl sein kann.

Examples:

  • wind0wind-act=kmh.1:0 > 10 triggers when current, non-averaged wind speed exceeds 10 km/h
  • th0temp-act=c.1:0 < 0 triggers when outdoor temp goes below 0°C
Komplexe Bedingungen

Komplexe Bedingungen können mehrere Operatoren und Klammern enthalten. Wetterdaten werden durch Meteobridge-Variable repräsentiert, wie im Abschnitt Templates erläutert. Die Variablen müssen in vollständiger Template-Notation eingegeben werden, inklusive eckiger Klammern. Definierte Operatoren sind:

Operatoren in steigender Präzedenz (von Oben nach Unten)
Operator Beschreibung
&&, || logische "und", "oder" Operatoren, die auf dem Wertebereich "1=wahr" und "0=falsch" arbeiten
==, !=, >, >=, <, <= Vergleichsoperatoren, die auf dem Wertebereich "1=wahr" und "0=falsch" arbeiten
+, - Arithmetische Operatoren "Addition" und "Subtraktion"
*, / Arithmetische Operatoren "Multiplikation" und "Division"
^ Arithmetischer Operator "Potenz"

Das Ergebnis der Berechnung des Ausdruckes wird als boolscher Wert interpretiert. Werte über Null sind "wahr", Werte kleiner oder gleich NUll sind "falsch". Wenn die Option "inkrementeller Alarm" gewählt wird, vergleicht Meteobridge den neuen Wert mit dem der letzten Überprüfung, sofern diese das Ergebnis "wahr" geliefert hatte. Ist der aktuelle Wert größer als der vorangegangene, wird erneut ein Alarm ausgelöst, auch wenn dieser vorher nicht gelöscht wurde.

Examples:

  • [rain0total-sumday=mm:0] - 10
    triggers an alarm when todays rain exceeds 10mm. When alarm mode is set to "incremental alarm", every time rain increases above 10mm, a new alarm will be triggered. This happens because the expression does not return a boolean, but a value that regarded "true" when result is above zero (here, 10mm rain fall). Further increases will keep the condition "true" but will also increment the number and therefore, will fire additional alarms.
  • [wind0wind-act=kmh.1:0] > 20 && ([wind0dir-act:180] >= 315 || [wind0dir-act:180] <= 45)
    triggers an alarm when non-averaged wind speed is more than 20 km/h and wind direction is mainly North (NW-NNW-N-NNE-NE).

Löschen von Ereignisdefinitionen

Um eine Ereignisdefinition zu löschen, muss lediglich "löschen" aus dem Drop-Down Menu am linken Rand der Ereignisdefinition ausgewählt werden und diese Einstellung mit "Speichern" der Seite bestätigt werden.

Event5de.png

Twitter Ereignis

Wenn ein Twitter Ereignis definiert wird, muss ein Nachrichtentext angegeben werden, der Meteobridge Template-Variable enthalten darf. Das anhängende beispiel sendet täglich mittags eine Twitter-Nachricht, die die Außentenperatur in Grad Celsius enthält.

Event6de.png

E-Mail Ereignis

E-Mail Ereignisse benötigen einen Nachrichtentext. Wenn der Text ein "#"-Symbol enthält, wird der text vor dem "#" als Betreff und der Text dahinter als Nachricht versendet. Betreff und Nachrichtentext können voll umfänglichen Meteobridge Template-Variablen verwenden. Wenn die optionale Empfängeradresse leer gelassen wird, verwendet Meteobridge den in der Definition des E-Mail Dienstes verwendeten Empfänger.

Event7de.png

Im vorangegangenen Beispiel wird eine E-Mail mit einem Betrff ähnlich "weather at 11:23" und einem Nachrichtentext ähnlich der folgenden Zeilen versendet.

temp 12.3°C
gust 6.7kmh

FTP Ereignis

Die Daten, dei zum Hochladen per FTP verwendet werden soll, können wegen der zu geringen Kapazität nicht permantent auf der Meteobridge speichert werden. Daher müssen sich die mit Wetterdaten zu füllenen Template-Dateien auf einem externen Server befinden, von dem Meteobridge die Templates per Aufruf einer URL laden kann. Sobald die URL angegeben ist, sollte das Template mit der Taste "Template Laden" temporär auf die Meteobridge geladen werden. Dies erforderlich, um dann bei der Ereignisauslösung die Wetterdaten in dieses geladene Template einzusetzen. Um das gefüllte template dann auf dem FTP-Server speichern zu können ist die Eingabe eines Dateipfades und -namens erforderlich.

FTP Instrumententafel Beispiel

Event8de.png

Example above makes use of a pre-defined dashboard html file and fills it every 10 minutes with recent weather data and uploads it as file name "/public_html/dashboard.html" to the specified FTP server. The file "dashboard.html" is a simple HTML file with some Meteobridge weather variables included. When you view "dashboard.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 variables is quite easy the HTML body part (omitting the CSS styles for formatting 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 Example

Event13.png

Meteobridge is supported by the well-known Saratoga templates, which allow you to easily build your own powerful weather homepage. Procedure how to install the php scripts and 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

FTP Camera Event

If Meteobridge drags pictures from a web cam or an Ubiquiti AirCam these pictures can also be uploaded via FTP. Here you just have to define the target path and file name, which can include date and time variables as specified by "strftime" GNU C function.

Event9.png

Example above stores a web cam picture every ten minutes and gives it a file name reflecting date and time like "2014-06-23_12:34_weatherpic.jpg". Details about "strftime" syntax can be found here.

HTTP Event

Meteobridge can send HTTP GET requests containing weather data as URL parameter. This can be used to feed individual weather networks. Beside the mandatory URL you can optionally define a success string that is matched against the data the requested web server returns to the Meteobridge.

  • When the success string is empty, no checking against the returned data is done
  • If the success string is not empty the returned data is analyzed and if the given success string is found in the returned data the transmission is expected to be successful, otherwise an Error is signaled.
  • If the success string starts with an exclamation mark "!" the transmission is regarded successful when the string is not found in the returned data.

Event10.png

In the example above Meteobridge sends recent wind speed every 15 seconds to the specified server and assumes transmission went fine, when returned data does not include the string "Error".

MYSQL Event

Meteobridge can send queries to a mysql server, which can be used to register weather data into a regular database. The mandatory query text field will usually contain a mysql insert statement followed by a table name and a list of column names and values. The query is subject to template replacement, so you can use Meteobridge variables to upload weather data to your database.

Event11.png

In the example above Meteobridge sends recent temperature and average wind speed every 10 minutes to a mysql database.

Script Execution Event

Meteoridge can download executable shell scripts from an URL and can execute these scripts. When you define a new event of this type, please lead the script by the "Reload Script" button before trying to execute the script. The parameter text field is optional, in case the script can handle additional parameters. The documentation string is derived from the loaded script and just displays the first line of the script containing a "###" pattern.

Event12.png

Settings above define to trigger script stored at "http://templates.meteobridge.com/reboot.sh" every day at 23:45. There are no parameters 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