node-red-contrib-plugin-notify

0.0.4 • Public • Published

node-red-contrib-plugin-notify

Custom notification dialog for Node-RED flow editor

Requires Node-RED 1.3 or later.

Install

Run the following command in your Node-RED user directory - typically ~/.node-red

    npm install node-red-contrib-plugin-notify

Usage

Method 1: POST request

When Node-RED instance receives the POST request to 'http://localhost:1880/notify' with JSON data including message and options, Node-RED flow editor will popup the notification dialog.

(1) Simple example

curl command

curl -X POST -H 'Content-Type: application/json' -d '{"message": "Hello"}' http://localhost:1880/notify

Screenshot

(2) Advanced example using options

curl command

curl -X POST -H 'Content-Type: application/json' -d '{"message":"Hello","options":{ "type":"error","timeout":10000,"buttons":[{"text":"OK","class":"primary"}]}}' http://localhost:1880/notify

Screenshot

JSON format to post

{
    "message": "text",                     // Text which is displayed on the dialog
    "options": {
        "type": "(success|warning|error)", // Style of the message dialog
        "timeout": 5000,                   // Milliseconds until closing the dialog (default: 5000)
        "modal": (true|false),             // Whether user interaction is disabled until closing the dialog (default: false)
        "width": 800,                      // Pixels of the dialog width
        "buttons": [{                      // Array that contains button configurations
            "text": "text",                // Text which is used in the button
            "class": "primary"             // The class of the button (When it is 'primary', the color of the button is red)
        }]
    }
}

Note: If the authentication of the flow editor is enabled, you need to obtain the access token.

Method 2: Timer from starting Node-RED

The configuration should be specified in command-line arguments or the settings.js file.

(1) Command-line arguments example

In this example, the temporary environment will show the message before terminating the environment.

Starting Node-RED with arguments

node-red -D notify.message='This environment will be terminated within 10 minutes. Please download your flow immediately.' -D notify.timer=3000000

Screenshot after 50 minutes

(2) settings.js file example

This example is to show a notification when the Node-RED is updated.

settings.js file

module.exports = {
    notify: {
        message: 'New version of Node-RED is available',
        trigger: function (done) {
            require('request')({ url: 'https://registry.npmjs.org/node-red', json: true }, function (err, res, body) {
                if (!err && body['dist-tags'].latest !== require('./settings').version) {
                    done();
                }
            });
        },
    },

    // the tcp port that the Node-RED web server is listening on
    uiPort: process.env.PORT || 1880,

Screenshot when an update is detected

Install this plugin to Node-RED 1.2

If you want to try this plugin on Node-RED 1.2, you can install it as a node using the old version.

    npm install node-red-contrib-plugin-notify@0.0.3

Package Sidebar

Install

npm i node-red-contrib-plugin-notify

Weekly Downloads

4

Version

0.0.4

License

Apache-2.0

Unpacked Size

296 kB

Total Files

9

Last publish

Collaborators

  • kazuhitoyokoi