Novelty Palliates Malaise

    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
    

    Install

    npm i node-red-contrib-plugin-notify

    DownloadsWeekly Downloads

    1

    Version

    0.0.4

    License

    Apache-2.0

    Unpacked Size

    296 kB

    Total Files

    9

    Last publish

    Collaborators

    • kazuhitoyokoi