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.
@@ -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 || 1) + '" min="1" max="255" title="Modbus地址">' +
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
- mappings[idx].address = parseInt($(this).val()) || 1;
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: parseInt($(this).find('.addr-input').val()) || 1,
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 = {};