node-red-contrib-3dm-space 0.0.3 → 0.0.6

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.
Files changed (3) hide show
  1. package/README.md +139 -0
  2. package/package.json +2 -1
  3. package/readme.md +0 -0
package/README.md ADDED
@@ -0,0 +1,139 @@
1
+ # node-red-contrib-3dm-space
2
+
3
+ Node-RED nodes for sending telemetry data to **3DM.space SCADA Cloud** and receiving cloud attribute commands.
4
+
5
+ This package is designed for Smithtek PassPort gateways and provides simple 3DM Cloud communication without exposing MQTT details to the user.
6
+
7
+ ## Nodes Included
8
+
9
+ ### 3DM Cloud Login
10
+
11
+ Shared configuration node used by the 3DM input and output nodes.
12
+
13
+ The user only needs to enter:
14
+
15
+ * Name
16
+ * Username
17
+ * Password
18
+ * Optional Client ID
19
+
20
+ Connection details are handled internally.
21
+
22
+ ### 3DM Out
23
+
24
+ Sends JSON telemetry data to 3DM.space SCADA Cloud.
25
+
26
+ The node automatically:
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
34
+
35
+ Example input:
36
+
37
+ ```json
38
+ {
39
+ "pump_run": true,
40
+ "flow_lpm": 125.5,
41
+ "tank_level_percent": 64,
42
+ "dc_voltage": 24.1
43
+ }
44
+ ```
45
+
46
+ ### 3DM In
47
+
48
+ Receives cloud attribute updates from 3DM.space.
49
+
50
+ The node can:
51
+
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
56
+
57
+ Example cloud attribute:
58
+
59
+ ```json
60
+ {
61
+ "pump_cmd": 1
62
+ }
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
+ ## Hidden Cloud Settings
98
+
99
+ The following settings are handled internally and are not shown to the user:
100
+
101
+ ```text
102
+ Host: 3dm.space
103
+ Port: 1883
104
+ Keepalive: 60
105
+ Clean Session: true
106
+ QoS: 1
107
+ Telemetry Topic: v1/devices/me/telemetry
108
+ Attributes Topic: v1/devices/me/attributes
109
+ ```
110
+
111
+ ## Installation
112
+
113
+ From the Node-RED user directory:
114
+
115
+ ```bash
116
+ cd ~/.node-red
117
+ npm install ./node-red-contrib-3dm-space
118
+ ```
119
+
120
+ Or from inside the development folder:
121
+
122
+ ```bash
123
+ cd ~/.node-red/node-red-contrib-3dm-space
124
+ npm install
125
+ ```
126
+
127
+ Restart Node-RED after installation:
128
+
129
+ ```bash
130
+ node-red-restart
131
+ ```
132
+
133
+ ## License
134
+
135
+ GPL-3.0-or-later
136
+
137
+ ## Author
138
+
139
+ Smithtek
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "node-red-contrib-3dm-space",
3
- "version": "0.0.3",
3
+ "version": "0.0.6",
4
4
  "description": "Node-RED nodes for 3DM.space SCADA Cloud telemetry and attributes",
5
5
  "main": "3dm-cloud-config.js",
6
+ "license": "GPL-3.0-or-later",
6
7
  "keywords": [
7
8
  "node-red",
8
9
  "3dm",
package/readme.md DELETED
File without changes