From Firmware 2.1.7, push notification support has been added, by using IFTTT (If-This-Then-That). To do so, you need to obtain an IFTTT Maker (Update: this is now named Webhook) channel key, set up an applet (previously called recipe), and select IFTTT events that you want to receive notifications for.



Step 1. Create an IFTTT account and obtain your IFTTT Key

Either use the IFTTT mobile app, or go to the IFTTT website, log in using your existing account, or sign up for a new account. Click ‘Explore’ and type in ‘Webhooks’ in the search box, then click on Webhooks once it's found. Next, click on 'Documentation'. This will open a new page that shows your IFTTT key. Copy and paste this key to OpenSprinkler’s IFTTT key setting. See below for screenshots.



Step 2. Create an IFTTT Applet
The idea of IFTTT is that you can connect a trigger (this) with an action (that). For example, if Webhooks is selected as the trigger, then every time it receives a message from OpenSprinkler, it can trigger an action, such as send a text message to my phone, send an email to your email address, or send a push notification to your IFTTT mobile app. Such a trigger-action combination is called an Applet.


To create an applet, you can either do so in a web browser bu logging into your IFTTT account, or create it on your mobile phone using the IFTTT mobile app. Below is an example for creating the applet using the IFTTT mobile app.

  • Click the 'Create'.
  • For trigger service (this), search and select ‘Webhooks’. Then select 'Receive a web request'.
  • Next set sprinkler as the ‘Event Name’ of the web request. The OpenSprinkler firmware send a web request using sprinkler as the default even name. Click 'Create Trigger' to complete the setup of trigger.
  • For action (that), search and select a desired notification method, such as ‘SMS’, or ‘email’. You can shorten the message body suitably, but keep Value1 in the content as the firmware uses this variable to pass notification content / messages. If you don't see Value1, click the 'Add Ingredient' button and it should appear in the list for selection. You can modify the message body later to suit your need. 

See below for screenshots.


Step 3. Set IFTTT key in OpenSprinkler and select events:
Go back to the OpenSprinkler app / UI, Edit Options -> Integration. Copy and paste your IFTTT key there.
Then, click ‘IFTTT Events’. The following events are supported:
  • Program Start: triggered when a program is scheduled.
  • Sensor1 Update: triggered when sensor 1 is enabled and the status changes (or rain delay status changes).
  • Sensor2 Update: similar to the above for sensor 2.
  • Flow Sensor Update: triggered when flow sensor is enabled and upon the completion of a program.
  • Weather Update: triggered when there is weather update (i.e. water level has changed) or external IP changes.
  • Controller Reboot: triggered when the controller is rebooted.
  • Station Run: triggered when a station finishes running. (NOTE: this is likely to generate a large number of notifications, so enable this at your own discretion).
  • Rain Delay Update: triggered when there is a change in the rain delay setting.
Note: notifications that are sent too close in time may be dropped. For example, if multiple notifications were sent within a couple of seconds, it’s likely that only the last one will appear while the other messages will be dropped. Also, the firmware needs to send a web request every time it sends an IFTTT notification, and sending a web request can take several seconds to up to 15 seconds, so if 'Program Start' event is selected, it can have an impact on the actual running time of the first zone in the program.


From firmware 2.2.0(1) OpenSprinkler also supports settings a custom device name to be included in IFTTT notifications. This option, called 'Device Name' is under IFTTT Events.