NOTE: I have updated the community Pushover Driver, with the amazing help of @hubitrep, to avoid throttling issues with the Pushover API. @hubitrep implemented caching of the Pushover Devices and Sounds, which has resolved the throttling (i.e. http 429) errors. Please update your version of this driver to version 1.0.20250317 (or newer) to avoid this issue.
The Pushover Driver is now included as part of the Hubitat Firmware. The Hubitat team included a version of the driver below to simplify the process for setting this up. You do NOT need to add the custom Pushover Driver below. Just be sure your Hubitat hub's firmware is up to date.
UPDATE: IF you want to use some of the enhanced features (since September 2020) of the Pushover driver described below, you will need to use my community driver from my GitHub repository below.
My wife really likes to get a notification whenever the washer or dryer finishes a cycle, and on a busy day, that can mean quite a few messages. I also use notifications to let us know if a door has been left open for too long.
So, based on a tip from @Jonovan.Boutte , I discovered Pushover. I grabbed the ST DTH and cleaned it up a bit for use as a Hubitat Driver. I also simplified it for my needs. One significant addition I made to this version was to add the 'Speech Systhesis' Capability. This allows Rule Machine to 'Speak' a notification via this Pushover Driver. Credit for this idea goes to @mattw! (Note: If you use the 'Speech Synthesis' Capability of this driver, you will still simply get a push notification on your phone/tablet. This driver has nothing to do with Text To Speech (TTS).)
[UPDATE] Rule Machine now has the option to 'Send notification to device(s)?' This is probably the best way to send a request to your Pushover Device(s).
To use this, you'll need a Pushover Account (https://pushover.net) and Mobile App installed on your phones/tablets. You use the same account to sign into the mobile app on all devices. At https://pushover.net, you'll need to 'Create an Application/API Token' which is used to configure the Hubitat Pushover Device's Preferences.
From your account at https://pushover.net
And here is the Pushover Device configuration screen where you will paste in your tokens from your Pushover account.
[Update] I have added an updated screenshot showing all of the new user preferences added by @stephack. Stephan has made some great additions to this driver, exposing many of the Pushover API's options. You can create multiple Pushover devices on your Hubitat hub, each using the same Keys, but with unique options. For example, you could create a Pushover Device for each of your family members' phones, thereby allowing you to select which user(s) get each message.
And finally, here is the Pushover Driver for Hubitat [Note: A early version of the Pushover Driver is included in the Hubitat firmware. To used advanced features (see below) you’ll need to use the Community version of the driver. ]
Again, just wanted to thank @stephack, @mattw and @Jonovan.Boutte for their ideas and ingenuity!
Documentation of available prefix options thanks to @stephack :
- You can now set the default priority of your Pushover Notification in the preferences of the driver. With the Pushover app you can set up different notification sounds and visuals based on the priority of the message. You can create a separate virtual device for each priority level and route notifications accordingly...
OR - If you are like me and don't want to dig through a stack of virtual devices...you can now also add a prefix to the message you send that would override the default priority to one of your choosing.
Prefixes
[S] - Lowest Priority (only available in custom community driver v20221204)
[L] - Low
[N] - Normal
[H] - High
[E] - Emergency
E.g.. Message "[H]This is a test" will send "This is a test" with High Priority to your mobile app.
[E] prefix is now used for emergency notifications and requires the following parameters
RETRY - how often to resend notification until it is acknowledged (in seconds with a minimum of 30 seconds)
EXPIRE- timeout for resending notifications if they are never acknowledged (in seconds with a maximum of 10800)
———————————————————
Note: The following features are not included in Hubitat’s built-in driver.
Recent Additions - January, 2025
@garz added the ability to encase the RETRY interval in ©...©
and EXPIRE timeout in ™...™
. This allows these values to be changed on a per message basis.
For example
"[E]©300© ™3600™ This is an Emergency priority test with Emergency Retry and Timeout specified."
300-second (5 minute) retry interval with expire time of 3600 seconds (1 hour).
Recent Additions - September 23, 2020
Much thanks to @TMLeafs for the following 3 additions
-
Added custom title in message by encasing it in ^^
- example ^This is my title^
-
Added choose sound from message by encasing it in ##
- example #bike#
-
Added Default title in preferences
An example message:
"[H]^My Title^ My Message #bike#"
The title & sound can go anywhere and in any order in the message except before priority if it used
And, per a request from @jpoeppelman1, I have added the ability to use HTML formatted messaging by adding [HTML] in the message, which can go anywhere and in any order in the message except before priority if it used.
An few example messages (remove the double quotes):
"[M][HTML]This is a <b>BOLD</b> example"
"[HTML]<a href="http://example.com/">word</a>"
Recent Addition - September 27, 2020
Much thanks to @s1godfrey for the following addition
- Added ability to send the Pushover Device Name in message by encasing it in **
- example My-iPhone
- or, simply adding "**" to the message will send to all Pushover Devices on the account.
An example message:
"[L]*My-iPhone* My Message" - sends only to "My-iPhone"
"[L]** My Broadcast Message" - sends to all registered Pushover devices on the account
Hubitat will strip out html tags in text input. When using Pushover for notifications, use [OPEN] for < and [CLOSE] for >
Pushover currently supports the following HTML tags:
[OPEN]b[CLOSE]word[OPEN]/b[CLOSE]
- display word in bold[OPEN]i[CLOSE]word[OPEN]/i[CLOSE]
- display word in italics[OPEN]u[CLOSE]word[OPEN]/u[CLOSE]
- display word underlined[OPEN]font color="#FF0000"[CLOSE]word[OPEN]/font[CLOSE]
- display word in red text
Update 11/16/2021 - User tsaaek added ability to change the supplementary URL and URL-Title with prefix/suffiix combinations.
Example:
"§[http://example.com](http://example.com/)§ ¤Example¤"
See https://pushover.net/api#html for more details around the html formatting.
Update 12/04/2022 - User neerav.modi added the new "Lowest Priority" [S] option from the Pushover API. See https://pushover.net/api#priority for details.
Update 07/29/2024 - User woodsby added the ability to send an embedded URL to an image
Encase your URL in ¨¨, e.g. "¨http://example.com/example.jpeg¨"
Update 09/27/2024 - User @ritchierich added special handling for embedding carriage returns.
Allow carriage returns/new lines within messages. HE strips HTML and \n from inputs and this code change will turn the \n into a <br>
before it is sent to the Pushover API to be delivered to your device.
A notification of 'Line 1\nLine2' will now be delivered like this: