Notify Action
The Notify action sends a notification using an available, configured notification method.
Each notification method has its own requirements and limitations; see below.
All notification methods support an expression as the message to be sent. This is done by placing the expression within ${{ }}
. For example, a message that inserts the expression variable humidity
might look like this: ${{ "The current humidity is " + humidity + "%" }}
. Notice that the expression is entirely surrounded by the curly braces. The form The current humidity is ${{humidity}}%
is incorrect and will not work. Any valid expression may be used, and all operators and functions are available. For example, if you have temperature in degrees-C but you want your message in degrees-F, you can use ${{ "The temperature is " + ( temp * 1.8 + 32 ) + "F" }}
.
Notification Methods
The following notification methods are currently supported:
Alert
The Alert method puts up a notification on the Reactor Status page. Profiles are not supported for this method.
SMTP Mail
The SMTP Mail method sends a SMTP (Simple Mail Transfer Protocol) message. A message and list of recipients must optionally be specified. Email addresses specified with this method must be in the form someone@domain
or Name <someone@domain>
and may not contain commas, even if quotes are used (e.g. "Lastname, Firstname" <someone@domain>
is not acceptable).
The recipient, subject, and message body all allow expression references using the usual ${{ expression }}
syntax.
Before using this method, you must configure at least one profile with an outbound mail server. In the configuration file notification.yaml
, you'll find an SMTP
section. This section contains the various settings that you may need to configure your SMTP server. By default, an SMTP MTA running on the same system as Reactor (aka localhost
) will be used, unless you modify the configuration to do otherwise. The configuration details are documented in the configuration file. Please note that any passwords needed are stored in plain text in the configuration file.
Prowl
The Prowl method sends the requested message to the Prowl servers. Setup of an API key is a prerequisite to using this method. An API key can be sourced from the Prowl service by registering for an account at https://www.prowlapp.com/ and then creating an API key at https://prowlapp.com/api_settings.php. Note that the storage of the API key is not secure (plain text in the config file).
You can configure the API key in the Prowl
section of the notification.yaml
file.
Pushover
The Pushover method sends notifications through the Pushover service. You must register for an account on their web site or through one of their mobile apps. This will give you a user key (shown on the landing page when you log in), and then you can register an application to get an API token. These data can then be added to a Pushover
profile in notification.yaml
configuration file.
Info
Pushover is a paid service. It offers a limited trial period. See their site for current pricing (as of this writing, it's one-time US$4.99 per client/endpoint).
Attention
As of this writing, the "Emergency (2)" priority level verifiably does not work on Android, and apparently not on iOS either. This is a bug and/or limitation of the Pushover service (and iOS). It is therefore not displayed as an available priority level.
Syslog
The Syslog method sends the message in a Syslog UDP datagram to a server (target port 514). The IP address of the server must be specified. Configuration of this method is done via the Syslog
section of the notification.yaml
configuration file.
Syslog messages may contain expression variable references using the usual ${{variableName}}
syntax.
Any error that occurs in communication with the Syslog server will be logged to the reactor.log
file, although these will be minimal because UDP does not guarantee delivery. Please look in the log for messages before posting "it doesn't work" messages on the community forums. The author will not provide diagnostic support for your network or Syslog server.
Telegram
The Telegram method sends a message using the Telegram Bot API. The message text may contain expression variable references using the usual ${{variableName}}
syntax. Errors are logged to the reactor.log
file.
This notifier supports three basic formatting options for messages: plain text, Markdown (V2), and HTML. If you send messages using the Markdown or HTML format options, your message text must follow the rules for that format, including escaping of special characters, etc. Refer to the Telegram API documentation for specifics.
Updated 2021-Aug-09