NodeRED Plug-ins for RMM

From ESS-WIKI
Jump to: navigation, search

Introduction

Node-RED is a visual wiring tool for the Internet of Things and is provided by IBM Emerging Technologies. Node-Red has several features, including browser-based flow editing, built on Node.js and social development. Because of browser-based, the user can use it more easily. Node-Red is based on Node.js, so user can use its nodes by using JavaScript. Node-Red also have many active communities. If the user finds bugs, he can find a solution and fix it easily. The user can use JSON format string to import or export the created flow easily.
RMM server provides many restful API. But some API is maybe required complex parameter, it usually makes the user to call restful API more difficultly. Hance RMM team creates several common nodes in Node-Red. These nodes can help the user to use restful API that RMM server provided more easily and fast.


NodeRedSample.png

How to install NodeRed Plug-ins for RMM

  1. Install Node.js
    1. Download installer from [1]
    2. Double-click to install Node.js

1.png Nodejs2.png Nodejs3.png

  1. Install Node Red
    1. Open cmd.exe and type npm install –g node-red

NodeRedInstaller.png

  1. Install NodeRed Plug-ins for RMM
    1. Connect to npm side for node-red-contrib-rmm3.1
    2. Open cmd.exe and type npm install node-red-contrib-rmm3.1

NpmRMM.png

NodeRed Plug-ins Catogries

Category.png

Category Description Nodes
General The settings of IP address, port number, login username/password of RMM server. Retrieval of device and sensor information. 1.ServerSetting
2.DeviceGet
3.SensorGet
4.FileDownload
DeviceQuery Device status and information querying, include software/hardware monitoring status, network status, hard disk status and etc. 1.SWData
2.HWData
3.HDDData
4.NetworkData
5.GWSensor
6.SUSIControl
7.HDDMonitor
8.ProcessMonitor
9.NetMonitor
DeviceCtrl Remote control of RMM server managed devices. 1.PowerCtrl
2.ProtectCtrl
3.AcronisCtrl
4.ScreenShot
5.SUSICtrlSet
Event Manipulation of message notifying and event receiving from RMM server through long polling or websocket. 1.EmailSend
2.SMSSend
3.LongPolling
4.WSRetrieve
5.WSServer
SQLCtrl Transparent control of SQL database (PostgreSQL) in RMM server. 1.SQLCreate
2.SQLInsert
3.SQLQuery
4.SQLDelete
5.SQLUpdate
NoSQLCtrl Transparent control of NoSQL database (MongoDB) in RMM server. 1.NoSQLCreate
2.NoSQLInsert
3.NoSQLQuery
4.NoSQLDelete
5.NoSQLUpdate


NodeRed Plug-ins Description

Node Name Description Input Output
ServerSetting Set url, port, username and password for RMM server. The node support basic mode and OAuth mode. User can switch basic mode and OAuth mode. A timer or button triggered events. Message contains properties of msg.url, msg.port and msg.encodestr.
DeviceGet Retrieve device information list from RMM server. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Process Monitor information list.
SensorGet Retrieve sensor id list for specific agent ID. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Sensor information list with JSON string format.
FileDownload Download a url link and save to specified path. msg.downloadurl. An entity file.
SWData Retrieve software and operation system information for specific agent ID. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Process Monitor information list.
HWData Retrieve hardware monitor information of values for specific agent ID. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. SUSIIoT Information list.
HDDData Retrieve hard disk information for specific agent ID. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. HDDMonitor Information list.
NetworkData Retrieve network information for specific agent ID. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. NetMonitor Information list.
GWSensor Retreive the IoTGW sensor reported data from database, depend on sensorId existed. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Gatway sensor Information list.
SUSIControl Retreive the SUSIControl reported data from database, depend on sensorId existed. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. SUSIIoT Information list.
HDDMonitor Retreive the HDDMonitor reported data from database, depend on sensorId existed. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. HDDMonitor Information list.
ProcessMonitor Retreive the ProcessMonitor reported data from database, depend on sensorId existed. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Process Monitor information list.
NetMonitor Retreive the NetMonitor reported data from database, depend on sensorId existed. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. NetMonitor Information list.
PowerCtrl Set device to power on, power off, sleep, hibernate, reboot. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. { "result" : true } or error code description.
ProtectCtrl Set device to install/update McAfee, protect, unprotect, activate. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. { "result" : true } or error code description.
AcronisCtrl Set device to install/update Acronis, backup, recovery, activate. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. { "result" : true } or error code description.
ScreenShot Retrieve current screenshot for specific device. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Get a relative path for specific device.
SUSICtrlSet Set SUSIIoT value to specific device. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. { "result" : true } or error code description.
EmailSend Send the Email by using RMM 3.1 server. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. { "result" : true } or error code description.
SMSSend Send the SMS by using SUSIAccess 3.1 server. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. { "result" : true } or error code description.
LongPolling Retrieve event from database, if event be generated and newer event id larger than "lasteventid". It will be kept 60s on this request without event be generated. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Get the event of system, operator and device when the event is occurred.
WSRetrieve Retrieve event from database by using websocket. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Get the event of system, operator and device when the event is occurred.
WSServer Provide a websocket server for port 9876, the node will broadcast when msg.payload entry. msg.payload. none
SQLCreate Create a table with the name, length and type of column under RMM 3.1 postgreSQL database. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. { "result" : true } or error code description.
SQLInsert Insert data into an existed table of RMM 3.1 postgreSQL database. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. { "result" : true } or error code description.
SQLQuery Query data from an existed table of RMM 3.1 postgreSQL database. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Query data from specific table.
SQLDelete Delete data from an existed table of RMM 3.1 postgreSQL database. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Delete data from specific table.
SQLUpdate Change data from a existed table of RMM 3.1 postgreSQL database. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Update data from specific table.
NoSQLCreate Create a table with the name, length and type of column under RMM 3.1 MongoDB database. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. { "result" : true } or error code description.
NoSQLInsert Insert data into an existed table of RMM 3.1 MongoDB database. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. { "result" : true } or error code description.
NoSQLQuery Delete data from an existed table of RMM 3.1 MongoDB database. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Delete data from specific table.
NoSQLDelete Delete data from an existed table of RMM 3.1 MongoDB database. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Delete data from specific table.
NoSQLUpdate Change data from a existed table of RMM 3.1 MongoDB database. ServerSetting Node or set msg.url, msg.port, msg.username, msg.pwd. Update data from specific table.


Demo Video Clips

Advantech ESS Demo on YouTuBe: WISE-PaaS/RMM Demo

Video Demo Title Link
WISE-PaaS/RMM NodeRED - Event sending & receiving - websocket(client, server) link
WISE-PaaS/RMM NodeRED - Event receiving - Long polling link
WISE-PaaS/RMM NodeRED - Device data query - SUSIControl data link
WISE-PaaS/RMM NodeRED - Device data query - HWM, SWM, HDD, Network output to file link
WISE-PaaS/RMM NodeRED - Device data query - GW Sensor link
WISE-PaaS/RMM NodeRED - Event sending - Email/SMS link
WISE-PaaS/RMM NodeRED - Installation - Node.js, NodeRED, plug-ins for RMM link
WISE-PaaS/RMM NodeRED - RMM server Database manipulation link
WISE-PaaS/RMM NodeRED - Settings - Server settings, basic/OAuth authentication link
WISE-PaaS/RMM NodeRED - Device control - Power control link
WISE-PaaS/RMM NodeRED - Device control - Screenshot link
WISE-PaaS/RMM NodeRED - Device control - SUSIcontrol link

Document

TLS/SSL