Difference between pages "Templates" and "Push Services"

From meteoplug
(Difference between pages)
Jump to: navigation, search
(Examples)
 
 
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
Meteobridge provides a very flexible mechanism to smuggle sensor data of different kinds into strings to be used by Meteobrdge push services like Twitter, HTTP GET uploads or MSQL database insert requests.
+
Meteobridge provides some additional "push services", which can distribute weather information to you via email, or to your twitter acoount. When you have email or twitter configured, Meteobridge can send alarms to you when a certain weather condition is met.  
Simply type in the text you want to upload and represent the pieces of sensor data by so called variables. When data gets uploaded, these variables will be replaced by current sensor data and so a string filled with the data you intended will be uploaded.
+
When you have your ohen web server or MYSQL database server running, Meteobridge can also feed these with weather data.  
  
Each variable starts with an opening square bracket "[" and is terminated by a closing square bracket "]". The structure of the variable name between these brackets is as follows: <pre>sensor-selector=converter.decimals:replacement</pre>
+
The following sections will explain how to setup push services in detail. These options are a bit more for the tech-savvy user, but they are not mandatory for Meteobridge's core task, to feed weather data to weather networks. So you can keep that all switched off, when you don't need it.  
"converter", "decimals" and "replacement" can be omitted, "sensor" and "type" are mandatory.
+
While "sensor" tells what sensor and what piece of information of the sensor to use, "selector" decides data from what time period should be taken into account and "converter" does convert data into measurement units the user likes most. "Decimals" decides about precision the result should be shown in and "replacement" gives the string to be returned when there is no data for defined sensor available.
+
  
==Sensors==
+
[[File:page6.png]]
These sensors are defined in Meteobridge.
+
* '''th0temp''': outdoor temperature in degrees Celsius
+
* '''th0hum''': relative outdoor humidity as percentage
+
* '''th0dew''': outdoor dew point in degrees Celsius
+
* '''thb0temp''': indoor temperature in degrees Celsius
+
* '''thb0hum''': indoor humidity as percentage
+
* '''thb0dew''': indoor dewpoint in degrees Celsius
+
* '''thb0press''': station pressure in hPa
+
* '''thb0seapress''': normalized pressure (computed to sea level) in hPa
+
* '''wind0wind''': wind speed in m/s
+
* '''wind0avrwind''': average windspeed in m/s (time used for average depends on station)
+
* '''wind0dir''': wind direction in degress (0° is North)
+
* '''wind0chill''': wind chill temperature in degrees Celsius
+
* '''rain0rate''': rain rate in mm/h
+
* '''rain0total''': rain fall in mm
+
* '''uv0index''': uv index
+
* '''sol0rad''': solar radiation in W/m^2
+
If a sensor is not there or data of sensor has passed the "tolerated data age" interval, Meteobridge will not provide data for it and will present the value defined as "replacement". If no replacement is given, variable will not be converted into data but will stay as is.
+
  
==Selectors==
 
Sensors are followed by a selector (syntactically separated by a dash) that specifies what period in time should be used for evaluation. Valid selectors are:
 
* '''act''': most recent data
 
* '''hmin''': minimum value of this hour
 
* '''hmax''': maximum value of this hour
 
* '''dmin''': minimum value of today
 
* '''dmax''': maximum value of today
 
* '''mmin''': minimum value of this month
 
* '''mmax''': maximum value of this month
 
* '''hmin''': minimum value of this year
 
* '''hmax''': maximum value of this year
 
* '''hmin''': minimum value of all time
 
* '''hmax''': maximum value of all time
 
  
Apart from selectors that use absolute, predefined time slots there are also selectors that look for a certain amount of time into the past.
+
===Twitter Upload===
* '''max2''', '''max5''', '''max10''', '''max15''', '''max30''', '''max60''': selects the maximum value from the last 2, 5, 10, 15, 30 or 60 minutes
+
Meteobridge allows you to send weather data snippets to your twitter account. As twitter requires a bit complicated authentication you will have to run through 6 steps.
* '''min2''', '''min5''', '''min10''', '''min15''', '''min30''', '''min60''': selects the minimum value from the last 2, 5, 10, 15, 30 or 60 minutes
+
* '''avg2''', '''avg5''', '''avg10''', '''avg15''', '''avg30''', '''avg60''': selects average value from the last 2, 5, 10, 15, 30 or 60 minutes
+
* '''sum2''', '''sum5''', '''sum10''', '''sum15''', '''sum30''', '''sum60''', '''sumday''': selects summerized delta values from the last 2, 5, 10, 15, 30, 60 minutes or current day (useful to get amount of total rain in a certain time frame: "rain0total-sum60" is rainfall im mm of last 60 minutes, "rain0total-sumday" is todays rain fall)
+
  
