Difference between revisions of "Push Services/de"

From meteobridge
Jump to: navigation, search
(Created page with "=====Komplexe Bedingungen===== Komplexe Bedingungen können mehrere Operatoren und Klammern enthalten. Wetterdaten werden durch Meteobridge-Variable repräsentiert, wie im Abs...")
 
(123 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<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 />__NOTOC__
 +
<br />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.
  
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 Konfiguration der Sendedienste erfolgt in zwei Schritten.
 +
# 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.
 +
# Anschliessend können spezifische Sendeereignisse definiert werden, die sich dieser vorkonfigurieten Sendedienste bedienen.
  
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.  
+
Wenn man erstmalig auf diesen Reiter geht, sind noch keine Ereignisse definiert und die Sendedienste erwarten die notwendigen Konfigurationseingaben.
  
==Grundlegende Sendedienste==
+
[[File:page6de.png]]
In diesem Abschnitt werden zunächst die elementarsten Sendedeinste E-Mail, Twitter und das Versenden bei Erreichen von Alarmbedingungen vorgestellt.
+
  
  
[[File: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:
  
===An Twitter Senden===
+
=====1. Die Taste "PIN anfordern" drücken=====
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.
+
  
<gallery perrow=1 widths=500 heigths=350>
+
[[File:twitter0de.png]]
File:twitter0de.png|1. Die Taste "PIN anfordern" drücken.
+
File:twitter2.png|2. Ein zusätzliches Fenster erscheint im Browser (bitte den Pop-Up Blocker im Browser dafür gegebenenfalls vorübergehend asschalten), in dem man sich mit seinem Twitter-Account anmelden muss.
+
File:twitter2b.png|3. Nach dem Einloggen wird eine PIN angezeigt, diese bitte in die Zwischenablage kopieren.
+
File:twitter4de.png|4. Auf die Meteobridge-Seite zurückwechseln und die PIN von der Zwischenablage in das Feld neben "PIN aktivieren" kopieren und die Aktivierungstaste drücken.
+
File:twitter3de.png|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.
+
twitter5.png|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/de|Templates]] beschrieben. Das obige Beispiel ist das Ergebnis des Nachrichtentextes: <font face="Courier"><span style="background-color:lightgrey;">[hh]:[mm]h Outdoor temp: [th0temp-act=F.1:--]°F </span></font face>
+
</gallery>
+
  
 +
=====2. In dem neu erscheinenden Fenster muss dem man sich mit seinem Twitter-Account anmelden=====
  
===E-mail versenden===
+
[[File:twitter2de.png||300px]]
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:
+
=====3. Dort anmelden und die von Twitter bereitgestellte PIN kopieren=====
** 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.
+
[[File:twitter2b.png||300px]]
** 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.
+
=====4. PIN in das Feld neben "PIN Aktivieren" eingeben und den Knopf drücken=====
* '''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
+
[[File:twitter4de.png]]
* '''Name''': Benutzername zur Authentifizierung
+
 
* '''Passwort''': Passwort zu Authentifizierung
+
=====5. Wenn die PIN akzeptiert wurde, erscheint der Hinweis "Authentifizierung: erfolgt"=====
* '''Empfänger''': E-mail-Adresse, die als Empfänger der Mail fungieren soll.
+
 
 +
[[File: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.
 
* '''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/de|Templates]] beschrieben.
+
 
 +
