NodeRED Plug-ins for RMM
Contents
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.
How to install NodeRed Plug-ins for RMM
- Install Node Red
- Open cmd.exe and type npm install –g node-red
- Install NodeRed Plug-ins for RMM
- Connect to npm side for node-red-contrib-rmm3.1
- Open cmd.exe and type npm install node-red-contrib-rmm3.1
NodeRed Plug-ins Catogries
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 |