Push Services

From Meteobridge Wiki
Revision as of 14:50, 9 May 2025 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


Meteobridge provides "push services" which can distribute weather information via email, HTTP requests, FTP/SFTP uploads, mysql queries or by invoking a user defined script. All these services can be triggered by certain alarm conditions, at a certain time of the day or in periodic intervals ranging from a few seconds to minutes or hours.

Configuring push services is done in two steps. First available services are determined and then these services are used by distinct events.


Service Settings

On this tab you define the services you will later use on "events" tab.

E-mail

Meteobridge can send customized e-mails. To get this service initialized you have to work through the following settings:

  • Authentication: This drop-down box allows you to define the authentication mode used with the SMTP server. You can choose between:
    • none: This setting does not send any authentication information to the SMTP server. Only servers in closed LANs will provide that (if at all).
    • basic: Old-fashioned user name and password authentication, without SSL encryption
    • tls: authentication with SSL encryption (a variant not used very often)
    • starttls: standard authentication with SSL encryption (most often used)
  • SMTP Host: specifies the IP or name of the SMTP server to use.
  • Port: port number where SMTP server listens for mails (standard ports are 25 for non-SSL and 587 for SSL communication)
  • User: user name to be used for authentication
  • Password: password to be used
  • To-Addr.: E-mail address of the recipient. Can be multiple e-mail addresses separated by comma.
  • 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)


Pressing the "Test Email" button sends an e-mail with subject "Meteobridge Test" to the given address. If sending the mail does not work, an error message will pop-up, trying to explain what went wrong. When you find the email in your inbox, email service has been setup fine.

MYSQL

