Merge pull request #11427 from maxunbearable/task/4176-gateway-advanced-config
Added Max payload size in bytes and Min packet size to send
This commit is contained in:
commit
7d896fbcde
@ -84,6 +84,27 @@
|
||||
</mat-form-field>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb-form-row column-xs" fxLayoutAlign="space-between center">
|
||||
<div class="fixed-title-width" tb-hint-tooltip-icon="{{ 'gateway.hints.poll-period' | translate }}">
|
||||
<div tbTruncateWithTooltip>{{ 'gateway.poll-period' | translate }}</div>
|
||||
</div>
|
||||
<div class="tb-flex no-gap">
|
||||
<mat-form-field class="tb-flex no-gap" appearance="outline" subscriptSizing="dynamic">
|
||||
<input matInput type="number" min="50" name="value"
|
||||
formControlName="pollPeriodInMillis" placeholder="{{ 'gateway.set' | translate }}"/>
|
||||
<mat-icon matSuffix
|
||||
matTooltipPosition="above"
|
||||
matTooltipClass="tb-error-tooltip"
|
||||
[matTooltip]="'gateway.poll-period-error' | translate: {min: 50}"
|
||||
*ngIf="(serverConfigFormGroup.get('pollPeriodInMillis').hasError('required') ||
|
||||
serverConfigFormGroup.get('pollPeriodInMillis').hasError('min')) &&
|
||||
serverConfigFormGroup.get('pollPeriodInMillis').touched"
|
||||
class="tb-error">
|
||||
warning
|
||||
</mat-icon>
|
||||
</mat-form-field>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tb-form-row column-xs" fxLayoutAlign="space-between center">
|
||||
<div class="fixed-title-width" tb-hint-tooltip-icon="{{ 'gateway.hints.sub-check-period' | translate }}">
|
||||
<div tbTruncateWithTooltip>{{ 'gateway.sub-check-period' | translate }}</div>
|
||||
|
||||
@ -38,6 +38,7 @@ import { takeUntil } from 'rxjs/operators';
|
||||
import {
|
||||
SecurityConfigComponent
|
||||
} from '@home/components/widget/lib/gateway/connectors-configuration/security-config/security-config.component';
|
||||
import { HOUR } from '@shared/models/time/time.models';
|
||||
|
||||
@Component({
|
||||
selector: 'tb-opc-server-config',
|
||||
@ -78,7 +79,8 @@ export class OpcServerConfigComponent implements ControlValueAccessor, Validator
|
||||
name: ['', []],
|
||||
url: ['', [Validators.required, Validators.pattern(noLeadTrailSpacesRegex)]],
|
||||
timeoutInMillis: [1000, [Validators.required, Validators.min(1000)]],
|
||||
scanPeriodInMillis: [1000, [Validators.required, Validators.min(1000)]],
|
||||
scanPeriodInMillis: [HOUR, [Validators.required, Validators.min(1000)]],
|
||||
pollPeriodInMillis: [5000, [Validators.required, Validators.min(50)]],
|
||||
enableSubscriptions: [true, []],
|
||||
subCheckPeriodInMillis: [100, [Validators.required, Validators.min(100)]],
|
||||
showMap: [false, []],
|
||||
@ -116,7 +118,8 @@ export class OpcServerConfigComponent implements ControlValueAccessor, Validator
|
||||
writeValue(serverConfig: ServerConfig): void {
|
||||
const {
|
||||
timeoutInMillis = 1000,
|
||||
scanPeriodInMillis = 1000,
|
||||
scanPeriodInMillis = HOUR,
|
||||
pollPeriodInMillis = 5000,
|
||||
enableSubscriptions = true,
|
||||
subCheckPeriodInMillis = 100,
|
||||
showMap = false,
|
||||
@ -128,6 +131,7 @@ export class OpcServerConfigComponent implements ControlValueAccessor, Validator
|
||||
...serverConfig,
|
||||
timeoutInMillis,
|
||||
scanPeriodInMillis,
|
||||
pollPeriodInMillis,
|
||||
enableSubscriptions,
|
||||
subCheckPeriodInMillis,
|
||||
showMap,
|
||||
|
||||
@ -726,6 +726,10 @@
|
||||
<mat-error *ngIf="gatewayConfigGroup.get('thingsboard.minPackSendDelayMS').hasError('min')">
|
||||
{{ 'gateway.min-pack-send-delay-min' | translate }}
|
||||
</mat-error>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.minPackSendDelayMS').hasError('pattern')">
|
||||
{{ 'gateway.min-pack-send-delay-min-pattern' | translate }}
|
||||
</mat-error>
|
||||
<mat-icon matIconSuffix style="cursor:pointer;"
|
||||
matTooltip="{{ 'gateway.hints.minimal-pack-delay' | translate }}">info_outlined
|
||||
</mat-icon>
|
||||
@ -747,22 +751,64 @@
|
||||
</mat-icon>
|
||||
</mat-form-field>
|
||||
</section>
|
||||
<mat-form-field appearance="outline" class="mat-block">
|
||||
<mat-label translate>gateway.statistics.check-connectors-configuration</mat-label>
|
||||
<input matInput formControlName="checkConnectorsConfigurationInSeconds" type="number" min="0"/>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.checkConnectorsConfigurationInSeconds').hasError('required')">
|
||||
{{ 'gateway.statistics.check-connectors-configuration-required' | translate }}
|
||||
</mat-error>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.checkConnectorsConfigurationInSeconds').hasError('min')">
|
||||
{{ 'gateway.statistics.check-connectors-configuration-min' | translate }}
|
||||
</mat-error>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.checkConnectorsConfigurationInSeconds').hasError('pattern')">
|
||||
{{ 'gateway.statistics.check-connectors-configuration-pattern' | translate }}
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
<section class="tb-form-row no-border no-padding tb-standard-fields column-xs">
|
||||
<mat-form-field appearance="outline" class="flex">
|
||||
<mat-label translate>gateway.statistics.check-connectors-configuration</mat-label>
|
||||
<input matInput formControlName="checkConnectorsConfigurationInSeconds" type="number" min="0"/>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.checkConnectorsConfigurationInSeconds').hasError('required')">
|
||||
{{ 'gateway.statistics.check-connectors-configuration-required' | translate }}
|
||||
</mat-error>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.checkConnectorsConfigurationInSeconds').hasError('min')">
|
||||
{{ 'gateway.statistics.check-connectors-configuration-min' | translate }}
|
||||
</mat-error>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.checkConnectorsConfigurationInSeconds').hasError('pattern')">
|
||||
{{ 'gateway.statistics.check-connectors-configuration-pattern' | translate }}
|
||||
</mat-error>
|
||||
</mat-form-field>
|
||||
<mat-form-field appearance="outline" class="flex">
|
||||
<mat-label translate>gateway.statistics.max-payload-size-bytes</mat-label>
|
||||
<input matInput formControlName="maxPayloadSizeBytes" type="number" min="0"/>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.maxPayloadSizeBytes').hasError('required')">
|
||||
{{ 'gateway.statistics.max-payload-size-bytes-required' | translate }}
|
||||
</mat-error>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.maxPayloadSizeBytes').hasError('min')">
|
||||
{{ 'gateway.statistics.max-payload-size-bytes-min' | translate }}
|
||||
</mat-error>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.maxPayloadSizeBytes').hasError('pattern')">
|
||||
{{ 'gateway.statistics.max-payload-size-bytes-pattern' | translate }}
|
||||
</mat-error>
|
||||
<mat-icon matIconSuffix style="cursor:pointer;"
|
||||
matTooltip="{{ 'gateway.hints.max-payload-size-bytes' | translate }}">info_outlined
|
||||
</mat-icon>
|
||||
</mat-form-field>
|
||||
</section>
|
||||
<section class="tb-form-row no-border no-padding tb-standard-fields column-xs">
|
||||
<mat-form-field appearance="outline" class="flex">
|
||||
<mat-label translate>gateway.statistics.min-pack-size-to-send</mat-label>
|
||||
<input matInput formControlName="minPackSizeToSend" type="number" min="0"/>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.minPackSizeToSend').hasError('required')">
|
||||
{{ 'gateway.statistics.min-pack-size-to-send-required' | translate }}
|
||||
</mat-error>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.minPackSizeToSend').hasError('min')">
|
||||
{{ 'gateway.statistics.min-pack-size-to-send-min' | translate }}
|
||||
</mat-error>
|
||||
<mat-error
|
||||
*ngIf="gatewayConfigGroup.get('thingsboard.minPackSizeToSend').hasError('pattern')">
|
||||
{{ 'gateway.statistics.min-pack-size-to-send-pattern' | translate }}
|
||||
</mat-error>
|
||||
<mat-icon matIconSuffix style="cursor:pointer;"
|
||||
matTooltip="{{ 'gateway.hints.min-pack-size-to-send' | translate }}">info_outlined
|
||||
</mat-icon>
|
||||
</mat-form-field>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</ng-template>
|
||||
|
||||
@ -102,9 +102,9 @@ export class GatewayConfigurationComponent implements OnInit {
|
||||
statsSendPeriodInSeconds: [3600, [Validators.required, Validators.min(60), Validators.pattern(/^-?[0-9]+$/)]],
|
||||
commands: this.fb.array([], [])
|
||||
}),
|
||||
maxPayloadSizeBytes: [1024, [Validators.required, Validators.min(1), Validators.pattern(/^-?[0-9]+$/)]],
|
||||
minPackSendDelayMS: [200, [Validators.required, Validators.min(0), Validators.pattern(/^-?[0-9]+$/)]],
|
||||
minPackSizeToSend: [500, [Validators.required, Validators.min(1), Validators.pattern(/^-?[0-9]+$/)]],
|
||||
maxPayloadSizeBytes: [8196, [Validators.required, Validators.min(100), Validators.pattern(/^-?[0-9]+$/)]],
|
||||
minPackSendDelayMS: [50, [Validators.required, Validators.min(10), Validators.pattern(/^-?[0-9]+$/)]],
|
||||
minPackSizeToSend: [500, [Validators.required, Validators.min(100), Validators.pattern(/^-?[0-9]+$/)]],
|
||||
handleDeviceRenaming: [true, []],
|
||||
checkingDeviceActivity: this.fb.group({
|
||||
checkDeviceInactivity: [false, []],
|
||||
|
||||
@ -151,6 +151,7 @@ export interface ServerConfig {
|
||||
url: string;
|
||||
timeoutInMillis: number;
|
||||
scanPeriodInMillis: number;
|
||||
pollPeriodInMillis: number;
|
||||
enableSubscriptions: boolean;
|
||||
subCheckPeriodInMillis: number;
|
||||
showMap: boolean;
|
||||
|
||||
@ -3042,7 +3042,8 @@
|
||||
"method-required": "Method name is required.",
|
||||
"min-pack-send-delay": "Min pack send delay (in ms)",
|
||||
"min-pack-send-delay-required": "Min pack send delay is required",
|
||||
"min-pack-send-delay-min": "Min pack send delay can not be less then 0",
|
||||
"min-pack-send-delay-min": "Min pack send delay can not be less then 10",
|
||||
"min-pack-send-delay-pattern": "Min pack send delay is not valid",
|
||||
"mode": "Mode",
|
||||
"model-name": "Model name",
|
||||
"mqtt-version": "MQTT version",
|
||||
@ -3066,6 +3067,7 @@
|
||||
"password-required": "Password is required.",
|
||||
"permit-without-calls": "Keep alive permit without calls",
|
||||
"poll-period": "Poll period (ms)",
|
||||
"poll-period-error": "Poll period should be at least {{min}} (ms).",
|
||||
"port": "Port",
|
||||
"port-required": "Port is required.",
|
||||
"port-limits-error": "Port should be number from {{min}} to {{max}}.",
|
||||
@ -3245,6 +3247,14 @@
|
||||
"send-period-min": "Statistic send period can not be less then 60",
|
||||
"send-period-pattern": "Statistic send period is not valid",
|
||||
"check-connectors-configuration": "Check connectors configuration (in sec)",
|
||||
"max-payload-size-bytes": "Max payload size in bytes",
|
||||
"max-payload-size-bytes-required": "Max payload size in bytes is required",
|
||||
"max-payload-size-bytes-min": "Max payload size in bytes can not be less then 100",
|
||||
"max-payload-size-bytes-pattern": "Max payload size in bytes is not valid",
|
||||
"min-pack-size-to-send": "Min packet size to send",
|
||||
"min-pack-size-to-send-required": "Min packet size to send is required",
|
||||
"min-pack-size-to-send-min": "Min packet size to send can not be less then 100",
|
||||
"min-pack-size-to-send-pattern": "Min packet size to send is not valid",
|
||||
"check-connectors-configuration-required": "Check connectors configuration is required",
|
||||
"check-connectors-configuration-min": "Check connectors configuration can not be less then 1",
|
||||
"check-connectors-configuration-pattern": "Check connectors configuration is not valid",
|
||||
@ -3411,6 +3421,9 @@
|
||||
"show-map": "Show nodes on scanning.",
|
||||
"method-name": "Name of method on OPC-UA server.",
|
||||
"arguments": "Arguments for the method (will be overwritten by arguments from the RPC request).",
|
||||
"min-pack-size-to-send": "Minimum package size for sending.",
|
||||
"max-payload-size-bytes": "Maximum package size in bytes",
|
||||
"poll-period": "Period in milliseconds to read data from nodes.",
|
||||
"modbus": {
|
||||
"framer-type": "Type of a framer (Socket, RTU, or ASCII), if needed.",
|
||||
"host": "Hostname or IP address of Modbus server.",
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
"name": "OPC-UA Default Server",
|
||||
"url": "localhost:4840/freeopcua/server/",
|
||||
"timeoutInMillis": 5000,
|
||||
"scanPeriodInMillis": 5000,
|
||||
"scanPeriodInMillis": 3600000,
|
||||
"pollPeriodInMillis": 5000,
|
||||
"enableSubscriptions": true,
|
||||
"subCheckPeriodInMillis": 100,
|
||||
"showMap": false,
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
"name": "OPC-UA Default Server",
|
||||
"url": "localhost:4840/freeopcua/server/",
|
||||
"timeoutInMillis": 5000,
|
||||
"scanPeriodInMillis": 5000,
|
||||
"scanPeriodInMillis": 3600000,
|
||||
"pollPeriodInMillis": 5000,
|
||||
"disableSubscriptions": false,
|
||||
"subCheckPeriodInMillis": 100,
|
||||
"showMap": false,
|
||||
@ -49,4 +50,4 @@
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user