==Converters==
+
<gallery perrow=1 widths=500 heigths=350>
Sensor data is reported in ISO units (°C, hPa, mm, m/s) by default, but can be converted into non-ISO units (imperial) by adding a conversion token. Defined tokens are:
+
File:twitter0.png|1. Press "Request PIN" button.
* '''F''' converts temperature from Celsius to Fahrenheit.
+
File:twitter2.png|2. An additional window will pop-up (please make sure your browser's pop-up blocker does not block it!) where twitter asks you to log-in to your twitter account.  
* '''psi''' converts pressure from hPa (equivalent to mbar) to psi.
+
File:twitter2b.png|3. Please log-in and copy the pin that twitter does present to you.
* '''mmHg''' converts pressure from hPa to millimeters of mercury.
+
File:twitter4.png|4. Switch back to Meteobridge page and Insert pin into input field next to "Activate PIN" button and press this button.
* '''inHg''' converts pressure from hPa to inches of mercury.
+
File:twitter3.png|5. Finally, insert message text that Meteobridge should tweet and set upload interval and retry count and press save to make these settings permanent. If Authentification with twitter does fail, you can start process with pressing "Request new PIN" from the start.  
* '''kmh''' converts wind speed from meters per second to kilometers per hour.
+
File:twitter5.png|6. To fill message text with weather data and/or a timestamp, you can make use of Meteobridge variables as explained in [[Templates]] section. Example above is a result of this message text: <font face="Courier"><span style="background-color:lightgrey;">[hh]:[mm]h Outdoor temp: [th0temp-act=F.1:--]°F </span></font face>
* '''mph''' converts wind speed from meters per second to miles per hour.
+
</gallery>
* '''kn''' converts wind speed from meters per second to knots.
+
* '''bft''' converts wind speed from meters per second to Beaufort scale.
+
* '''in''' converts millimeters to inches.
+
If an unknown conversion string is used, no conversion will take place, no error message will appear.
+
  
==Special Variables==
+
===Individual HTTP Upload===
There are a couple of variables that don't come as "sensor-selector=converter" chains but have a distinct meaning by themselves.
+
Data will be sent as HTTP GET requests with URL parmeters you can define to your liking. Parameters of a URL consist of name-value pairs seperated by '&'. You can define names yourself and can use a certain set of variables provided by Meteobridge to be used as values. Variable names will be automatically replaced by their current values, each time a HTTP request is sent. Please have a look at the example below.
  
Date und time variables are defined as follows:
 
* '''YYYY''': year as four digit number
 
* '''YY''': year as two digit number
 
* '''MM''': month as two digit number, if only one digit neede a zero will be used as first digit
 
* '''M''': month as one or two digit number, no leading zeros
 
* '''DD''': day of month as two digit number, if only one digit neede a zero will be used as first digit
 
* '''D''': day of month as one or two digit number, no leading zeros
 
* '''hh''': hour as two digit number, if only one digit neede a zero will be used as first digit
 
* '''h''': hour as one or two digit number, no leading zeros
 
* '''mm''': minute as two digit number, if only one digit neede a zero will be used as first digit
 
* '''m''': minute as one or two digit number, no leading zeros
 
* '''ss''': seconds as two digit number, if only one digit neede a zero will be used as first digit
 
* '''s''': seconds as one or two digit number, no leading zeros
 
When a capital "U" preceeds a date/time variable name, UTC is used instead of local time ("[Uhh]:[Umm]:[Uss] UTC" is evaluated to a string like "16:03:33 UTC")
 
  
==Decimals==
+
[[file:http-upload.png]]
Unless otherwise defined numbers are reported with one decimal. By specifying a value for "decimals" you can determine resolution of presented values.
+
  
==Replacement==
 
When a variable is not defined or there is no data for a specified sensor, information specified as "replacement" string will be represented instead.
 
  
==Examples==
+
Upload schedule is defined to every 10 seconds. URL specifies server address, where to deliver data ("http://myserver.com/upload.php" in the example above). "Success Condition" allows to specify a matching string which is compared to to the return message from the server to decide if upload was successful or not.
Having a look at examples usually helps to understand how easy that is.
+
  
# Template <font face="Courier"><span style="background-color:lightgrey;">Outdoor temperature is [th0temp-act=F.1:--]°F</span></font face> will be converted into <font face="Courier"><span style="background-color:lightgrey;">Outdoor temperature is 3.4°F</span></font face> when there is outdoor temp data and into <font face="Courier"><span style="background-color:lightgrey;">Outdoor temperature is --°F</span></font face> if outdoor temp sensor does not provide recent data.
+
Weather data is transported to the server by means of URL parameters. Meteobridge provides a large set of variables that can be used to feed URL parameters with current sensor data. Section [[Templates]] will explain how to use these variables to fill URL parameters with recent sensor data.
# Template <font face="Courier"><span style="background-color:lightgrey;">Local time is [hh]:[mm]</span></font face> will be converted into <font face="Courier"><span style="background-color:lightgrey;">09:27</span></font face>.
+
 
# Template <font face="Courier"><span style="background-color:lightgrey;">Max gust in last 10 minutes was: [wind0wind-max10.1:--]m/s, [wind0wind-max10=mph.1:--]mph, [wind0wind-max10=kn.0:--]kn</span></font face> will be converted into <font face="Courier"><span style="background-color:lightgrey;">Max gust in last 10 minutes was: 10.5m/s, 23.5mph, 20kn</span></font face>.
+
===Individual MYSQL Uploads===
 +
When you prefre to store your weather station's data in your own MYSQL database, Meteobridge can feed sensor data to it in a very easy way. Just state
 +
* '''Host''': server name or IP of server when DNS can' resolv the name
 +
* '''Port''': port number where to reach MYSQL database on your server
 +
* '''Database''': name of database to feed
 +
* '''User''': name of database user to use for data upload
 +
* '''Password''': passwrod for user name.
 +
* '''Query''': payload that should be sent to the database. Query usually contains a MSQL insert statement followed by a table name and a list of column names and values. The query ist subject to template replacement, so you can use Meteobridge variables to upload weather data to your database.
 +
 
 +
 
 +
[[File:mysql.png]]
 +
 
 +
 
 +
Query <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 example above stores actual outdoor temperature to field "temp" of table "upload" of database "test". Field "wind" is filled with current non averaged wind speed in km/h. When temperature or wind data is not there a value of -9999 is stored.
 +
 
 +
Details of using variables in templates is explained in [[Templates]] section.
 +
 
 +
[[file:http-upload.png]]
 +
 
 +
 
 +
Upload schedule is defined to every 10 seconds. URL specifies server address, where to deliver data ("http://myserver.com/upload.php" in the example above). "Success Condition" allows to specify a matching string which is compared to to the return message from the server to decide if upload was successful or not.
 +
 
 +
Weather data is transported to the server by means of URL parameters. Meteobridge provides a large set of variables that can be used to feed URL parameters with current sensor data. Section [[Templates]] will explain how to use these variables to fill URL parameters with recent sensor data.
 +
 
 +
===Individual E-mail Service===
 +
Meteobridge can send you customizable e-mails at certain time intervals. To get this service started you have to work through the following settings
 +
* '''Send interval''': defines how often the e-mail should be sent. If you don't want to send weather data on regular schedule but want to send e-mails just on alarm conditions, set this to "on alarm only". Drop-down box next to this on the right allows you to choose how many e-mail send retries should be done in case e-mail sending does fail. Next drop-down box allows you to defne how authorization of the SMTP server that transports the e-mail into the Internet should be done. You choose between:
 +
** none: This setting does not ive any authentication information to the SMTP server. Only servers in closed LANs will provide that (if at all).
 +
** basic: Old-fashioned user name and password authentication, without SSL encryption
 +
** tls: authentication with SSL encryption (a variant not used very often)
 +
** starttls: standard authentication with SSL encryption (most often used)
 +
* '''SMTP Host''': scifies the IP or name of the SMTP server to use.
 +
* '''Port''': port number where SMTP server listens for mails (standard ports are 25 for non-SSL and 587 for SSL communication)
 +
* '''User''': user name to be used for authentication
 +
* '''User''': name of database user to use for data upload
 +
* '''Password''': password to be used
 +
* '''To-Addr.''': E-mail address of the recipient
 +
* '''From-Addr.''': E-mail address of the sender (many SMTP servers only accept mails with a sender address being in the same domain as the SMTP server itself)
 +
* '''Body''': This contains the text to be sent via email. You can use a '#' sign to separate the subject from the boday of the mail. This string is subject to template replacement and therefore does allow you to use Meteobridge variables inside your e-mail.
 +
 
 +
 
 +
[[File:email0.png]]
 +
 
 +
 
 +
Body <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> in example above generates an e-mail with subject "weather conditions" and a body containing two lines (separated by a line feed character "\n"). First line will report current aoutdoor temperature like "13.4°C" and second line will report max gust speed during last hour like "34.7km/h". Details of using variables in templates is explained in [[Templates]] section.

Revision as of 23:17, 2 February 2013

Meteobridge provides some additional "push services", which can distribute weather information to you via email, or to your twitter acoount. When you have email or twitter configured, Meteobridge can send alarms to you when a certain weather condition is met. When you have your ohen web server or MYSQL database server running, Meteobridge can also feed these with weather data.

The following sections will explain how to setup push services in detail. These options are a bit more for the tech-savvy user, but they are not mandatory for Meteobridge's core task, to feed weather data to weather networks. So you can keep that all switched off, when you don't need it.

Page6.png


Twitter Upload

Meteobridge allows you to send weather data snippets to your twitter account. As twitter requires a bit complicated authentication you will have to run through 6 steps.

Individual HTTP Upload

Data will be sent as HTTP GET requests with URL parmeters you can define to your liking. Parameters of a URL consist of name-value pairs seperated by '&'. You can define names yourself and can use a certain set of variables provided by Meteobridge to be used as values. Variable names will be automatically replaced by their current values, each time a HTTP request is sent. Please have a look at the example below.


Http-upload.png


Upload schedule is defined to every 10 seconds. URL specifies server address, where to deliver data ("http://myserver.com/upload.php" in the example above). "Success Condition" allows to specify a matching string which is compared to to the return message from the server to decide if upload was successful or not.

Weather data is transported to the server by means of URL parameters. Meteobridge provides a large set of variables that can be used to feed URL parameters with current sensor data. Section Templates will explain how to use these variables to fill URL parameters with recent sensor data.

Individual MYSQL Uploads

When you prefre to store your weather station's data in your own MYSQL database, Meteobridge can feed sensor data to it in a very easy way. Just state

  • Host: server name or IP of server when DNS can' resolv the name
  • Port: port number where to reach MYSQL database on your server
  • Database: name of database to feed
  • User: name of database user to use for data upload
  • Password: passwrod for user name.
  • Query: payload that should be sent to the database. Query usually contains a MSQL insert statement followed by a table name and a list of column names and values. The query ist subject to template replacement, so you can use Meteobridge variables to upload weather data to your database.


Mysql.png


Query insert upload (temp, wind) values ([th0temp-act.1:-9999], [wind0wind-act=kmh.1:-9999]) in example above stores actual outdoor temperature to field "temp" of table "upload" of database "test". Field "wind" is filled with current non averaged wind speed in km/h. When temperature or wind data is not there a value of -9999 is stored.

Details of using variables in templates is explained in Templates section.

Http-upload.png


Upload schedule is defined to every 10 seconds. URL specifies server address, where to deliver data ("http://myserver.com/upload.php" in the example above). "Success Condition" allows to specify a matching string which is compared to to the return message from the server to decide if upload was successful or not.

Weather data is transported to the server by means of URL parameters. Meteobridge provides a large set of variables that can be used to feed URL parameters with current sensor data. Section Templates will explain how to use these variables to fill URL parameters with recent sensor data.

Individual E-mail Service

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

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


Email0.png


Body weather conditions#temp [th0temp-act.1:--]°C\n[wind0wind-max60=kmh.1:--]km/h in example above generates an e-mail with subject "weather conditions" and a body containing two lines (separated by a line feed character "\n"). First line will report current aoutdoor temperature like "13.4°C" and second line will report max gust speed during last hour like "34.7km/h". Details of using variables in templates is explained in Templates section.