When you prefer to store your weather station's data in your own MYSQL database, Meteobridge can feed sensor data to it in a very easy way. In order to support MYSQL queries some generic data must be specified.

  • Host: server name or IP of server (when DNS can't resolve 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: password for user name.

Heavily resource limited Meteobridge installs on router platforms, do strip the large mysql libs when mysql service is not defined and not used by events. In that case Meteobridge removes the mysql libraries during boot. This is indicated by the orange "inactive" sticker. You can still define the mysql server credentials, but it will need an event definition making use of mysql saved and then you have Meteobridge rebooted to get the mysql libraries ready for operation.

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.

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.

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.

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.

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/SFTP Uploads

Meteobridge allows you define a FTP/SFTP server that can be bu used for uploading files. Per default Meteobridge just handles one FTP/SFTP server, but you can define distinct directories and file names for each upload event later on. Setup of generic FTP/SFTP upload credentials is done as follows:

  • Host: server name or IP of server (when DNS can't resolve the name)
  • Port: port number where to reach FTP/SFTP process on your server
  • User: user name to be used for FTP/SFTP upload
  • Password: password to be used for FTP/SFTP upload

In order to check if FTP/SFTP credentials do work, you can press "Test Upload" button. Meteobridge will upload a file named "test-upload" with current time stamp as content to your FTP/SFTP server. File will be located at directory that is default when doing FTP/SFTP login. When you want to test upload to different directories you can specify an path in "Test Path" field. This path is used for test uploads only. Picture above shows notification about a successful SFTP upload after having pressed "Test SFTP" button.

Caveats: While SFTP (FTP via SSH) is supported by Meteobridge, FTPS (FTP in a TLS envelope) is not supported. As older Meteobridge installs (especially on router platforms) can't handle up-to-date SSH cyphers and encryptions the Meteobridge server can be used to help out. We call this Proxy-SFTP. In this mode the SFTP request is translated into a HTTPS request, which is sent to the Meteobridge server. The Meteobridge server (which has all the current encryptions and cyphers on board) then does the SFTP call on behalf of your Meteobridge and returns the result to your Meteobridge. From a security standpoint the whole transaction cannot be listened to as it is within a HTTPS session, but the Meteobridge server does of course see all the raw data. If this concerns you, please do not make use of Proxy-SFTP.

When you want to upload data to another FTP server, you can use a fully qualified URL-like FTP notation in the "Path" field. Format of the FTP URI has to be: ftp://user:password@host:port/path.

Please notice that none of the elements is allowed to miss. Example:
ftp://johndoe:mysecret@ftp.server.com:21/public_html/index.html or
sftp://johndoe:mysecret@ftp.server.com:22/public_html/index.html or
proxysftp://johndoe:mysecret@ftp.server.com:22/public_html/index.html in case of SFTP or Proxy-SFTP uploads.

Definition Of Events

Meteobridge allows you to define up to 80 events that make use of push services. You have defined events listed at the top of the tab.

Adding an event is extremely easy. Just pull down the "Select Service" selector and choose the service type you want to use.

Next choose the type of event you want to define and then you press "Add Service Event" button.

Having done that a new service event will be added to the list of events and you can specify details of this specific event. Each event definition consists of a section where the trigger conditions are specified and a section that defines the payload the event is expected to transport via the service underneath.

When an event has been defined it shows an event number on the top left (here "#01"). When you click on this, you can select if the event should be turned off (can be turned on again later by same menu) or deleted. That way you can manage the list of active events. Turned off events are greyed out and do not allow to be changed. "Test" button allows you to manually trigger the event. This way you can test your event definition and don't have to wait until the defined trigger conditions come true.

As with weather networks you can inspect on "Monitoring - Upload Status" tab if the last triggered event did succeed. Clicking onto the check mark next to the service lists a history of event invocations and you can see if event invocations were successful or failed for some reason. Below you see that the latest "Sent E-Mail" event was successfully executed at 13:33:24.

Event Types

There are four event types to choose from. Those can be applied to all push services Meteobridge provides.

Periodical

When you have added an event of type "periodical" you have the list of options shown on the left when to trigger the event. This allows you to define the interval the event will be triggered. For some services it goes down to every 5 seconds and for the rest it is in the range of minutes up to hours. You simply select the repeating interval by a drop-down list. Periodical trigger conditions can be grouped in 4 categories

  • every X minutes, every x hours, once a day, every second day, weekly: These triggers don't fire on a defined point in time but evaluate who long the Meteobridge is online and fire a trigger, when to specified amount of time has passed.
  • every full X minutes, after/before Xth full hour: Meteobridge aligns the repeating trigger to certain points in time.
  • after/before new day or certain day of week starts, after/before new month/year starts: triggers are aligned to a days's, month's or year's start/end

Specific Time

Specific time allows to define a point in time, when the event is triggered. Trigger will be fired each day at the given time. You can select from a list of predefined times in 15 minute intervals.

Triggered by Event

There are situations where is is needed to trigger an event when another event has been completed. The most obvious example is when you are generating weather charts by a periodical schedule and when the chart has been generated you want to upload the chart to your server. Here you need two events. First one generates the cart, second one uploads chart to server. In order to be able to trigger the second event by having the first completed event tape "triggered by event" has been introduced.

When adding the second event with "triggered by event" mode you are asked to select the event that should trigger this event. Meteobridge provides a list of defined events and you simply select from these. There is also an option "Triggered by new data" which will trigger the event each time new data from weather station comes in.

Alarm Conditions

While previous event types use triggers that don' correlate to certain weather conditions, the "alarm condition" event trigger react on certain weather data values.

One-Time Alarm

Example "#02" above defines an alarm event of type "One-Time Alarm" with raise and clear condition.

If a "raise condition" is satisfied, the related event will be triggered. To trigger the event again, it needs the "clear condition" to be satisfied first. The idea behind that is to suppress a large amount of follow-on event invocations on an event already given attention to. In the example "#02" above, the raise condition is set to "outdoor temperature at 0°C or lower" and clear condition is set to "outdoor temperature above 0°C". As a result an email will be sent once the temperature drops to zero (or below). To get a second email on this temperature needs to raise above zero first to clear the alarm.

Raise and Clear input fields hold numerical expressions that include weather data information. Condition is true when expression evaluates to a value above 0 and is regarded false if it is a value of zero or below.

  • Raise Condition: defines the condition to be met in order to fire an alarm. Once an alarm is fired, it will not be fired again until the alarm is cleared again. Details on condition statements are explained in "conditions" subsection below.
  • Clear Condition: defines the condition to be met to clear a fired alarm. Details on condition statements are explained in "Alarm Conditions" subsection below.

Incremental Alarms

Exampel "#01" above defines an incremental alarm event. This alarm type allows for multiple alarm invocations without having the clear event to be fulfilled first. This allows to trigger an alarm again, if the value that has triggered the alarm has become even larger (and by that potentially more concerning) as before.

  • Raise condition is current wind speed in km/h subtracted by 40. Result will be at or below zero (which is considered "false") until wind speed exceeds 40 km/h. Therefore, a gust of over 40 km/h will trigger the event and will send a warning email. When the next gust shows up with 45 km/h the numerical evaluation shows a larger value than before and the email containing the new gust data is sent again. When after that a gust of 42 km/h is detected no new email will be sent as the history of numerical evaluations already provides a bigger number.
  • Clear condition is met when the wind has decreased in a way that average wind speed of last 10 minutes was below 10 km/h.

Condition Expression

Condition expressions in Raise and Clear fileds can make use multiple operators and also allow for brackets. Weather data can be used in terms of Meteobridge variables as explained in Templates section. Variables areenclosed by square brackets, like [th0temp-act=F.0:0]. Defined operators are:

operators in increasing precedence (from top to bottom)
Operator / Function Description
&&, ||, &, | 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", "divide" and "modulus" (which rounds the operands to integers first)
^ arithmetic operator "power"
sqrt(), log(), exp(), sin(), asin(), cos(), acos(), tan(), atan(), atan2(), abs(), fabs(), floor(), ceil(), round() arithmetic functions: square root, logarithm, logarithmic exponent, sinus, arcus sinus, cosinus, arcus cosinus, tangens, arcus tangens, arcus tangens2, absolute, floting point absolut, lower integer, upper integer, rounded integer

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:

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

Event Services

Previous section explained how service events can be started. Now it is time to highlight which generic services Meteobridge provides.


Email

When you define an email event you have to fill the mandatory email body text field. If the optional "Addr.-To" field is left blank, then the email address from the email service definition from the "Service Settings" tab is used as default. Body text field is not allowed to make use double quotes (") but single quotes (') can be used. A maximum of 4000 characters can be used in the email body.

In the example above every hour an email is sent out with a subject like "weather at 11:23" and a body text like shown below. Please notice that the "#" symbol divides subject from body text.

temp 12.3°C
gust 6.7km/h

Meteobridge can also send emails with HTML content. Example below specifies the mail body as

<body><table border="1">
  <tr><td>current temp</td><td>[th0temp-act:--]°C</td></tr>
  <tr><td>min temp</td><td>[th0temp-dmin:--]°C</td></tr>
  <tr><td>max temp</td><td>[th0temp-dmax:--]°C</td></tr>
  </table></body>

Resulting email looks like this:

The "Select Predefined Content for Email" drop-down menu lists pre defined templates from template folder and by other events generated files from export folder. You see an example list of offered files on the right. These can be selected to be the content of the mail. Sending exports or local templates is restricted to Meteobridge PRO, PRO2, NANO SD and RPI becaus it needs local storage.

SMS Event

When you define a SMS event you have the fill the mandatory message text field. Message text field is not allowed to make use double quotes (") but single quotes (') can be used.

In the example above at high noon a SMS is sent out showing the current temperature in degrees Celsius to the given recipient. Please be aware that recipient must be the phone number including the country code (1 for USA) but with out any leading "0" or "+".

FTP/SFTP/Proxy-SFTP Event

Data to be uploaded via one of the three FTP variants supported by Meteobridge can be achieved by service events. There are distinct service events to choose from: "FTP", "SFTP", "Proxy-SFTP". All take the same parameters. When you are on a Meteobridge platform without local storage you have to reference a URL that holds a template Meteobridge can fill with weather data and then upload by one of the FTP services. Meteobridge server provides some example templates to reference to. Once the template URL is specified you have to press "Reload Template" to store the current version of the template into the RAM of the Meteobridge for further use. Beside the URL to the template you also have to define a path that defines to which folder of the FTP server the filled template should be uploaded to.

FTP Dashboard Example

Example above makes use of a pre-defined dashboard html file and fills it every 10 minutes with recent weather data and uploads it as file name "/public_html/dashboard.html" to the specified FTP server. The file "dashboard.html" is a simple HTML file with some Meteobridge weather variables included. When you view "dashboard.html" with your browser it looks like this:

Details of using variables in templates are explained in Templates section. To illustrate that using these variables is quite easy the HTML body part (omitting the CSS styles for formatting it nicely) of the template of above's example is attached below:

<body>
  <table id="table-2">
    <thead><tr><th>Sensor</th>
               <th>Current</th>
               <th>Today (min)</th>
               <th>Today (max)</th></tr></thead>
    <tbody>
      <tr><td>Outdoor Temperature</td>
          <td>[th0temp-act.1:--]° C</td>
          <td>[th0temp-dmin.1:--]° C</td>
          <td>[th0temp-dmax.1:--]° C</td></tr>
      <tr><td>Outdoor Humidity</td>
          <td>[th0hum-act.0:--] %</td>
          <td>[th0hum-dmin.0:--] %</td>
          <td>[th0hum-dmax.0:--] %</td></tr>
      <tr><td>Outdoor Dew Point</td>
          <td>[th0dew-act.1:--]° C</td>
          <td>[th0dew-dmin.1:--]° C</td>
          <td>[th0dew-dmax.1:--]° C</td></tr>
      <tr><td>Wind Chill Temperature</td>
          <td>[wind0chill-act.1:--]° C</td>
          <td>[wind0chill-dmin.1:--]° C</td>
          <td>[wind0chill-dmax.1:--]° C</td></tr>
      <tr><td>Air Pressure</td>
          <td>[thb0seapress-act.1:--] hPa</td>
          <td>[thb0seapress-dmin.1:--] hPa</td>
          <td>[thb0seapress-dmax.1:--] hPa</td></tr>
      <tr><td>Wind Direction</td>
          <td>[wind0dir-act.0:--]°</td>
          <td></td><td></td></tr>
      <tr><td>Wind Speed (averaged)</td>
          <td>[wind0avgwind-act.1:--] m/s</td>
          <td>[wind0avgwind-dmin.1:--] m/s</td>
          <td>[wind0avgwind-dmax.1:--] m/s</td></tr>
      <tr><td>Gust Speed</td>
          <td>[wind0wind-max5.1:--] m/s</td>
          <td>[wind0wind-dmin.1:--] m/s</td>
          <td>[wind0wind-dmax.1:--] m/s</td></tr>
      <tr><td>Rain</td>
          <td>rate: [rain0rate-act.1:--] mm/h</td>
          <td>sum [rain0total-sumday.1:--] mm</td>
          <td></td></tr>
      <tr><td>Solar Radiation</td>
          <td>[sol0rad-act.0:--] W/qm</td>
          <td>[sol0rad-dmin.0:--] W/qm</td>
          <td>[sol0rad-dmax.0:--] W/qm</td></tr>
      <tr><td>UV Index</td>
          <td>[uv0index-act.1:--] uvi</td>
          <td>[uv0index-dmin.1:--] uvi</td>
          <td>[uv0index-dmax.1:--] uvi</td></tr>
    </tbody>
  </table>
</body>

FTP/FTPS on Meteobridge PRO, PRO2, NANO SD, RPI

When your Meteobridge is a PRO, PRO2, NANO SD or RPI then you can also upload charts or export files stored on your Meteobridge. Data folders "Export", "Charts", "Templates" are offered to select data from. Files "export:lastexport" and "charts:lastchart" reference to latest export or chart generated by an export or chart event. When the FTP/SFTP upload event is triggered by a chart or export generation event, these links to the most recent file can be used to avoid a need to know its current name.

Generating exports or charts periodically will fill up the storage of your Meteobridge over time. If your intend is to generate charts and just upload those to your server, it is recommended to delete the files after upload by setting the corresponding checkbox.

Saratoga Template Example

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

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

Camera FTP Upload

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

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

HTTP Event

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

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

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

MYSQL Event

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

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

Script Execution Event

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

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

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

Additional Services on Meteobriodge PRO, PRO2, NANO SD and RPI

Meteobridges with local storage offer some additional services:

  • Automated backups of stored sensors data
  • scheduled data export generation
  • scheduled chart generation
  • OLED display events (Meteobridge PRO and PRO2 only)

Automated Backups

You will find a backup script when browsing too list of shell scripts to be started on certain conditions. When triggered on a Meteobridge PRO this backup script looks for a connected USB stick (with a FAT or EXT3 filesystem) and copies the current database containing all stored sensor data to the USB drive. Triggered on a NANO SD the backup is stored in the "backup" folder of the SD card. On a Meteobridge PRO2 backup can be directed to the internal SD card or to an externally connected USB stick (FAT or EXT3 filesystem).

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

Scheduled Data Exports

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

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

Scheduled Chart generation

Meteobridge PRO and NANO SD allow to generate interactive Javascript charts. How these charts are composed and used is explained in PRO_Graphs section.

Chart generation service can be easily defined by setting three parameters.

  • Time Frame specifies the time frame and resolution (minutes, hours, days) of the data to be used for the chart generation.
  • Language allows to pick from a set of predefined languages to annotate the chart.
  • Template presents you all the available chartt templates (files with extension ".chart" or ".metachart") stored in PC network share "templates".

Scheduled HTML Generation

This service reads a HTML template file from "templates" folder, replaces the template variable in the file by weather data and stores the resulting file at the given name in the "html" folder. Resulting file name can have date/time variables to make it distinct from previously generated files.

Example above takes the "dashboard.html" file from "templates" folder and stores the result as "dashboard-20250509-13:00.html when invoked on May 9, 2025 at 13:00.

OLED Display Events

When Meteobridge PRO and PRO2 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 the 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:

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:

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, etc. How this works is described in a separate chapter called "Meteobridge PRO Display".

Storing Templates Locally

Meteobridges with local storage allow to hold templates and other data used by services on the USB or SD card store, which you can access in your LAN as a PC network folder (SMB share). The table below explains in which sub folders of the SMB share to find data for various services and which file extensions are used. Files having right extension and residing in the correct sub folder will be presented in drop-down lists on the "events" tab. Mapping of services, sub folders and file extensions is as follows:

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/SFTP export charts html generated exports, charts, html files are uploaded without further processing
FTP/SFTP 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, results stored in "export" folder
Chart templates .chart .metachart subject to chart generation, results store in "chartd" folder
HTML templates .txt .html subject to template expansion, mostly for local HTML file generation, results store in "html" folder
MYSQL -- -- can use inline templates only