diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-data-keys-panel/modbus-data-keys-panel.component.html b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-data-keys-panel/modbus-data-keys-panel.component.html
index a38b7e4dda..048ee94553 100644
--- a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-data-keys-panel/modbus-data-keys-panel.component.html
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-data-keys-panel/modbus-data-keys-panel.component.html
@@ -89,6 +89,7 @@
matInput
type="number"
min="1"
+ max="50000"
name="value"
formControlName="objectsCount"
placeholder="{{ 'gateway.set' | translate }}"
@@ -101,7 +102,7 @@
gateway.address
-
+
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-security-config/modbus-security-config.component.ts b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-security-config/modbus-security-config.component.ts
index f056c9c92f..1e58cb4a40 100644
--- a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-security-config/modbus-security-config.component.ts
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-security-config/modbus-security-config.component.ts
@@ -138,7 +138,7 @@ export class ModbusSecurityConfigComponent implements ControlValueAccessor, Vali
this.securityConfigFormGroup.valueChanges.pipe(
takeUntil(this.destroy$)
).subscribe((value: ModbusSecurity) => {
- this.onChange(value);
+ this.onChange(this.disabled ? {} : value);
this.onTouched();
});
}
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-config/modbus-slave-config.component.html b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-config/modbus-slave-config.component.html
index 4b0789fb4c..41a7d2aee7 100644
--- a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-config/modbus-slave-config.component.html
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-config/modbus-slave-config.component.html
@@ -102,7 +102,8 @@
- {{ ModbusMethodLabelsMap.get(method) }}
+ {{ ModbusMethodLabelsMap.get(method) }}
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-config/modbus-slave-config.component.ts b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-config/modbus-slave-config.component.ts
index f1234ccfb1..d328a97baf 100644
--- a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-config/modbus-slave-config.component.ts
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-config/modbus-slave-config.component.ts
@@ -33,6 +33,7 @@ import {
ModbusProtocolLabelsMap,
ModbusProtocolType,
ModbusRegisterValues,
+ ModbusSerialMethodType,
ModbusSlave,
noLeadTrailSpacesRegex,
PortLimits,
@@ -90,6 +91,7 @@ export class ModbusSlaveConfigComponent implements ControlValueAccessor, Validat
readonly modbusProtocolTypes = Object.values(ModbusProtocolType);
readonly modbusMethodTypes = Object.values(ModbusMethodType);
+ readonly modbusSerialMethodTypes = Object.values(ModbusSerialMethodType);
readonly modbusOrderType = Object.values(ModbusOrderType);
readonly ModbusProtocolType = ModbusProtocolType;
readonly serialSpecificControlKeys = ['serialPort', 'baudrate'];
@@ -107,7 +109,7 @@ export class ModbusSlaveConfigComponent implements ControlValueAccessor, Validat
host: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
port: [null, [Validators.required, Validators.min(PortLimits.MIN), Validators.max(PortLimits.MAX)]],
serialPort: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
- method: [ModbusMethodType.SOCKET, []],
+ method: [ModbusMethodType.RTU, []],
unitId: [null, [Validators.required]],
baudrate: [null, []],
deviceName: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
@@ -133,7 +135,7 @@ export class ModbusSlaveConfigComponent implements ControlValueAccessor, Validat
value.port = value.serialPort;
delete value.serialPort;
}
- this.onChange(value);
+ this.onChange(this.slaveConfigFormGroup.get('sendDataToThingsBoard').value ? value : {} as SlaveConfig);
this.onTouched();
});
@@ -226,7 +228,7 @@ export class ModbusSlaveConfigComponent implements ControlValueAccessor, Validat
let slaveState: ModbusSlave = {
host: host ?? '',
type: type ?? ModbusProtocolType.TCP,
- method: method ?? ModbusMethodType.SOCKET,
+ method: method ?? ModbusMethodType.RTU,
unitId: unitId ?? null,
deviceName: deviceName ?? '',
deviceType: deviceType ?? '',
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-dialog/modbus-slave-dialog.component.html b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-dialog/modbus-slave-dialog.component.html
index 3ac441447c..d3c06aeb4b 100644
--- a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-dialog/modbus-slave-dialog.component.html
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-dialog/modbus-slave-dialog.component.html
@@ -124,7 +124,8 @@
- {{ ModbusMethodLabelsMap.get(method) }}
+ {{ ModbusMethodLabelsMap.get(method) }}
@@ -143,7 +144,9 @@
gateway.bytesize
-
+
+ {{ size }}
+
@@ -159,7 +162,9 @@
gateway.parity
-
+
+ {{ ModbusParityLabelsMap.get(parity) }}
+
@@ -274,7 +279,7 @@
-
+
@@ -332,7 +337,6 @@
diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-dialog/modbus-slave-dialog.component.ts b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-dialog/modbus-slave-dialog.component.ts
index 006ae7a482..f0c8c2bd45 100644
--- a/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-dialog/modbus-slave-dialog.component.ts
+++ b/ui-ngx/src/app/modules/home/components/widget/lib/gateway/connectors-configuration/modbus/modbus-slave-dialog/modbus-slave-dialog.component.ts
@@ -25,11 +25,15 @@ import {
} from '@angular/forms';
import {
MappingInfo,
+ ModbusByteSizes,
ModbusMethodLabelsMap,
ModbusMethodType,
ModbusOrderType,
+ ModbusParity,
+ ModbusParityLabelsMap,
ModbusProtocolLabelsMap,
ModbusProtocolType,
+ ModbusSerialMethodType,
noLeadTrailSpacesRegex,
PortLimits, SlaveConfig,
} from '@home/components/widget/lib/gateway/gateway-widget.models';
@@ -92,8 +96,12 @@ export class ModbusSlaveDialogComponent extends DialogComponent(
+export enum ModbusSerialMethodType {
+ RTU = 'rtu',
+ ASCII = 'ascii',
+}
+
+export const ModbusMethodLabelsMap = new Map(
[
[ModbusMethodType.SOCKET, 'Socket'],
[ModbusMethodType.RTU, 'RTU'],
+ [ModbusSerialMethodType.ASCII, 'ASCII'],
+ ]
+);
+
+export const ModbusByteSizes = [5, 6, 7 ,8];
+
+export enum ModbusParity {
+ Even = 'E',
+ Odd = 'O',
+ None = 'N'
+}
+
+export const ModbusParityLabelsMap = new Map(
+ [
+ [ModbusParity.Even, 'Even'],
+ [ModbusParity.Odd, 'Odd'],
+ [ModbusParity.None, 'None'],
]
);
@@ -872,7 +894,7 @@ export const ModbusKeysDeleteKeyTranslationsMap = new Map