Skip to content

A Fibaro Home Center 3 QuickApp for sending push notifications via the Pushover service

License

Notifications You must be signed in to change notification settings

coding-sailor/hc3-pushover-qa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Fibaro Pushover Notifications

A Fibaro Home Center 3 QuickApp for sending push notifications via the Pushover service. This app allows you to send instant notifications to your mobile devices from scenes, automations, and other QuickApps.

⚠️ Disclaimer

This is an unofficial, third-party implementation and is not affiliated with, endorsed by, or supported by Pushover or Fibaro. This project is developed independently by the community for educational and personal use.

Features

  • Simple API: Single send() method for sending notifications
  • Multiple Apps/Users: Support for multiple Pushover applications and user keys via aliases
  • Rich Notifications: Supports priority, sound, URL, HTML formatting, and more

Installation

  1. Download the Pushover.fqa file from this repository
  2. Import the .fqa file into your Fibaro Home Center 3
  3. Configure the QuickApp variables (see Configuration section)

Configuration

Pushover Account Setup

  1. Create an account at pushover.net
  2. Note your User Key from the dashboard
  3. Create an Application to get an API Token

QuickApp Variables

Set the following variables in your QuickApp:

Variable Description Required
a_default Default Pushover application API token Yes
u_default Default Pushover user key Yes

Multiple Apps/Users (Optional)

You can define additional applications and users using aliases:

Variable Description
a_<alias> Additional app token (e.g., a_alerts, a_security)
u_<alias> Additional user key (e.g., u_admin, u_family)

Example:

a_default = "your-default-app-token"
a_alerts  = "your-alerts-app-token"
u_default = "your-user-key"
u_admin   = "admin-user-key"

Token Resolution:

The app and user options are resolved as follows:

  1. Not provided → use a_default / u_default variable
  2. Provided → look for a_<value> / u_<value> variable, if found use it
  3. Variable not found → use the provided value as raw token

This allows you to use either aliases (app = "alerts" → uses a_alerts variable) or raw tokens directly (app = "abc123..." → used as-is).

Usage

Basic Usage

Call the send() method from scenes or other QuickApps or LUA Scenes:

-- Simple notification (123 = Pushover QuickApp device ID)
hub.call(123, "send", "Hello from Fibaro!")

-- Notification with title
hub.call(123, "send", "Door opened", { title = "Security Alert", priority = 1 })

All Options

hub.call(123, "send", "Message text", {
  title     = "Notification Title",   -- Message title
  app       = "alerts",               -- Use a_alerts token (or raw token)
  user      = "admin",                -- Use u_admin key (or raw key)
  device    = "iphone",               -- Target specific device
  sound     = "pushover",             -- Notification sound
  priority  = 1,                      -- -2 to 2 (see Priority Levels)
  url       = "https://example.com",  -- Supplementary URL
  url_title = "Open Link",            -- URL title
  html      = 1,                      -- Enable HTML formatting
  monospace = 1,                      -- Use monospace font
  timestamp = os.time(),              -- Unix timestamp
  ttl       = 3600,                   -- Time to live in seconds
  -- Emergency priority (2) options:
  retry     = 60,                     -- Retry interval in seconds (min: 30, required for priority 2)
  expire    = 3600,                   -- Stop retrying after N seconds (max: 10800, required for priority 2)
  callback  = "https://example.com"   -- Optional callback URL for priority 2
})

For complete API reference, see the Pushover API documentation. Note: attachments are not supported.

Usage Examples

Security Alert:

hub.call(123, "send", "Motion detected in garage", {
  title    = "Security",
  priority = 1,
  sound    = "siren"
})

Temperature Warning:

hub.call(123, "send", "Living room temperature: 28°C", {
  title = "Climate Alert",
  url   = "https://your-fibaro-ip/",
  url_title = "Open HC3"
})

Send to Specific User:

hub.call(123, "send", "Reminder: Check the heating", {
  user = "admin"  -- Uses u_admin variable
})

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Test thoroughly
  4. Submit a pull request

License

This project is licensed under the MIT License - see the LICENSE file for details.

This project is provided as-is for educational and personal use.

About

A Fibaro Home Center 3 QuickApp for sending push notifications via the Pushover service

Resources

License

Stars

Watchers

Forks

Languages