node-red-contrib-symi-mesh 1.6.5 → 1.6.7
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 +313 -329
- package/examples/knx-sync-example.json +48 -410
- package/lib/device-manager.js +30 -3
- package/lib/mqtt-helper.js +3 -3
- package/lib/tcp-client.js +33 -13
- package/nodes/symi-485-bridge.html +15 -3
- package/nodes/symi-485-bridge.js +747 -206
- package/nodes/symi-485-config.js +90 -5
- package/nodes/symi-device.js +7 -7
- package/nodes/symi-gateway.js +86 -14
- package/nodes/symi-knx-bridge.html +368 -0
- package/nodes/symi-knx-bridge.js +1065 -0
- package/nodes/symi-mqtt.js +74 -25
- package/package.json +5 -4
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
'</div>';
|
|
170
170
|
} else {
|
|
171
171
|
addrHtml = '<div class="addr-col normal-addr">' +
|
|
172
|
-
'<input type="number" class="addr-input" value="' + (m.address
|
|
172
|
+
'<input type="number" class="addr-input" value="' + (m.address !== undefined ? m.address : 1) + '" min="0" max="255" title="Modbus从机地址(0-255)">' +
|
|
173
173
|
'</div>';
|
|
174
174
|
}
|
|
175
175
|
row.html(
|
|
@@ -258,7 +258,9 @@
|
|
|
258
258
|
|
|
259
259
|
container.find('.addr-input').off('change').on('change', function() {
|
|
260
260
|
var idx = $(this).closest('.mapping-row').data('idx');
|
|
261
|
-
|
|
261
|
+
var val = $(this).val();
|
|
262
|
+
mappings[idx].address = (val !== '' && val !== undefined) ? parseInt(val) : 1;
|
|
263
|
+
if (isNaN(mappings[idx].address)) mappings[idx].address = 1;
|
|
262
264
|
});
|
|
263
265
|
|
|
264
266
|
// 杜亚2字节地址输入
|
|
@@ -352,14 +354,24 @@
|
|
|
352
354
|
oneditsave: function() {
|
|
353
355
|
var mappings = [];
|
|
354
356
|
$('#mapping-list .mapping-row').each(function() {
|
|
357
|
+
// 获取地址值,允许0(话语前湾空调地址是0)
|
|
358
|
+
var addrVal = $(this).find('.addr-input').val();
|
|
359
|
+
var address = (addrVal !== '' && addrVal !== undefined) ? parseInt(addrVal) : 1;
|
|
360
|
+
if (isNaN(address)) address = 1;
|
|
361
|
+
|
|
355
362
|
var m = {
|
|
356
363
|
meshMac: $(this).find('.mesh-select').val() || '',
|
|
357
364
|
meshChannel: parseInt($(this).find('.mesh-channel').val()) || 1,
|
|
358
365
|
brand: $(this).find('.brand-select').val() || '',
|
|
359
366
|
device: $(this).find('.device-select').val() || '',
|
|
360
|
-
address:
|
|
367
|
+
address: address,
|
|
361
368
|
rs485Channel: parseInt($(this).find('.rs485-channel').val()) || 1
|
|
362
369
|
};
|
|
370
|
+
// 保存杜亚窗帘2字节地址
|
|
371
|
+
if (m.brand === 'duya') {
|
|
372
|
+
m.addrHigh = parseInt($(this).find('.addr-high').val()) || 1;
|
|
373
|
+
m.addrLow = parseInt($(this).find('.addr-low').val()) || 1;
|
|
374
|
+
}
|
|
363
375
|
// 保存自定义码
|
|
364
376
|
if (m.brand === 'custom') {
|
|
365
377
|
m.customCodes = {};
|