Add-On Services
Meteobridge provides some additional services, which might be interesting, when you also want to use received data with your own postprocessing IT. Live data can be derived in two ways. Meteobridge client can be asked by a HTTP request to return data (pull mode) or can send data as HTTP-GET requests with user-defined URL parameters to a user-defined Internet address (push mode).
Pull Mode
Web server of Meteobridge client, which presents web interface for adminstration to you, can also deliver weather data. There are two URLs defined that can be polled to get most recent sensor data in XML or plain text. Although we don't recommend this for security reasons, you can make that URLs accessible from the Internet by configuring your router appropriately. However, when you want to bring sensor data to one of your own servers in the Internet we recommend to make use of Meteobridge's push mode, which will not need you to open up your firewall.
Live Data as XML
By sending the meteobridge a HTTP request like "http://ip-of-meteobridge/cgi-bin/livedataxml.cgi" (where "ip-of-meteobridge" must be replaced by the IP itself) meteobridge returns current weather data in XML notation. Each reply starts witch tag <logger> and ends with </logger> with the sensor data as records with sensor specific tags "THB", "TH", "WIND", "RAIN", "UV", "SOLAR". Example below illustrates the XML format:
<logger> <THB date="20121227224318" id="thb0" temp="26.0" hum="37" dew="10.2" press="1008.8" seapress="1010.1" fc="2"/> <TH date="20130104141909" id="th0" temp="9.1" hum="95" dew="8.3"/> <RAIN date="20130104141856" id="rain0" rate="0.0" total="3.0" delta="0.0"/> <WIND date="20130104141916" id="wind0" dir="109" gust="0.9" wind="2.2" chill="9.1"/> </logger>
Each sensor data record has a mandatory "date" and "id" parameter. The other parameters are sensor specific. Meaning of parameters is:
- date: UTC timestamp of reception of sensor data in format "YYYYMMDDhhmmss"
- id: Unique ID of sensor, consists of a sensor type description shortcut followed by a number, which is always "0" in Meteobridge, as additional sensors are not supported
- temp: temperature in degrees Celsius (with one decimal)
- hum: relative humidity in percent (no decimals)
- dew: dew point temperature in degrees Celsius (with one decimal)
- press: station pressure (without altitude correction) in hPa (with one decimal)
- seapress: normalized pressure with altitude correction (also called sea level pressure) in hPa (with one decimal)
- fc: stations forecast code, if provided. As this has low evidence and also largely varies between stations, meteobridge does not recommend to make use of this data.
- rate: measured rain rate in mm per hour (with one decimal).
- total: current value of rain bucket counter, converted to mm (with one decimal).
- delta: additional rain fall in mm since previous readout of this data (with one decimal).
- wind: current average wind speed im m/s (with one decimal).
- gust: curent not avergaed wind speed in m/s (with one decimal).
- dir: wind direction in degrees (0-359, no decimals).
- chill: wind chill temperature in degrees Celsius (with one decimal).
- more to come...
Live Data as Plain Text
By sending the meteobridge a HTTP request like "http://ip-of-meteobridge/cgi-bin/livedata.cgi" (where "ip-of-meteobridge" must be replaced by the IP itself) meteobridge returns current weather data as plain text. Each reply consists of a series of lines, where each line represnets a sensor. Lines do start with a time stamp and a unique sensor id followed by sensor specific parameters. Example below illustrates the format:
20130104142614 thb0 26.9 38 11.4 1020.4 1021.7 2 20130104142610 rain0 0.0 3.0 0.0 20130104142636 th0 9.1 95 8.3 20130104142652 wind0 160 2.2 1.8 8.0
Push Mode
When you select expert mode at the bottom of "Upload Data" tab, you will see an additional entry that allows you to send sensor data to a user-defined server. 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.
Upload schedule is defined to every 5 seconds. URL spcifies server address, where to deliver the 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. Each variable starts with an opening square bracket "[" and is terminated by a closing square bracket "]". Sthe structure auf the variable name between these brackets is as follows "sensor-type.decimals:replacement". "decimals" and "replacement" can be omitted, "sensor" and "type" are mandatory.
Sensors
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.
- max2, max5, max10, max15, max30, max60: selects the maximum value from the last 2, 5, 10, 15, 30 or 60 minutes
- min2, min5, min10, min15, min30, min60: selects the minimum value from the last 2, 5, 10, 15, 30 or 60 minutes
- avr2, avr5, avr10, avr15, avr30, avr60: selects average value from the last 2, 5, 10, 15, 30 or 60 minutes
- sum2, sum5, sum10, sum15, sum30, sum60: selects summerized delta values from the last 2, 5, 10, 15, 30 or 60 minutes (usefull to get amount of total rain in a certain time frame.