[[File: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.  
 
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.
  
[[File:email0de.png]]
+
[[File:mysqlde.png]]
  
 +
Wenn 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 den orangenen 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.
  
Der Text <font face="Courier"><span style="background-color:lightgrey;">weather conditions#temp [th0temp-act.1:--]°C\n[wind0wind-max60=kmh.1:--]km/h</span></font face> 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 [[Templates/de|Template]] beschrieben.
+
===Sending SMS===
 +
Meteobridge can make use of SMS gateway [http://www.messagebird.com MesageBird]. To have this service working you just need a MessageBird account, which can be setup with a few simple steps.
  
===Alarmierungsdienst===
+
=====1. Sign Up at MessageBird=====
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:
+
Please get a personal account at http://www.messagebird.com where you also get a welcome credit of 10 free SMS to test with. When you successfully tested SMS service you can put some prepaid amount onto the Messagebird SMS account. Validation of payment will take 24 hours. After that your paid account is fully operational.  
* '''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.
+
  
[[File:alarmde.png]]
+
[[File:sms1.png]]
  
 +
=====2. Get Your Personal Access Key=====
 +
In the API section of your MessageBird account you will find the access key which Meteobridge needs to fire SMS via MessageBird.
  
Der Nachrichtentext <font face="Courier"><span style="background-color:lightgrey;">Gust Warning#Gust speed of [wind0wind-act=kmh.1:--]km/h</span></font face> 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.
+
[[File:sms2.png]]
  
====Conditions====
+
=====3. Enter Access Key=====
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 have 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.  
+
Please enter the access key as shown in the picture below and press "Save". As Originator you can insert any string or phone number you want to be displayed as sender in the SMS message. The "access key" input field is a password field that usually does not show the given details. By selecting the "show" check box you will see the content.
  
There are two types of condition expressions. The '''simple''' one is just comparing two numbers, the '''complex''' variant allows for full arithmetic expressions.  
+
[[File:sms3.png]]
  
=====Einfache Bedingungen=====
+
=====4. Test SMS Operation=====
In diesem Fall besteht die Bedingung aus drei durch Leerzeichen getrennte Teile.
+
When you press the "Test SMS" button Meteobridge connects to MessageBird, tests credentials and returns balance of your account. When you are in tryout mode number of available free SMS will be shown and you can only use your own phone number to send SMS to. When you are a paying user your financial balance will be shown and you can send SMS to any recipient.
  
* Der erste Teil ist die '''Variable'''. Variable in Bedingungen haben dieselbe Syntax wie Variable in Meteobridge [[Templates/de|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 <font face="Courier"><span style="background-color:lightgrey;">wind0wind-act=kmh.1:0</span></font face>, 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.
+
[[File:sms4.png]]
  
* Der zweite Teil ist der '''Vergleichsoperator'''. Definierte Operatoren sind:
+
When sending SMS via Messagebird costs will occur. We recommend to use prepaid accounts only to limit you financial exposure. Please be aware that any misconfiguration of your SMS send service in Meteobridge or a Meteobridge malfunction can accidentially fire a lot of SMS messages and by that can eat up your account balance. smartbedded is in no way liable for anything happening with your Messagebird account. If you are not fine with this, please don't apply your SMS account details to Meteobridge.
** '''=''' 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.
+
===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
  
Examples:<BR>
+
[[File:ftpde.png]]
* <font face="Courier"><span style="background-color:lightgrey;">wind0wind-act=kmh.1:0 > 10</span></font face> triggers when current, non-averaged wind speed exceeds 10 km/h
+
* <font face="Courier"><span style="background-color:lightgrey;">th0temp-act=c.1:0 < 0</span></font face> triggers when outdoor temp goes below 0°C
+
  
=====Komplexe Bedingungen=====
+
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.
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:
+
  
{| style="background:none" border="1" cellpadding="5" cellspacing="0"
+
Wenn Daten auf einen anderen FTP-Server geladen werden sollen, kann die voll qualifizierte, URL-ähnliche FTP-Notation im Feld "Pfad" eingegeben werdem. Das Format der FTP URI lautet: <font face="Courier"><span style="background-color:lightgrey;"><nowiki>ftp://user:password@host:port/path</nowiki></span></font face>. Man beachte bitte, dass keines dieser Elemente fehlen darf. Beispiel:
|+ align="bottom"|''operators in increasing precedence (from top to bottom)''
+
<font face="Courier"><span style="background-color:lightgrey;"><nowiki>ftp://johndoe:mysecret@ftp.server.com:21/public_html/index.html</nowiki></span></font face>
! Operator
+
! Description
+
|-
+
|'''&&''', '''&#124;&#124;'''
+
|logical "and", "or" operators working on value range: 1=true, 0=false
+
|-
+
|'''==''', '''!=''', '''>''', '''>=''', '''<''', '''<='''
+
|comparison operations working on value range: 1=true, 0=false
+
|-
+
|'''+''', '''-'''
+
|arithmetic operators "plus" and "minus"
+
|-
+
|'''*''', '''/'''
+
|arithmetic operators "multiply" and "divide"
+
|-
+
|'''^'''
+
|arithmetic operator "power"
+
|}
+
Result of the expression is interpreted as a boolean. Values above zero are regarded "true", values below or equal zero are regarded "false". When "incremental alarm" is specified, Meteobridge compares new value with former value and does trigger an alarm, when new value is bigger then the one that has triggered an alarm before.
+
  
Examples:<BR>
+
==Definition von Sendeereignissen==
* <font face="Courier"><span style="background-color:lightgrey;">[rain0total-sumday=mm:0] - 10</span></font face><BR>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.
+
Meteobridge kann bis zu 20 Sendeereignisse definieren, die die konfigurierten Sendedienste verwenden. Die definierten Sendeereignisse werden oben auf der Seite angezeigt.  
* <font face="Courier"><span style="background-color:lightgrey;">[wind0wind-act=kmh.1:0] > 20 && ([wind0dir-act:180] >= 315 || [wind0dir-act:180] <= 45)</span></font face><BR>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).
+
  
==Fortgeschrittene Sendedienste==
+
Das Hinzufügen eines Sendeereignisses ist sehr einfach. Man wählt zunächst aus dem "Dienst auswählen" Drop-Down Menu.
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.  
+
  
 +
[[File:event0de.png]]
  
[[File:page6bde.png]]
+
Dann bestimmt man den Ereignistyp und fügt das so spezifizierte Sendeereignis durch Drücken der "Sendeereignis hinzufügen" Taste hinzu.
  
 +
[[File:event1de.png]]
  
===Individeller HTTP-Upload===
+
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.
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:
+
  
 +
===Ereignistypen===
 +
Meteobridge kennt drei unterschiedliche Ereignistypen, die auf alle Sendedienste angewendet werden können.
  
[[file:http-uploadde.png]]
+
====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.
  
 +
[[File:event2de.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.
+
====Uhrzeit====
 +
Hier kann eine Zeit angegeben werden, an der täglich die Aktivierung des Ereignisses erfolgt. Die Auswahl wird per Drop-Down Menu im 15 minütigen Raster getroffen.
  
Die Wetterdaten werden an den Server als URL-Parameter übertragen. Meteobridge kann in diesen Parametern eingefügte Variable auswerten. Die Seite [[Templates/de|Templates]] beschreibt die zur Verfügung stehenden Variable und wie diese parameteriert werden können.
+
[[File:event3de.png]]
  
===Individualer MYSQL-Upload===
+
====Alarm Bedingungen====
Wenn man Wetterdaten gerne in eine MYSQL-Datenbank speichern möchte,bietet sich dieser Sendedienst an. Die folgenden Angaben sind erforderlich:
+
Meteobridge ermöglicht die Definition von Alarmbedingungen, die das Auslösen und Rücksetzen von Alarmen erlauben und damit verknüpfte Sendeereignisse steuern.
* '''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.
+
  
 +
[[File:event4de.png]]
  
[[File:mysqlde.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 Bedingungen 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 dieses Ereignisses zu ermöglichen, muss zuvor der die "Rücksetzbedingung" erfüllt sein. Die Idee dahinter ist, 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 eine Nachricht ausgelöst, wenn die Temperatur über 35°C steigt aber es werden keine Nachrichten gesendet, wenn die Temperatur weiter steigt. Wurde aber die Einstellung "inkrementelle Alarme" gewählt  und die Temperatur steigt auf bis zu 37.2!C, dann werden Alarme bei 35°C, 36°C und 37°C ausgelöst. Man kann in diesem Fall per Alarmauslösung einen weiteren Anstieg über den Schwellwert verfolgen. 
  
Die Anfrage <font face="Courier"><span style="background-color:lightgrey;">insert upload (temp, wind) values ([th0temp-act.1:-9999], [wind0wind-act=kmh.1:-9999])</span></font face> 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.
+
=====Bedingungen=====
 +
Bedingungen können mehrere Operatoren und Klammern enthalten. Wetterdaten werden durch Meteobridge-Variable repräsentiert, wie im Abschnitt [[Templates]] erläutert. Die Variablen können in rechteckige Klammern eingebettet sein (<font face="Courier"><span style="background-color:lightgrey;">[th0temp-act=F.0:0]</span></font face>) oder ohne Klammern verwendet werden (<font face="Courier"><span style="background-color:lightgrey;">th0temp-act=F.0:0</span></font face>). Beim Verzicht auf eckige Klammern sollten diese vor und hinter der Variable durch ein Leerzeichen vom arithmetischen Ausdruck abgetrennt sein. Definierte Operatoren sind:
  
Details zur Verwendung der Variable in Meteobridge finden sich auf der Seite [[Templates/de|Template]].
+
{| style="background:none" border="1" cellpadding="5" cellspacing="0"
 +
|+ align="bottom"|''Operatoren in steigender Präzedenz (von Oben nach Unten) ''
 +
! Operator
 +
! Beschreibung
 +
|-
 +
|'''&&''', '''&#124;&#124;''', '''&''', '''&#124;'''
 +
|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 "inkrementelle Alarme" 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.
  
===Individueller FTP-Upload===
+
Beispiele:<br />
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:
+
* <font face="Courier"><span style="background-color:lightgrey;">[rain0total-sumday=mm:0] - 10</span></font face><br />löst einen Alarm aus, wenn die heutige Regenmenge 10 mm übersteigt. Wenn die Option des "inkrementelle Alarme" aktiviert ist, wird jedes Mal, wenn der Regenfall einen neuen Höchststand jenseits der 10 mm erreicht, ein Alarm ausgelöst. Dies erfolgt, da der Ausdruck keinen echten boolschen Wert liefert, sondern eine Zahl, die jenseits von 10 mm Regenfall einen Wert größer Null liefert und somit als "wahr" interpretiert wird. Weiteres Ansteigen des Wertes führt in diesem Modus zu erneuter Alarmauslösung und somit zu Folgealarmen, ohne dass der Alarm vorher durch ein anderes Ereignis zurückgesetzt werden muss.  
* '''FTP-Server''': Servername oder IP des Servers
+
* <font face="Courier"><span style="background-color:lightgrey;">[wind0wind-act=kmh.1:0] > 20 && ([wind0dir-act:180] >= 315 || [wind0dir-act:180] <= 45)</span></font face><br />löst einen Alarm aus, wenn die nicht gemittelte Windgeschwindigkeit über 20 km/h steigt und die Windrichtung ungefähr Nord ist(NW-NNW-N-NNO-NO).
* '''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.
+
===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.
  
Die zu übertragenden dateien werden in den folgenden vier Zeolen spezifiziert. Die pro zeile verfügbaren Felder haben die folgenden Bedeutungen:
+
[[File:event5de.png]]
* 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.
+
===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.
  
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.
+
[[File:event6de.png]]
  
[[File:ftpde.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. Der E-mail-Text darf nicht länger als 4000 Zeichen sein.
  
 +
[[File:event7de.png]]
  
Example above defines an upload schema to FTP server "ftp.myserver.com" for user "myself". Template [http://templates.meteobridge.com/simpledash.html 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:
+
Im vorangegangenen Beispiel wird eine E-Mail mit einem Betreff ähnlich "Wetter um 11:23" und einem Nachrichtentext ähnlich der folgenden Zeilen versendet.
 +
<pre>Temp 12.3°C
 +
Boe 6.7kmh</pre>
  
 +
===SMS Ereignis===
 +
Bei der Definition eines SMS-Ereignisses muss das Nachrichtenfeld gefüllt werden. Der Nachrichtentext darf keine doppelten Anführungszeichen (") enthalten, einfache Anführungszeichen (') sind erlaubt.
  
[[File:mydash.png]]
+
[[File:smsevent.png]]
  
 +
Im vorangegangenen Beispiel wird mittags eine SMS an den Empfänger gesendet, die die aktuelle Temperatur in Grad Celsius enthält. Dabei ist zu beachten,d ass die Telefonnummer die Landeskennung (1 für USA) allerdings ohne vorangestellte "0" oder "+" enthält.
 +
 +
===FTP Ereignis===
 +
Die zum Hochladen per FTP bestimmten Daten können wegen der zu geringen Speicherkapazität nicht permantent auf der Meteobridge gespeichert 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 ist erforderlich, um dann bei der Ereignisauslösung die Wetterdaten in dieses geladene Template einzusetzen. Um das gefüllte Template auf dem FTP-Server speichern zu können sind die Eingaben eines Dateipfades und -namens erforderlich.
 +
 +
====FTP Instrumententafel Beispiel====
 +
 +
[[File:event8de.png]]
 +
 +
Das obige Beispiel verwendet eine vordefinierte HTML-Datei und füllt dieses Template alle 10 Minuten ,it aktuellen Wetterdaten und lädt die Datei dann unter dem Dateipfad- und namen "/public_html/dashboard.html" auf den angegebenen FTP-Server.
 +
Die Datei "dashboard.html" ist eine einfache HTML-Datei mit einigen enthaltenen Meteobridge Wetter-Variablen. Wenn man sich die mit Daten gefüllte Datei "dashboard.html" mit einem Browser ansieht, wir sie etwa wie folgt aussehen:
 +
 +
[[File:mydash.png]]
  
Details über die Variablenersetzung in Meteobridge werden auf der Seite [[Templates/de|Templates]] erläutert. Das anhängende Beispiel zeigt wie einfach Variable in HTML-Seiten einzubetten sind (wobei die CSS-Definitionen zur Steuerung der Formatierung der Tablle der Einfachheit halber weggelassen wurden):
+
Details über die Verwendung von Variablen in Templates finden sind in der [[Templates]] Sektion dieses Wikis.  
 +
Im anhängenden Quellkode dieses Templates, das die Verwendung von Variablen illustrieren soll, wurden lediglich die CSS-Styles der einfacheren Lesbarkeit halber weggelassen:
 
<pre>
 
<pre>
 
<body>
 
<body>
Line 228: Line 269:
 
</body>
 
</body>
 
</pre>
 
</pre>
 +
 +
 +
====Saratoga Template Beispiel====
 +
 +
[[File:event13de.png]]
  
 
====Saratoga Template-Upload====
 
====Saratoga Template-Upload====
Meteobridge kann die bekannten Saratoga-Templates bedienen, die einfach auf einer Homepage zu installieren sind und umfangreich und übersichtlich über die Wettersituation Auskunft geben. Wie die Installation genau vorzunehmen ist und Meteobridge eingerichtet werden muss ist detailliert [http://saratoga-weather.org/wxtemplates/install.php hier] beschrieben.
+
Meteobridge kann die bekannten Saratoga-Templates bedienen, die einfach auf einer Homepage zu installieren sind und umfangreich und übersichtlich über die Wettersituation Auskunft geben. Wie die Installation genau vorzunehmen ist und Meteobridge eingerichtet werden muss ist detailliert [http://saratoga-weather.org/wxtemplates/setup-Meteobridge.php hier] beschrieben.
  
 
Wenn die Wetterseite mit den Saratoga-Templates aufgesetzt ist, wird sie in etwa so aussehen:
 
Wenn die Wetterseite mit den Saratoga-Templates aufgesetzt ist, wird sie in etwa so aussehen:
Line 236: Line 282:
 
[[File:saratoga.png]]
 
[[File:saratoga.png]]
  
===Individual Script Invocation===
+
===FTP Kamera Ereignis===
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.
+
Wenn Meteobridge Bilder einer Webcam oder einer Ubiquiti AirCam verwendet, können diese ebenfalls per FTP hochgeladen werden. Um Speicherung von Serienbildern zu ermöglichen, können Datums- und Zeitinformationen in den Pfad- und Dateinamen entsprechend der GNU C "strftime"-Syntax eingebaut werden.  
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.
+
"Reload" button does load script from Internet and "Test" button does a test invocation to check if the script runs fine or thows some errors.  
+
  
[[File:scriptde.png]]
+
[[File:event9de.png]]
  
Settings above define 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.
+
Das vorangegangene Beispiel speichert alle 10 Minuten ein Webcam-Bild und gibt diesem einen Dateinamen, der das aktuelle Datum und die aktuelle Zeit beinhaltet, wie z.B.  "2014-06-23_12:34_weatherpic.jpg". Detail zur "strftime"-Syntax finden sich [http://man7.org/linux/man-pages/man3/strftime.3.html hier].
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.
+
===HTTP Ereignis===
 +
Meteobridge kann HTTP GET Anfragen senden, die Wetterdaten als URL-Parameter enthalten. Dieses kann beispielsweise zur Speisung individueller Wetternetzwerke verwendet werden. Neben der notwendigen URL kann optional auch eine Erfolgszeichenkette angegeben werden. Diese zeichenkette vergleicht Meteobridge mit der Antwort, die der Server auf die gesendete HTTP-Anfrage zurückgibt.
 +
* Wenn die Erfolgszeichenkette leer ist, wird die Antwort des Servers nicth ausgewertet.
 +
* Wenn die Erfolgszeichenkette nicht leer ist, wird geprüft, ob diese Seichenkette in der Antwort des Servers entahlten ist. Falls ja, wird die Übertragung als erfolgreich betrachtet.
 +
* Wenn die Erfolgszeichenkette mit einem Ausrufezeichen "!" beginnt, wird die Übertragung als erfolgreich angeshenen, wenn der Rest der Zeichenkette nicht in der Antwort des Servers enthalten ist.
 +
 
 +
[[File:event10de.png]]
 +
 
 +
Im obigen Beispiel sendet Meteobridge die aktuelle Windgeschwindigkeit alle 15 Sekunden an den angebenen Server und betrachtet die Übertragung als erfolgreich, wenn die Antwort des Servers nicht die Zeichkette "Error" enthält.
 +
 
 +
===MYSQL Ereignis===
 +
Meteobridge kann Anfragen an MYSQL Datenbanken senden und somit die Speicherung von live Daten in eine reguläre datenbank unterstützen. Das Pflichtfeld "Anfrage" enthält das auszuführende MYSQL-Kommando, welches typischer Weise ein parametriertes "INSERT" zum Einfügen von Datensätzen in eine Tabelle der Datenbank sein wird.
 +
 
 +
[[File:event11de.png]]
 +
 
 +
Das Beispiel fügt die aktuelle Temperatur und die gemittelte Windgeschwindigkeit alle 10 Minuten in die Tabelle "upload" der angeschlossenen MYSQL-Datenbank ein.
 +
 
 +
===Skriptausführungsereignis===
 +
Meteoridge kann Shell-Skripte voneiner URL laden und ausführen. Wenn ein neues Ereignis dieses Typs definiert wird, bitte zunächst die URL eingeben, unter der das Skipt gespeichert ist, und die Taste "Skript Laden" drücken. Das Parametereingabefeld ist optional und kann leer gelassen werden, wenn das Skript keine weiteren Aufrufparameter benötigt. Meteobridge betrachtet die erste Zeile des Skriptes, die mit der Zeichenkette "###" beginnt, als Kurzdokumentation des Skriptes und zeigt diese in der Ereignisdefinition als Informationstext an.
 +
 
 +
[[File:event12de.png]]
 +
 
 +
Die obigen Einstellungen führen das unter "http://templates.meteobridge.com/reboot.sh" im Internet abgelegte Skript jeden Tag um 23:45 aus. Es werden keine weiteren Parameter an das Script übergeben.
 +
Das Skript enthält eine Dokumentationszeile, die im Skript durch drei vorangestellte "#" gekennzeichnet ist. Das Beispielskript führt einen Reboot der Meteobridge aus.
 
<pre>#!/bin/sh
 
<pre>#!/bin/sh
 
#
 
#
Line 251: Line 318:
 
reboot
 
reboot
 
exit 0</pre>
 
exit 0</pre>
 +
 +
==Enhancements for Meteobridge PRO==
 +
Meteobridge PRO adds three functions to it. One is about automated backups of stored sensors data the other is about controlling the display in the front panel and the third allows to schedule data exports.
 +
 +
===Automated Backups===
 +
Meteobridge PRO adds a backup script to the selection of shell scripts to be started on certain conditions. When triggered, this backup script looks for a connected USB drive (with a FAT or EXT3 filesystem) and copies the current database containing all stored sensor data to the USB drive. Copied file has a date/time stamp in the file name. When storage is getting low on the USB stick, the oldest backups will be deleted in order to be able to store new backups. This mechanism allows you to have an external USB stick constantly connected to the Meteobridge PRO and to schedule daily backups onto that, without worrying if USB stick gets filled up over time. While backup script is executed, logging of new data is halted (queued up). Script name in drop-down list is "backup".
 +
 +
[[File:page6backup.png]]
 +
 +
 +
===Display Content===
 +
When Meteobridge PRO was given a display on the front panel the idea was not just to show some predefined sets of data there, but to give the user maximum freedom to display an kind of sensor data on it. We did not jump into this for providing graphs and curves on the display, as it is on 0.96" in diagonal, but what we did is providing mechanisms for providing textual data.
 +
 +
The core framework used for this is Google's u8g project which has been ported interpret commands given in a description language. Before we dig into details, please have a loo at the 3 predefined display options:
 +
 
 +
[[File:event14.png]]
 +
 +
The first one reports wind/outdoor/indoor/rain/system data with swapping screen in ISO units, while the second one does the same with imperial units. Flow of screens is as follows:
 +
 +
[[File:oled-INDOOR.png||150px]] [[File:oled-OUTDOOR.png||150px]] [[File:oled-WIND.png||150px]] [[File:oled-RAIN.png||150px]] [[File:oled-POWER.png||150px]] [[File:oled-SYSTEM.png||150px]]
 +
 +
In a nutshell the declaration that produces these screens is given in the "message" field in terms of a template, where Meteobridge fills in the current sensor data as it does with templates used for emails, twitter, etc.
 +
How this works is described in a separate chapter called "Meteobridge PRO Display".
 +
 +
===Scheduled Data Exports===
 +
Meteobridge PRO allows to automate the generation of data exports. How data exports work and how the used templates look like is explained in [[PRO_History]] section.
 +
 +
[[File:page6c.png]]
 +
 +
Data export service can be easily defined by setting three parameters.
 +
* '''Time Frame''' specifies when data export should be done. Possible values are shown the example above. Doing data export more frequently than every hour is not supported to keep system load in reasonable bounds.
 +
* '''Resolution''' allows to pick the granularity used for data export. Values can be "minute", "hour", "month", "year". All combinations of time frames and resolution are allowed. Only exception is the combination "year - minute" which cannot be selected as it would result into a too large export file.
 +
* '''Template''' presents you all the available data export templates (files with extension ".exp") stored in PC network share "templates". 
 +
 +
When  data export is executed a line in the message list (on "System" tab) will appear that reports about the data export and how many lines of export data have been generated. Example below generates on every new day the data from the day before in a resolution of one minute using template "standard-iso.exp".
 +
 +
[[File:page6d.png]]
 +
 +
===Storing Templates Locally===
 +
Meteobridge PRO allows to hold templates and other data used by services on the USB store, which you can access as a PC network folder (SMB share). The table below explains in which sub folders of the SMB share Meteobridge PRO expects to find data for various services and file extensions expected from Meteobridge PRO. Files having right extension and residing in the correct sub folder will be presented in drop-down lists on Meteobrodge PROs services tab. This is the mapping of services, sub folders and file extensions.
 +
 +
{| class="wikitable"
 +
! Service
 +
! Sub Folder
 +
! File Extension
 +
! Comment
 +
|-
 +
| Display
 +
| templates
 +
| .dsp
 +
| subject to template expansion, "\n" strings used in inline template definition are represented as standard line feeds in the template file. Double quoted "\\n" strings in the inline definition are represented as single quoted "\n" strings in the file.
 +
|-
 +
| FTP
 +
| export
 +
| .txt
 +
| generated exports are uploaded without further processing
 +
|-
 +
| FTP
 +
| templates
 +
| .txt .html
 +
| subject to template expansion
 +
|-
 +
| Email
 +
| templates
 +
| .mail
 +
| subject to template expansion
 +
|-
 +
| HTTP
 +
| templates
 +
| .url
 +
| subject to template expansion
 +
|-
 +
| Script
 +
| scripts
 +
| .sh
 +
| scripts are executed without further pre-processing
 +
|-
 +
| Export
 +
| templates
 +
| .exp
 +
| subject to special template expansion for export file generation
 +
|-
 +
| MYSQL
 +
| --
 +
| --
 +
| can use inline templates only
 +
|-
 +
| Twitter
 +
| --
 +
| --
 +
| can use inline templates only
 +
|}

Latest revision as of 23:43, 30 July 2017

<languages />
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 "Authentifizierung: erfolgt"

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

Wenn 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 den orangenen 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.

Sending SMS

Meteobridge can make use of SMS gateway MesageBird. To have this service working you just need a MessageBird account, which can be setup with a few simple steps.

1. Sign Up at MessageBird

Please get a personal account at http://www.messagebird.com where you also get a welcome credit of 10 free SMS to test with. When you successfully tested SMS service you can put some prepaid amount onto the Messagebird SMS account. Validation of payment will take 24 hours. After that your paid account is fully operational.

Sms1.png

2. Get Your Personal Access Key

In the API section of your MessageBird account you will find the access key which Meteobridge needs to fire SMS via MessageBird.

Sms2.png

3. Enter Access Key

Please enter the access key as shown in the picture below and press "Save". As Originator you can insert any string or phone number you want to be displayed as sender in the SMS message. The "access key" input field is a password field that usually does not show the given details. By selecting the "show" check box you will see the content.

Sms3.png

4. Test SMS Operation

When you press the "Test SMS" button Meteobridge connects to MessageBird, tests credentials and returns balance of your account. When you are in tryout mode number of available free SMS will be shown and you can only use your own phone number to send SMS to. When you are a paying user your financial balance will be shown and you can send SMS to any recipient.

Sms4.png

When sending SMS via Messagebird costs will occur. We recommend to use prepaid accounts only to limit you financial exposure. Please be aware that any misconfiguration of your SMS send service in Meteobridge or a Meteobridge malfunction can accidentially fire a lot of SMS messages and by that can eat up your account balance. smartbedded is in no way liable for anything happening with your Messagebird account. If you are not fine with this, please don't apply your SMS account details to Meteobridge.

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.

Wenn Daten auf einen anderen FTP-Server geladen werden sollen, kann die voll qualifizierte, URL-ähnliche FTP-Notation im Feld "Pfad" eingegeben werdem. Das Format der FTP URI lautet: ftp://user:password@host:port/path. Man beachte bitte, dass keines dieser Elemente fehlen darf. Beispiel: ftp://johndoe:mysecret@ftp.server.com:21/public_html/index.html

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

Uhrzeit

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

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 Bedingungen 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 dieses Ereignisses zu ermöglichen, muss zuvor der die "Rücksetzbedingung" erfüllt sein. Die Idee dahinter ist, 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 eine Nachricht ausgelöst, wenn die Temperatur über 35°C steigt aber es werden keine Nachrichten gesendet, wenn die Temperatur weiter steigt. Wurde aber die Einstellung "inkrementelle Alarme" gewählt und die Temperatur steigt auf bis zu 37.2!C, dann werden Alarme bei 35°C, 36°C und 37°C ausgelöst. Man kann in diesem Fall per Alarmauslösung einen weiteren Anstieg über den Schwellwert verfolgen.

Bedingungen

Bedingungen können mehrere Operatoren und Klammern enthalten. Wetterdaten werden durch Meteobridge-Variable repräsentiert, wie im Abschnitt Templates erläutert. Die Variablen können in rechteckige Klammern eingebettet sein ([th0temp-act=F.0:0]) oder ohne Klammern verwendet werden (th0temp-act=F.0:0). Beim Verzicht auf eckige Klammern sollten diese vor und hinter der Variable durch ein Leerzeichen vom arithmetischen Ausdruck abgetrennt sein. 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 "inkrementelle Alarme" 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.

Beispiele:

  • [rain0total-sumday=mm:0] - 10
    löst einen Alarm aus, wenn die heutige Regenmenge 10 mm übersteigt. Wenn die Option des "inkrementelle Alarme" aktiviert ist, wird jedes Mal, wenn der Regenfall einen neuen Höchststand jenseits der 10 mm erreicht, ein Alarm ausgelöst. Dies erfolgt, da der Ausdruck keinen echten boolschen Wert liefert, sondern eine Zahl, die jenseits von 10 mm Regenfall einen Wert größer Null liefert und somit als "wahr" interpretiert wird. Weiteres Ansteigen des Wertes führt in diesem Modus zu erneuter Alarmauslösung und somit zu Folgealarmen, ohne dass der Alarm vorher durch ein anderes Ereignis zurückgesetzt werden muss.
  • [wind0wind-act=kmh.1:0] > 20 && ([wind0dir-act:180] >= 315 || [wind0dir-act:180] <= 45)
    löst einen Alarm aus, wenn die nicht gemittelte Windgeschwindigkeit über 20 km/h steigt und die Windrichtung ungefähr Nord ist(NW-NNW-N-NNO-NO).

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. Der E-mail-Text darf nicht länger als 4000 Zeichen sein.

Event7de.png

Im vorangegangenen Beispiel wird eine E-Mail mit einem Betreff ähnlich "Wetter um 11:23" und einem Nachrichtentext ähnlich der folgenden Zeilen versendet.

Temp 12.3°C
Boe 6.7kmh

SMS Ereignis

Bei der Definition eines SMS-Ereignisses muss das Nachrichtenfeld gefüllt werden. Der Nachrichtentext darf keine doppelten Anführungszeichen (") enthalten, einfache Anführungszeichen (') sind erlaubt.

Smsevent.png

Im vorangegangenen Beispiel wird mittags eine SMS an den Empfänger gesendet, die die aktuelle Temperatur in Grad Celsius enthält. Dabei ist zu beachten,d ass die Telefonnummer die Landeskennung (1 für USA) allerdings ohne vorangestellte "0" oder "+" enthält.

FTP Ereignis

Die zum Hochladen per FTP bestimmten Daten können wegen der zu geringen Speicherkapazität nicht permantent auf der Meteobridge gespeichert 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 ist erforderlich, um dann bei der Ereignisauslösung die Wetterdaten in dieses geladene Template einzusetzen. Um das gefüllte Template auf dem FTP-Server speichern zu können sind die Eingaben eines Dateipfades und -namens erforderlich.

FTP Instrumententafel Beispiel

Event8de.png

Das obige Beispiel verwendet eine vordefinierte HTML-Datei und füllt dieses Template alle 10 Minuten ,it aktuellen Wetterdaten und lädt die Datei dann unter dem Dateipfad- und namen "/public_html/dashboard.html" auf den angegebenen FTP-Server. Die Datei "dashboard.html" ist eine einfache HTML-Datei mit einigen enthaltenen Meteobridge Wetter-Variablen. Wenn man sich die mit Daten gefüllte Datei "dashboard.html" mit einem Browser ansieht, wir sie etwa wie folgt aussehen:

Mydash.png

Details über die Verwendung von Variablen in Templates finden sind in der Templates Sektion dieses Wikis. Im anhängenden Quellkode dieses Templates, das die Verwendung von Variablen illustrieren soll, wurden lediglich die CSS-Styles der einfacheren Lesbarkeit halber weggelassen:

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

Event13de.png

Saratoga Template-Upload

Meteobridge kann die bekannten Saratoga-Templates bedienen, die einfach auf einer Homepage zu installieren sind und umfangreich und übersichtlich über die Wettersituation Auskunft geben. Wie die Installation genau vorzunehmen ist und Meteobridge eingerichtet werden muss ist detailliert hier beschrieben.

Wenn die Wetterseite mit den Saratoga-Templates aufgesetzt ist, wird sie in etwa so aussehen:

Saratoga.png

FTP Kamera Ereignis

Wenn Meteobridge Bilder einer Webcam oder einer Ubiquiti AirCam verwendet, können diese ebenfalls per FTP hochgeladen werden. Um Speicherung von Serienbildern zu ermöglichen, können Datums- und Zeitinformationen in den Pfad- und Dateinamen entsprechend der GNU C "strftime"-Syntax eingebaut werden.

Event9de.png

Das vorangegangene Beispiel speichert alle 10 Minuten ein Webcam-Bild und gibt diesem einen Dateinamen, der das aktuelle Datum und die aktuelle Zeit beinhaltet, wie z.B. "2014-06-23_12:34_weatherpic.jpg". Detail zur "strftime"-Syntax finden sich hier.

HTTP Ereignis

Meteobridge kann HTTP GET Anfragen senden, die Wetterdaten als URL-Parameter enthalten. Dieses kann beispielsweise zur Speisung individueller Wetternetzwerke verwendet werden. Neben der notwendigen URL kann optional auch eine Erfolgszeichenkette angegeben werden. Diese zeichenkette vergleicht Meteobridge mit der Antwort, die der Server auf die gesendete HTTP-Anfrage zurückgibt.

  • Wenn die Erfolgszeichenkette leer ist, wird die Antwort des Servers nicth ausgewertet.
  • Wenn die Erfolgszeichenkette nicht leer ist, wird geprüft, ob diese Seichenkette in der Antwort des Servers entahlten ist. Falls ja, wird die Übertragung als erfolgreich betrachtet.
  • Wenn die Erfolgszeichenkette mit einem Ausrufezeichen "!" beginnt, wird die Übertragung als erfolgreich angeshenen, wenn der Rest der Zeichenkette nicht in der Antwort des Servers enthalten ist.

Event10de.png

Im obigen Beispiel sendet Meteobridge die aktuelle Windgeschwindigkeit alle 15 Sekunden an den angebenen Server und betrachtet die Übertragung als erfolgreich, wenn die Antwort des Servers nicht die Zeichkette "Error" enthält.

MYSQL Ereignis

Meteobridge kann Anfragen an MYSQL Datenbanken senden und somit die Speicherung von live Daten in eine reguläre datenbank unterstützen. Das Pflichtfeld "Anfrage" enthält das auszuführende MYSQL-Kommando, welches typischer Weise ein parametriertes "INSERT" zum Einfügen von Datensätzen in eine Tabelle der Datenbank sein wird.

Event11de.png

Das Beispiel fügt die aktuelle Temperatur und die gemittelte Windgeschwindigkeit alle 10 Minuten in die Tabelle "upload" der angeschlossenen MYSQL-Datenbank ein.

Skriptausführungsereignis

Meteoridge kann Shell-Skripte voneiner URL laden und ausführen. Wenn ein neues Ereignis dieses Typs definiert wird, bitte zunächst die URL eingeben, unter der das Skipt gespeichert ist, und die Taste "Skript Laden" drücken. Das Parametereingabefeld ist optional und kann leer gelassen werden, wenn das Skript keine weiteren Aufrufparameter benötigt. Meteobridge betrachtet die erste Zeile des Skriptes, die mit der Zeichenkette "###" beginnt, als Kurzdokumentation des Skriptes und zeigt diese in der Ereignisdefinition als Informationstext an.

Event12de.png

Die obigen Einstellungen führen das unter "http://templates.meteobridge.com/reboot.sh" im Internet abgelegte Skript jeden Tag um 23:45 aus. Es werden keine weiteren Parameter an das Script übergeben. Das Skript enthält eine Dokumentationszeile, die im Skript durch drei vorangestellte "#" gekennzeichnet ist. Das Beispielskript führt einen Reboot der Meteobridge aus.

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

Enhancements for Meteobridge PRO

Meteobridge PRO adds three functions to it. One is about automated backups of stored sensors data the other is about controlling the display in the front panel and the third allows to schedule data exports.

Automated Backups

Meteobridge PRO adds a backup script to the selection of shell scripts to be started on certain conditions. When triggered, this backup script looks for a connected USB drive (with a FAT or EXT3 filesystem) and copies the current database containing all stored sensor data to the USB drive. Copied file has a date/time stamp in the file name. When storage is getting low on the USB stick, the oldest backups will be deleted in order to be able to store new backups. This mechanism allows you to have an external USB stick constantly connected to the Meteobridge PRO and to schedule daily backups onto that, without worrying if USB stick gets filled up over time. While backup script is executed, logging of new data is halted (queued up). Script name in drop-down list is "backup".

Page6backup.png


Display Content

When Meteobridge PRO was given a display on the front panel the idea was not just to show some predefined sets of data there, but to give the user maximum freedom to display an kind of sensor data on it. We did not jump into this for providing graphs and curves on the display, as it is on 0.96" in diagonal, but what we did is providing mechanisms for providing textual data.

The core framework used for this is Google's u8g project which has been ported interpret commands given in a description language. Before we dig into details, please have a loo at the 3 predefined display options:

Event14.png

The first one reports wind/outdoor/indoor/rain/system data with swapping screen in ISO units, while the second one does the same with imperial units. Flow of screens is as follows:

Oled-INDOOR.png Oled-OUTDOOR.png Oled-WIND.png Oled-RAIN.png Oled-POWER.png Oled-SYSTEM.png

In a nutshell the declaration that produces these screens is given in the "message" field in terms of a template, where Meteobridge fills in the current sensor data as it does with templates used for emails, twitter, etc. How this works is described in a separate chapter called "Meteobridge PRO Display".

Scheduled Data Exports

Meteobridge PRO allows to automate the generation of data exports. How data exports work and how the used templates look like is explained in PRO_History section.

Page6c.png

Data export service can be easily defined by setting three parameters.

  • Time Frame specifies when data export should be done. Possible values are shown the example above. Doing data export more frequently than every hour is not supported to keep system load in reasonable bounds.
  • Resolution allows to pick the granularity used for data export. Values can be "minute", "hour", "month", "year". All combinations of time frames and resolution are allowed. Only exception is the combination "year - minute" which cannot be selected as it would result into a too large export file.
  • Template presents you all the available data export templates (files with extension ".exp") stored in PC network share "templates".

When data export is executed a line in the message list (on "System" tab) will appear that reports about the data export and how many lines of export data have been generated. Example below generates on every new day the data from the day before in a resolution of one minute using template "standard-iso.exp".

Page6d.png

Storing Templates Locally

Meteobridge PRO allows to hold templates and other data used by services on the USB store, which you can access as a PC network folder (SMB share). The table below explains in which sub folders of the SMB share Meteobridge PRO expects to find data for various services and file extensions expected from Meteobridge PRO. Files having right extension and residing in the correct sub folder will be presented in drop-down lists on Meteobrodge PROs services tab. This is the mapping of services, sub folders and file extensions.

Service Sub Folder File Extension Comment
Display templates .dsp subject to template expansion, "\n" strings used in inline template definition are represented as standard line feeds in the template file. Double quoted "\\n" strings in the inline definition are represented as single quoted "\n" strings in the file.
FTP export .txt generated exports are uploaded without further processing
FTP templates .txt .html subject to template expansion
Email templates .mail subject to template expansion
HTTP templates .url subject to template expansion
Script scripts .sh scripts are executed without further pre-processing
Export templates .exp subject to special template expansion for export file generation
MYSQL -- -- can use inline templates only
Twitter -- -- can use inline templates only