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

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,15 @@ 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.14] — 2026-05-10
8
+
9
+ ### Removed
10
+
11
+ - **Account Key + My Connections gone from `modpackqt-config`** (the
12
+ master-read / master-write config). Those belong only on the
13
+ `modpackqt-probe-config` used by master-probe. Read/write configs
14
+ are now pure manual entry: Name + Target Device + Transport.
15
+
7
16
  ## [3.3.13] — 2026-05-10
8
17
 
9
18
  ### 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.14';
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>
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.14",
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",