node-red-contrib-3dm-space 0.0.7 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,126 +1,53 @@
1
1
  # node-red-contrib-3dm-space
2
2
 
3
- Node-RED nodes for sending telemetry data to **3DM.space SCADA Cloud** and receiving cloud attribute commands.
3
+ Node-RED nodes for connecting Smithtek PassPort gateways to **3DM.space SCADA Cloud**.
4
4
 
5
- This package is designed for Smithtek PassPort gateways and provides simple 3DM Cloud communication without exposing MQTT details to the user.
5
+ This package is designed to make 3DM.space cloud communication simple for users. The cloud connection, formatting, timing, storage and recovery handling are managed inside the nodes.
6
6
 
7
- ## Nodes Included
7
+ Users only need to copy the device credentials from 3DM.space into Node-RED.
8
8
 
9
- ### 3DM Cloud Login
9
+ ---
10
10
 
11
- Shared configuration node used by the 3DM input and output nodes.
11
+ ## What This Package Does
12
12
 
13
- The user only needs to enter:
13
+ This package allows a PassPort gateway to:
14
14
 
15
- * Name
16
- * Username
17
- * Password
18
- * Optional Client ID
15
+ - Send telemetry values to 3DM.space
16
+ - Receive cloud commands or control updates from 3DM.space
17
+ - Store telemetry locally if the cloud connection is unavailable
18
+ - Automatically send stored telemetry when the connection returns
19
19
 
20
- Connection details are handled internally.
20
+ ---
21
21
 
22
- ### 3DM Out
22
+ ## Nodes Included
23
23
 
24
- Sends JSON telemetry data to 3DM.space SCADA Cloud.
24
+ ### 3DM Cloud Login
25
25
 
26
- The node automatically:
26
+ The shared login node used by the 3DM input and output nodes.
27
27
 
28
- * Adds a timestamp
29
- * Formats the payload for 3DM Cloud time-series data
30
- * Publishes to the correct cloud endpoint
31
- * Applies a publish rate limit
32
- * Stores messages locally if the cloud connection is offline
33
- * Replays stored messages when the connection returns
28
+ The settings match the credential order shown in 3DM.space:
34
29
 
35
- Example input:
30
+ 1. **Client ID**
31
+ 2. **User Name***
32
+ 3. **Password**
33
+ 4. **Node Name**
36
34
 
37
- ```json
38
- {
39
- "pump_run": true,
40
- "flow_lpm": 125.5,
41
- "tank_level_percent": 64,
42
- "dc_voltage": 24.1
43
- }
44
- ```
35
+ The **Node Name** is only used inside Node-RED to make the login easier to identify.
45
36
 
46
- ### 3DM In
37
+ ---
47
38
 
48
- Receives cloud attribute updates from 3DM.space.
39
+ ### 3DM Out
49
40
 
50
- The node can:
41
+ Sends telemetry data from Node-RED to 3DM.space.
51
42
 
52
- * Allow all incoming attributes through
53
- * Filter by a single key
54
- * Output the selected value only
55
- * Output an object containing the selected key and value
43
+ The input must be a JSON object.
56
44
 
57
- Example cloud attribute:
45
+ Example:
58
46
 
59
47
  ```json
60
48
  {
61
- "pump_cmd": 1
49
+ "pump_run": true,
50
+ "flow_lpm": 125.5,
51
+ "tank_level_percent": 64,
52
+ "dc_voltage": 24.1
62
53
  }
63
- ```
64
-
65
- ## Store and Forward
66
-
67
- The 3DM Out node includes built-in store and forward.
68
-
69
- If the cloud connection is lost, valid telemetry messages are stored locally using a persistent queue. Each message is timestamped when it arrives at the node, not when it is replayed.
70
-
71
- When the cloud connection returns, stored messages are replayed automatically.
72
-
73
- Default replay speed:
74
-
75
- ```text
76
- 250 ms per packet
77
- ```
78
-
79
- This equals approximately:
80
-
81
- ```text
82
- 4 packets per second
83
- ```
84
-
85
- ## Rate Limiting
86
-
87
- The 3DM Out node includes a live publish throttle to prevent users from publishing too quickly.
88
-
89
- Default live publish limit:
90
-
91
- ```text
92
- 1 message every 10 seconds
93
- ```
94
-
95
- If valid telemetry arrives faster than the live publish limit, it is queued rather than discarded.
96
-
97
-
98
- ## Installation
99
-
100
- From the Node-RED user directory:
101
-
102
- ```bash
103
- cd ~/.node-red
104
- npm install ./node-red-contrib-3dm-space
105
- ```
106
-
107
- Or from inside the development folder:
108
-
109
- ```bash
110
- cd ~/.node-red/node-red-contrib-3dm-space
111
- npm install
112
- ```
113
-
114
- Restart Node-RED after installation:
115
-
116
- ```bash
117
- node-red-restart
118
- ```
119
-
120
- ## License
121
-
122
- GPL-3.0-or-later
123
-
124
- ## Author
125
-
126
- Smithtek
package/package.json CHANGED
@@ -1,13 +1,15 @@
1
1
  {
2
2
  "name": "node-red-contrib-3dm-space",
3
- "version": "0.0.7",
3
+ "version": "1.0.0",
4
4
  "description": "Node-RED nodes for 3DM.space SCADA Cloud telemetry and attributes",
5
5
  "main": "3dm-cloud-config.js",
6
6
  "license": "GPL-3.0-or-later",
7
7
  "keywords": [
8
8
  "node-red",
9
+ "node-red-contrib",
9
10
  "3dm",
10
11
  "3dm.space",
12
+ "smithtek",
11
13
  "scada",
12
14
  "telemetry",
13
15
  "store-and-forward"
@@ -20,7 +22,9 @@
20
22
  }
21
23
  },
22
24
  "dependencies": {
23
- "mqtt": "~4.3.7",
25
+ "mqtt": "~4.3.7"
26
+ },
27
+ "optionalDependencies": {
24
28
  "node-persistent-queue": "^0.3.1"
25
29
  }
26
30
  }