Skip to content

Homebridge plugin to integrate your flow with Notify.Events service.

License

Notifications You must be signed in to change notification settings

notify-events/homebridge

Repository files navigation

Notify.Events for Homebridge

verified-by-homebridge License: MIT npm npm

This integration allows sending alerts and notifications from Smart Home and IoT devices connected to Homebridge via 40+ messengers and other communication tools.

Receive instant messages via Signal, Telegram, Discord, Signal., SMS, push, voice calls and more. Apply simple text formatting, level and priority to alerts, and filter by time to direct them to the desired family member.

See the full list of supported messengers here.

Read the manual in other languages

Notify.Events configuration

  1. Sign-up to the Notify.Events service.
  2. Create a new channel.
  3. Add Homebridge source to your channel.
  4. Copy your token and save the integration.

Installation

Before installing this plugin, you should install Homebridge using the official instructions.

Installation via Homebridge Config UI X

  1. Search for Notify.Events on the Plugins tag of Config UI X.
  2. Install the Notify.Events plugin and use the form to enter your accessory configurations.

Manual installation

  1. Install this plugin using: sudo npm install -g homebridge-notifyevents.
  2. Edit config.json manually to add your notification. See below for instructions on that.

Configuration

Platform configuration

Parameter Required Description
action yes Action handler configuration
channels yes Channel list

Action handler configuration

All described Actions are becoming the buttons you will see under the notification message to take an action right from the chat.

After you pushing one of those buttons, Notify.Events will trigger an Action accessory in your Homebridge, which you can use as a trigger for your automations.

In order for Notify.Events to interact with Homebridge, you need to enable action support and set up a handler:

Parameter Required Description
enabled Enable Actions
listen yes (if enabled) Listen host (To listen to all interfaces you can use "0.0.0.0" (IPv4) or "::" (IPv6))
port yes (if enabled) Listen port
host yes (if enabled) Your external host
path yes (if enabled) Action target path

Notice: Don't forget to make sure that your Homebridge instance is reachable from the web.

Channel configuration

Parameter Required Description
title yes Channel name
token yes Notify.Events channel token
messages yes Message list

Message (accessory) configuration

Parameter Required Description
name yes Accessory name
title Message title
text yes Message text (allowed html-tags: <b>, <i>, <a href="">, <br>)
priority Message priority (highest, high, normal, low, lowest)
level Message level (verbose, info, notice, warning, error, success)
images Image list
files File list
actions Action list

Image / File configuration

Parameter Required Description
filename yes Image/File filename

Action (accessory) configuration

Parameter Required Description
name yes Accessory name
title yes Action (button) title

Example config.json entry:

{
    "platforms": [
        {
            "platform": "NotifyEvents",
            "action": {
                "enabled": true,
                "listen": "0.0.0.0",
                "port": 53535,
                "host": "<your-homebridge-host>",
                "path": "/"
            },
            "channels": [
                {
                    "title": "My Channel",
                    "token": "<your-notifyevents-token>",
                    "messages": [
                        {
                            "name": "My Message",
                            "title": "My Message Title",
                            "text": "Hello <b>Dolly</b>",
                            "priority": "normal",
                            "level": "info",
                            "images": [
                                {
                                    "filename": "/tmp/1.jpg"
                                }
                            ],
                            "files": [
                                {
                                    "filename": "/tmp/1.txt"
                                }
                            ],
                            "actions": [
                                {
                                    "name": "My Action",
                                    "title": "Click Me"
                                }
                            ]
                        }
                    ]
                }
            ]
        }
    ]
}