node-red-contrib-modbus-modpackqt 3.3.12 → 3.3.13

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/CHANGELOG.md CHANGED
@@ -4,6 +4,16 @@ All notable changes to **node-red-contrib-modbus-modpackqt** are documented
4
4
  here. This project follows [Semantic Versioning](https://semver.org/) — pin a
5
5
  major version (`^2.0.0`) in production.
6
6
 
7
+ ## [3.3.13] — 2026-05-10
8
+
9
+ ### Removed
10
+
11
+ - **Embedded slave server section gone from the master config dialog.**
12
+ Redundant — the standalone `modpackqt-slave-server` canvas node already
13
+ owns its own port, register store, and My Slaves picker. Existing
14
+ legacy slave settings on a config node are preserved on disk so older
15
+ flows won't lose data, just hidden from the editor.
16
+
7
17
  ## [3.3.12] — 2026-05-10
8
18
 
9
19
  ### Changed
@@ -18,7 +18,7 @@
18
18
  const http = require('http');
19
19
  const { URL } = require('url');
20
20
 
21
- const PALETTE_VERSION = '3.3.12';
21
+ const PALETTE_VERSION = '3.3.13';
22
22
  const DEFAULT_PORT = parseInt(process.env.MODPACKQT_PROBE_PORT, 10) || 8502;
23
23
  const BIND_HOST = process.env.MODPACKQT_PROBE_HOST || '127.0.0.1';
24
24
  const PORT_RETRY = 5;
@@ -33,14 +33,8 @@
33
33
  $('.modpackqt-rtu-only').toggle(isRtu);
34
34
  $('.modpackqt-tcp-only').toggle(!isRtu);
35
35
  };
36
- const toggleSlave = () => {
37
- const on = $('#node-config-input-slaveEnabled').is(':checked');
38
- $('.modpackqt-slave-only').toggle(on);
39
- };
40
36
  $('#node-config-input-masterMode').on('change', toggleRtu);
41
- $('#node-config-input-slaveEnabled').on('change', toggleSlave);
42
37
  toggleRtu();
43
- toggleSlave();
44
38
 
45
39
  // ── My Connections picker
46
40
  const nodeId = this.id;
@@ -84,21 +78,6 @@
84
78
  }
85
79
  });
86
80
  loadConnections();
87
-
88
- // ── Embedded slave server section (collapsed by default)
89
- const $slaveSection = $('.modpackqt-slave-section');
90
- const $slaveToggle = $('.modpackqt-slave-section-toggle');
91
- const setSlaveOpen = (open) => {
92
- $slaveSection.toggle(open);
93
- $slaveToggle.html(open
94
- ? '▾ Hide embedded slave server'
95
- : '▸ Embedded slave server (only for modpackqt-slave-read / -write nodes)');
96
- };
97
- setSlaveOpen(this.slaveEnabled === true || this.slaveEnabled === 'true');
98
- $slaveToggle.off('click.modpackqt').on('click.modpackqt', (e) => {
99
- e.preventDefault();
100
- setSlaveOpen($slaveSection.is(':hidden'));
101
- });
102
81
  }
103
82
  });
104
83
  </script>
@@ -185,28 +164,18 @@
185
164
  <input type="number" id="node-config-input-timeoutMs" placeholder="3000">
186
165
  </div>
187
166
 
188
- <div class="form-row" style="margin:14px 0 4px 0;border-top:1px solid #e5e7eb;padding-top:10px">
189
- <a href="#" class="modpackqt-slave-section-toggle" style="font-size:12px;color:#6b7280;text-decoration:none;cursor:pointer">▸ Embedded slave server (only for modpackqt-slave-read / -write nodes)</a>
190
- </div>
191
- <div class="modpackqt-slave-section" style="display:none">
192
- <div class="form-row">
193
- <label for="node-config-input-slaveEnabled" style="width:auto">
194
- <input type="checkbox" id="node-config-input-slaveEnabled" style="width:auto;vertical-align:middle">
195
- Enable embedded Modbus TCP slave server
196
- </label>
197
- </div>
198
- <div class="form-row modpackqt-slave-only">
199
- <label for="node-config-input-slaveHost"><i class="fa fa-globe"></i> Bind Host</label>
200
- <input type="text" id="node-config-input-slaveHost" placeholder="0.0.0.0 (all interfaces)">
201
- </div>
202
- <div class="form-row modpackqt-slave-only">
203
- <label for="node-config-input-slavePort"><i class="fa fa-hashtag"></i> Slave Port</label>
204
- <input type="number" id="node-config-input-slavePort" placeholder="1502">
205
- </div>
206
- </div>
167
+ <!-- Embedded slave server lives on the standalone modpackqt-slave-server
168
+ canvas node now. These hidden inputs preserve any legacy values on
169
+ existing flows so re-saving doesn't wipe them. -->
170
+ <input type="hidden" id="node-config-input-slaveEnabled">
171
+ <input type="hidden" id="node-config-input-slaveHost">
172
+ <input type="hidden" id="node-config-input-slavePort">
207
173
 
208
- <div class="form-tips">
209
- <b>One runtime = one device.</b> For multiple devices, create one runtime config per device — the read/write nodes then just pick which device to talk to.
174
+ <div class="form-tips" style="margin-top:14px">
175
+ <b>One runtime = one device.</b> For multiple devices, create one runtime
176
+ config per device — the read/write nodes then just pick which device to
177
+ talk to. To run an embedded slave server, drop a
178
+ <code>modpackqt-slave-server</code> node onto the canvas.
210
179
  </div>
211
180
  <div class="form-row" style="margin-top:18px;padding-top:14px;border-top:1px solid #e5e7eb;text-align:center;">
212
181
  <a href="https://modpackqt.com" target="_blank" rel="noopener noreferrer"
@@ -239,10 +208,10 @@
239
208
  <li><b>Modbus RTU</b> — opens the configured serial port. Host/Port are ignored; only Unit ID matters.</li>
240
209
  </ul>
241
210
 
242
- <h3>Embedded slave server</h3>
211
+ <h3>Want to run a slave?</h3>
243
212
  <p>
244
- When enabled, this config opens a Modbus TCP server on the configured port (default
245
- <code>1502</code>). Use the <code>modpackqt-slave-write</code> node to push values into
246
- its register store; external Modbus masters read whatever you last wrote.
213
+ Drop a <code>modpackqt-slave-server</code> node onto the canvas. It owns its
214
+ own port, its own register store, and its own My Slaves picker for loading
215
+ saved slave profiles from modpackqt.com.
247
216
  </p>
248
217
  </script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-modbus-modpackqt",
3
- "version": "3.3.12",
3
+ "version": "3.3.13",
4
4
  "description": "Modbus commissioning, testing & analysis tools for Node-RED. Embedded Modbus TCP/RTU master + slave server, FC1/FC2/FC3/FC4 reads, FC5/FC6/FC15/FC16 writes, built-in slave register store, and a passive traffic monitor for debugging. 100% free, MIT, no usage limits. By ModPackQT — open the matching web console at modpackqt.com for register decoding, simulation and AI assistance.",
5
5
  "keywords": [
6
6
  "node-red",