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

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,25 @@ 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.15] — 2026-05-10
8
+
9
+ ### Changed
10
+
11
+ - **Slave server node renders bigger on the canvas.** Uses
12
+ `align: 'right'` (server-anchored icon, the same convention as
13
+ the MQTT broker / Modbus server nodes from other palettes) and a
14
+ longer descriptive label like `Modbus TCP Slave Server :1502 #1`,
15
+ which Node-RED auto-widens to fit. Easier to spot at a glance.
16
+
17
+ ## [3.3.14] — 2026-05-10
18
+
19
+ ### Removed
20
+
21
+ - **Account Key + My Connections gone from `modpackqt-config`** (the
22
+ master-read / master-write config). Those belong only on the
23
+ `modpackqt-probe-config` used by master-probe. Read/write configs
24
+ are now pure manual entry: Name + Target Device + Transport.
25
+
7
26
  ## [3.3.13] — 2026-05-10
8
27
 
9
28
  ### Removed
@@ -18,7 +18,7 @@
18
18
  const http = require('http');
19
19
  const { URL } = require('url');
20
20
 
21
- const PALETTE_VERSION = '3.3.13';
21
+ const PALETTE_VERSION = '3.3.15';
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;
@@ -1,9 +1,6 @@
1
1
  <script type="text/javascript">
2
2
  RED.nodes.registerType('modpackqt-config', {
3
3
  category: 'config',
4
- credentials: {
5
- apiKey: { type: 'password' }
6
- },
7
4
  defaults: {
8
5
  name: { value: 'ModPackQT Device' },
9
6
  targetHost: { value: 'localhost' },
@@ -35,49 +32,6 @@
35
32
  };
36
33
  $('#node-config-input-masterMode').on('change', toggleRtu);
37
34
  toggleRtu();
38
-
39
- // ── My Connections picker
40
- const nodeId = this.id;
41
- const $sel = $('#node-config-input-modpackqt-conn-picker');
42
- const loadConnections = function () {
43
- $sel.empty().append('<option value="">— Loading… —</option>');
44
- if (!nodeId) {
45
- $sel.empty().append('<option value="">— Save this config first, then reopen —</option>');
46
- return;
47
- }
48
- $.getJSON('modpackqt/connections?probe=' + encodeURIComponent(nodeId))
49
- .done(function (rows) {
50
- $sel.empty().append('<option value="">— Manual entry —</option>');
51
- (rows || []).forEach(function (c) {
52
- const label = (c.name || '(unnamed)') + (c.connectionType === 'rtu'
53
- ? ' — RTU'
54
- : ' — ' + (c.host || '?') + ':' + (c.port || 502) + ' #' + (c.unitId || 1));
55
- $('<option>').val(c.id).text(label).data('conn', c).appendTo($sel);
56
- });
57
- })
58
- .fail(function (xhr) {
59
- const msg = (xhr.responseJSON && xhr.responseJSON.error) || ('HTTP ' + xhr.status);
60
- $sel.empty().append($('<option>').val('').text('— ' + msg + ' —'));
61
- });
62
- };
63
- $('#modpackqt-conn-picker-refresh').on('click', function (e) {
64
- e.preventDefault();
65
- loadConnections();
66
- });
67
- $sel.on('change', function () {
68
- const c = $(this).find('option:selected').data('conn');
69
- if (!c) return;
70
- if (!$('#node-config-input-name').val() || $('#node-config-input-name').val() === 'ModPackQT Device') {
71
- $('#node-config-input-name').val(c.name || '');
72
- }
73
- if (c.host) $('#node-config-input-targetHost').val(c.host);
74
- if (c.port) $('#node-config-input-targetPort').val(c.port);
75
- if (c.unitId) $('#node-config-input-unitId').val(c.unitId);
76
- if (c.connectionType === 'rtu') {
77
- $('#node-config-input-masterMode').val('rtu').trigger('change');
78
- }
79
- });
80
- loadConnections();
81
35
  }
82
36
  });
83
37
  </script>
@@ -88,24 +42,6 @@
88
42
  <input type="text" id="node-config-input-name" placeholder="e.g. Inverter A">
89
43
  </div>
90
44
 
91
- <div class="form-row">
92
- <label for="node-config-input-apiKey"><i class="fa fa-key"></i> Account Key</label>
93
- <input type="password" id="node-config-input-apiKey" placeholder="Paste your ModPackQT tunnel key">
94
- </div>
95
- <div class="form-tips" style="font-size:11px;color:#6b7280;margin:-8px 0 4px 105px">
96
- Generate at <a href="https://modpackqt.com/settings" target="_blank" rel="noopener">modpackqt.com → Settings → Cloud Gateways</a>.
97
- Loads your saved connections in the picker below.
98
- </div>
99
-
100
- <div class="form-row">
101
- <label for="node-config-input-modpackqt-conn-picker"><i class="fa fa-cloud-download"></i> My Connections</label>
102
- <select id="node-config-input-modpackqt-conn-picker" style="width:65%"></select>
103
- <button type="button" id="modpackqt-conn-picker-refresh" class="red-ui-button" title="Reload" style="margin-left:4px"><i class="fa fa-refresh"></i></button>
104
- </div>
105
- <div class="form-tips" style="font-size:11px;color:#6b7280;margin:-8px 0 12px 105px">
106
- Picks a saved connection from modpackqt.com — auto-fills Host, Port, and Unit ID below.
107
- </div>
108
-
109
45
  <h4 style="margin-top:18px">Target Device</h4>
110
46
  <div class="form-row modpackqt-tcp-only">
111
47
  <label for="node-config-input-targetHost"><i class="fa fa-plug"></i> IP Address</label>
@@ -13,10 +13,14 @@
13
13
  },
14
14
  inputs: 0,
15
15
  outputs: 0,
16
+ align: 'right',
16
17
  icon: 'font-awesome/fa-server',
17
18
  label: function () {
18
- return this.name || `:${this.bindPort} #${this.unitId}`;
19
+ const tag = `:${this.bindPort || 1502} #${this.unitId || 1}`;
20
+ return this.name ? `${this.name} — Modbus TCP Slave ${tag}`
21
+ : `Modbus TCP Slave Server ${tag}`;
19
22
  },
23
+ labelStyle: function () { return this.name ? 'node_label_italic' : ''; },
20
24
  paletteLabel: 'modbus slave server',
21
25
  oneditprepare: function () {
22
26
  const node = this;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-red-contrib-modbus-modpackqt",
3
- "version": "3.3.13",
3
+ "version": "3.3.15",
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",