grenton-ts 1.0.0

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.
Files changed (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +86 -0
  3. package/dist/analog-din/fv02_01/analog-in.ts +271 -0
  4. package/dist/clu/calendar/v1/calendar.ts +308 -0
  5. package/dist/clu/clu-zwave-2/fv515_03/clu-zwave-2.ts +1302 -0
  6. package/dist/clu/event-scheduler/v1/event-scheduler.ts +537 -0
  7. package/dist/clu/multi-fan-ac-thermostat/v1/multi-fan-ac-thermostat.ts +1163 -0
  8. package/dist/clu/pid-controller/v1/pid-controller.ts +536 -0
  9. package/dist/clu/presence-sensor/v1/presence-sensor.ts +313 -0
  10. package/dist/clu/presence-sensor/v2/presence-sensor.ts +470 -0
  11. package/dist/clu/push/v1/push.ts +261 -0
  12. package/dist/clu/scheduler/v1/scheduler.ts +304 -0
  13. package/dist/clu/statistics/v1/statistics.ts +413 -0
  14. package/dist/clu/statistics-pulse/v1/statistics-pulse.ts +218 -0
  15. package/dist/clu/sunrise-sunset-calendar/v1/sunrise-sunset-calendar.ts +389 -0
  16. package/dist/clu/sunrise-sunset-calendar/v2/sunrise-sunset-calendar.ts +659 -0
  17. package/dist/clu/sunrise-sunset-calendar/v3/sunrise-sunset-calendar.ts +659 -0
  18. package/dist/clu/thermostat/v1/thermostat.ts +768 -0
  19. package/dist/clu/thermostat/v2/thermostat.ts +861 -0
  20. package/dist/clu/timer/v1/timer.ts +369 -0
  21. package/dist/core/execution-builder.ts +55 -0
  22. package/dist/core/remote-gate.ts +17 -0
  23. package/dist/digital-in-din/fv02_01/din.ts +310 -0
  24. package/dist/examples/light_turned_on_by_calendar/Clu_OnInit.ts +26 -0
  25. package/dist/examples/light_turned_on_by_presence_sensor/Clu_OnInit.ts +35 -0
  26. package/dist/examples/light_turned_on_by_switch/Clu_OnInit.ts +16 -0
  27. package/dist/gate/cool-master/v1/cool-master.ts +782 -0
  28. package/dist/gate/cool-master-net/v1/cool-master-net.ts +334 -0
  29. package/dist/gate/denon-marantz-avr/v1/denon-marantz-avr.ts +724 -0
  30. package/dist/gate/heos/v1/heos.ts +1224 -0
  31. package/dist/gate/http/fv1000_03/clu-gate-http.ts +405 -0
  32. package/dist/gate/http/fv1000_03_hv1/clu-gate-http.ts +352 -0
  33. package/dist/gate/http/fv1100_03/clu-gate-http.ts +589 -0
  34. package/dist/gate/http/fv1110_03/clu-gate-http.ts +589 -0
  35. package/dist/gate/http/fv1300_03/clu-gate-http.ts +589 -0
  36. package/dist/gate/http/fv1400_03/clu-gate-http.ts +677 -0
  37. package/dist/gate/http-listener/v1/http-listener.ts +299 -0
  38. package/dist/gate/http-listener/v2/http-listener.ts +325 -0
  39. package/dist/gate/http-request/v1/http-request.ts +645 -0
  40. package/dist/gate/http-request/v2/http-request.ts +709 -0
  41. package/dist/gate/input/v1/input.ts +171 -0
  42. package/dist/gate/jablotron/v1/jablotron.ts +100 -0
  43. package/dist/gate/jablotron-device/v1/jablotron-device.ts +171 -0
  44. package/dist/gate/jablotron-output/v1/jablotron-output.ts +240 -0
  45. package/dist/gate/jablotron-section/v1/jablotron-section.ts +260 -0
  46. package/dist/gate/modbus/v1/modbus.ts +609 -0
  47. package/dist/gate/modbus/v2/modbus.ts +690 -0
  48. package/dist/gate/modbus-client/v1/modbus-client.ts +827 -0
  49. package/dist/gate/modbus-rtu/v1/modbus-rtu.ts +911 -0
  50. package/dist/gate/modbus-server/v1/modbus-server.ts +405 -0
  51. package/dist/gate/modbus-slave-config-rtu/v1/modbus-slave-config-rtu.ts +160 -0
  52. package/dist/gate/modbus-slave-rtu/v1/modbus-slave-rtu.ts +371 -0
  53. package/dist/gate/modbus-value/v1/modbus-value.ts +856 -0
  54. package/dist/gate/music-cast/v1/music-cast.ts +1298 -0
  55. package/dist/gate/output/v1/output.ts +240 -0
  56. package/dist/gate/satel/v1/satel.ts +359 -0
  57. package/dist/gate/satel-input/v1/satel-input.ts +171 -0
  58. package/dist/gate/satel-output/v1/satel-output.ts +240 -0
  59. package/dist/gate/satel-zone/v1/satel-zone.ts +235 -0
  60. package/dist/gate/sonos/v1/sonos.ts +934 -0
  61. package/dist/gate/timer/v2/timer.ts +253 -0
  62. package/dist/gate/zone/v1/zone.ts +235 -0
  63. package/dist/io-module-din-8/fv02_02/din.ts +354 -0
  64. package/dist/io-module-din-8/fv02_02/dout.ts +360 -0
  65. package/dist/one-wire/fv01_10/onew-sensor.ts +269 -0
  66. package/dist/one-wire/fv01_28/onew-sensor.ts +269 -0
  67. package/dist/one-wire/fv02_28/onew-sensor.ts +350 -0
  68. package/dist/one-wire/fv03_28/onew-sensor.ts +435 -0
  69. package/dist/relay-din-2/fv02_02/dout.ts +544 -0
  70. package/dist/relay-din-4/fv01_02/dout.ts +340 -0
  71. package/dist/relay-din-4/fv02_02/dout.ts +368 -0
  72. package/dist/roller-shutter-din-3/fv03_02/roller-shutter.ts +1078 -0
  73. package/dist/smart-panel-fm-4/fv03_03/panel-button.ts +550 -0
  74. package/dist/smart-panel-fm-4/fv03_03/panel-sens-light.ts +238 -0
  75. package/dist/smart-panel-fm-4/fv03_03/panel-sens-temp.ts +239 -0
  76. package/dist/smart-panel-fm-4/fv03_03/panel.ts +700 -0
  77. package/dist/smart-panel-fm-4/fv04_03/panel-button.ts +567 -0
  78. package/dist/smart-panel-fm-4/fv04_03/panel-page.ts +516 -0
  79. package/dist/smart-panel-fm-4/fv04_03/panel-sens-light.ts +238 -0
  80. package/dist/smart-panel-fm-4/fv04_03/panel-sens-temp.ts +239 -0
  81. package/dist/smart-panel-fm-4/fv04_03/panel.ts +1026 -0
  82. package/dist/smart-panel-fm-4/fv05_03/panel-button.ts +567 -0
  83. package/dist/smart-panel-fm-4/fv05_03/panel-page.ts +620 -0
  84. package/dist/smart-panel-fm-4/fv05_03/panel-sens-light.ts +238 -0
  85. package/dist/smart-panel-fm-4/fv05_03/panel-sens-temp.ts +266 -0
  86. package/dist/smart-panel-fm-4/fv05_03/panel.ts +1109 -0
  87. package/dist/smart-panel-fm-4/fv06_03/panel-button.ts +567 -0
  88. package/dist/smart-panel-fm-4/fv06_03/panel-page.ts +877 -0
  89. package/dist/smart-panel-fm-4/fv06_03/panel-sens-light.ts +238 -0
  90. package/dist/smart-panel-fm-4/fv06_03/panel-sens-temp.ts +297 -0
  91. package/dist/smart-panel-fm-4/fv06_03/panel.ts +1138 -0
  92. package/dist/smart-panel-fm-4/fv07_03/panel-button.ts +567 -0
  93. package/dist/smart-panel-fm-4/fv07_03/panel-page.ts +864 -0
  94. package/dist/smart-panel-fm-4/fv07_03/panel-sens-light.ts +238 -0
  95. package/dist/smart-panel-fm-4/fv07_03/panel-sens-temp.ts +297 -0
  96. package/dist/smart-panel-fm-4/fv07_03/panel.ts +1135 -0
  97. package/dist/touch-panel-fm-4/fv01_02/panel-button.ts +418 -0
  98. package/dist/touch-panel-fm-4/fv01_02/panel-sens-light.ts +238 -0
  99. package/dist/touch-panel-fm-4/fv01_02/panel-sens-temp.ts +257 -0
  100. package/dist/touch-panel-fm-4/fv01_02/panel.ts +75 -0
  101. package/dist/touch-panel-fm-4/fv01_02/power-supply-voltage.ts +322 -0
  102. package/dist/touch-panel-fm-8/fv01_02/panel-button.ts +418 -0
  103. package/dist/touch-panel-fm-8/fv01_02/panel-sens-light.ts +238 -0
  104. package/dist/touch-panel-fm-8/fv01_02/panel-sens-temp.ts +270 -0
  105. package/dist/touch-panel-fm-8/fv01_02/panel.ts +75 -0
  106. package/dist/touch-panel-fm-8/fv01_02/power-supply-voltage.ts +322 -0
  107. package/package.json +16 -0
@@ -0,0 +1,690 @@
1
+ // Created from: packages/grenton-api/interfaces/object_modbus_v2.xml, object name="Modbus" version="2"
2
+
3
+ import { rawExecutionBuilderFactory } from "../../../core/execution-builder"
4
+ import { RemoteGate } from "../../../core/remote-gate"
5
+
6
+ enum EventType {
7
+ OnChange = 0,
8
+ OnError = 1
9
+ }
10
+
11
+ enum PropertyType {
12
+ DeviceAddress = 0,
13
+ AccessRights = 1,
14
+ RegisterAddress = 2,
15
+ TransmisionSpeed = 3,
16
+ ValueType = 4,
17
+ BitPosition = 5,
18
+ BitCount = 6,
19
+ RefreshInterval = 8,
20
+ ResponseTimeout = 9,
21
+ Divisor = 10,
22
+ Endianess = 11,
23
+ RegisterType = 12,
24
+ ErrorCode = 13,
25
+ Value = 14,
26
+ RegisterValue = 15,
27
+ StopBits = 16,
28
+ Parity = 17
29
+ }
30
+
31
+ enum AccessRightsType {
32
+ Read = 0,
33
+ ReadWrite = 1
34
+ }
35
+
36
+ enum TransmisionSpeedType {
37
+ _1200 = 1200,
38
+ _2400 = 2400,
39
+ _4800 = 4800,
40
+ _9600 = 9600,
41
+ _19200 = 19200,
42
+ _38400 = 38400,
43
+ _57600 = 57600,
44
+ _115200 = 115200
45
+ }
46
+
47
+ enum ValueTypeType {
48
+ Number = 1,
49
+ Float = 2,
50
+ Bit = 3
51
+ }
52
+
53
+ enum EndianessType {
54
+ NoSwap = 0,
55
+ SwapBytesAndWords = 1,
56
+ SwapBytes = 2,
57
+ SwapWords = 3
58
+ }
59
+
60
+ enum RegisterTypeType {
61
+ BitOutputsInputs = 0,
62
+ BinaryInputs = 1,
63
+ HoldingRegisters = 2,
64
+ InputRegisters = 3
65
+ }
66
+
67
+ enum StopBitsType {
68
+ One = 0,
69
+ OneAndHalf = 1,
70
+ Two = 2
71
+ }
72
+
73
+ enum ParityType {
74
+ None = 0,
75
+ Odd = 1,
76
+ Even = 2
77
+ }
78
+
79
+ declare class ModbusRaw {
80
+ add_event(event: EventType, callback: () => void): void;
81
+ get(property: PropertyType): any;
82
+ set(property: PropertyType, value: any): void;
83
+ execute(method: number, ...args: any[]): any;
84
+ }
85
+
86
+ interface IModbus {
87
+ /**
88
+ * Zdarzenie wywoływane przy zmianie stanu (niezależnie od wartości)
89
+ * @param callback
90
+ */
91
+ addOnChange: (callback: () => void) => void
92
+ /**
93
+ * Zdarzenie wywoływane gdy urządzenie slave zgłasza błąd
94
+ * @param callback
95
+ */
96
+ addOnError: (callback: () => void) => void
97
+ /** Adres urządzenia Modbus */
98
+ deviceAddress: number
99
+ /** Tryb pracy: 0 - odczyt 1 - odczyt/zapis */
100
+ accessRights: AccessRightsType
101
+ /** Adres obsługiwanego rejestru */
102
+ registerAddress: number
103
+ /** Prędkość transmisji */
104
+ transmisionSpeed: TransmisionSpeedType
105
+ /** Typ zmiennej: 1 - Number 2 - Float 3 - Bit */
106
+ valueType: ValueTypeType
107
+ /** Pozycja bitu (dotyczy dostępu bitowego do 16bit rejestrów - typu bit) */
108
+ bitPosition: number
109
+ /** Liczba bitów rejestru: Dla 16 bitowych rejestrów - podanie wartości > 16 spowoduje odczyt / zapis 2 rejestrów Dla rejestrów bitowych / dwustanowych - określa liczbę odczytywanych / zapisywanych rejestrów W przypadku typu bit - określa liczbę bitów 16 bitowego rejestru podlegających operacji odczytu / zapisu */
110
+ bitCount: number
111
+ /** Czas odświeżania */
112
+ refreshInterval: number
113
+ /** Czas na odpowiedź */
114
+ responseTimeout: number
115
+ /** Dzielnik */
116
+ divisor: number
117
+ /** 0 - NoSwap - Little Endian 1 - SwapBytesAndWords - BigEndian 2 - SwapBytes - bajty w słowie: BigEndian; słowa: Little Endian 3 - SwapWords - bajty w słowie: LittleEndian, słowa: Big Endian */
118
+ endianess: EndianessType
119
+ /** Typ rejestru Modbus: 0 - wyjścia / wejścia bitowe - bitowe rejestry wyjśc/wejść. Dla zapisu pojedynczego wyjścia - funkcja Modbus: 5, dla wielu wyjść - funkcja Modbus: 15 1 - wejścia dwustanowe - 'discrete inputs' - funkcja Modbus: 3 2 - rejestry pamiętające - rejestry 16 bitowe. Zapis wartości 16bit - funkcja Modbus: 6, Zapis wartości 32bit - funkcja Modbus: 16. Odczyt - funkcja Modbus: 3 3 - rejestry wejściowe - rejestry 16 bitowe - funkcja Modbus: 4 */
120
+ registerType: RegisterTypeType
121
+ /** Kod błędu: 1 – niedozwolona funkcja 2 – niedozwolony numer rejestru 3 – niedozwolona wartość danej 4 – uszkodzenie w przyłączonym urządzeniu 5 – potwierdzenie pozytywne 6 – brak gotowości 7 – potwierdzenie negatywne 8 – błąd parzystości pamięci 10 - ścieżka bramy niedostępna 11 - brak odpowiedzi urządzenia docelowego 0 - poprawny odczyt/zapis rejestru -1 - nieaktualna wartość ostatniegoodczytanego rejestru -2 - przekroczenie czasu odpowiedzi -3 - błąd ramki (problem ze zdekodowaniem odpowiedzi) -4 - nieoczekiwany rozmiar odpowiedzi -5 - nieoczekiwany kod odpowiedzi -6 - nieprawidłowy stan obiektu -7 - błąd połączenia */
122
+ readonly errorCode: number
123
+ /** Wartość odczytu / zapisu */
124
+ value: number
125
+ /** Nieprzeskalowana wartość rejestru */
126
+ readonly registerValue: number
127
+ /** Bity stopu: 0 - 1 bit stopu 1 - 1.5 bitu stopu 2 - 2 bity stopu */
128
+ stopBits: StopBitsType
129
+ /** Bit parzystości: 0 - None 1 - Odd 2 - Even */
130
+ parity: ParityType
131
+ }
132
+
133
+ class Modbus implements IModbus {
134
+ private onChangeCallbacks: Array<() => void> = [];
135
+ private onErrorCallbacks: Array<() => void> = [];
136
+
137
+ constructor(private raw: ModbusRaw) {
138
+ this.raw.add_event(EventType.OnChange, () => {
139
+ this.onChangeCallbacks.forEach(callback => { callback(); });
140
+ });
141
+ this.raw.add_event(EventType.OnError, () => {
142
+ this.onErrorCallbacks.forEach(callback => { callback(); });
143
+ });
144
+ }
145
+
146
+ /**
147
+ * Zdarzenie wywoływane przy zmianie stanu (niezależnie od wartości)
148
+ * @param callback
149
+ */
150
+ addOnChange(callback: () => void): void {
151
+ this.onChangeCallbacks.push(callback);
152
+ }
153
+ /**
154
+ * Zdarzenie wywoływane gdy urządzenie slave zgłasza błąd
155
+ * @param callback
156
+ */
157
+ addOnError(callback: () => void): void {
158
+ this.onErrorCallbacks.push(callback);
159
+ }
160
+ /**
161
+ * Adres urządzenia Modbus
162
+ * @returns {number}
163
+ */
164
+ get deviceAddress(): number {
165
+ return this.raw.get(PropertyType.DeviceAddress);
166
+ }
167
+ set deviceAddress(value: number) {
168
+ this.raw.set(PropertyType.DeviceAddress, value);
169
+ }
170
+ /**
171
+ * Tryb pracy: 0 - odczyt 1 - odczyt/zapis
172
+ * @returns {AccessRightsType}
173
+ */
174
+ get accessRights(): AccessRightsType {
175
+ return this.raw.get(PropertyType.AccessRights);
176
+ }
177
+ set accessRights(value: AccessRightsType) {
178
+ this.raw.set(PropertyType.AccessRights, value);
179
+ }
180
+ /**
181
+ * Adres obsługiwanego rejestru
182
+ * @returns {number}
183
+ */
184
+ get registerAddress(): number {
185
+ return this.raw.get(PropertyType.RegisterAddress);
186
+ }
187
+ set registerAddress(value: number) {
188
+ this.raw.set(PropertyType.RegisterAddress, value);
189
+ }
190
+ /**
191
+ * Prędkość transmisji
192
+ * @returns {TransmisionSpeedType}
193
+ */
194
+ get transmisionSpeed(): TransmisionSpeedType {
195
+ return this.raw.get(PropertyType.TransmisionSpeed);
196
+ }
197
+ set transmisionSpeed(value: TransmisionSpeedType) {
198
+ this.raw.set(PropertyType.TransmisionSpeed, value);
199
+ }
200
+ /**
201
+ * Typ zmiennej: 1 - Number 2 - Float 3 - Bit
202
+ * @returns {ValueTypeType}
203
+ */
204
+ get valueType(): ValueTypeType {
205
+ return this.raw.get(PropertyType.ValueType);
206
+ }
207
+ set valueType(value: ValueTypeType) {
208
+ this.raw.set(PropertyType.ValueType, value);
209
+ }
210
+ /**
211
+ * Pozycja bitu (dotyczy dostępu bitowego do 16bit rejestrów - typu bit)
212
+ * @returns {number}
213
+ */
214
+ get bitPosition(): number {
215
+ return this.raw.get(PropertyType.BitPosition);
216
+ }
217
+ set bitPosition(value: number) {
218
+ this.raw.set(PropertyType.BitPosition, value);
219
+ }
220
+ /**
221
+ * Liczba bitów rejestru: Dla 16 bitowych rejestrów - podanie wartości > 16 spowoduje odczyt / zapis 2 rejestrów Dla rejestrów bitowych / dwustanowych - określa liczbę odczytywanych / zapisywanych rejestrów W przypadku typu bit - określa liczbę bitów 16 bitowego rejestru podlegających operacji odczytu / zapisu
222
+ * @returns {number}
223
+ */
224
+ get bitCount(): number {
225
+ return this.raw.get(PropertyType.BitCount);
226
+ }
227
+ set bitCount(value: number) {
228
+ this.raw.set(PropertyType.BitCount, value);
229
+ }
230
+ /**
231
+ * Czas odświeżania
232
+ * @returns {number}
233
+ */
234
+ get refreshInterval(): number {
235
+ return this.raw.get(PropertyType.RefreshInterval);
236
+ }
237
+ set refreshInterval(value: number) {
238
+ this.raw.set(PropertyType.RefreshInterval, value);
239
+ }
240
+ /**
241
+ * Czas na odpowiedź
242
+ * @returns {number}
243
+ */
244
+ get responseTimeout(): number {
245
+ return this.raw.get(PropertyType.ResponseTimeout);
246
+ }
247
+ set responseTimeout(value: number) {
248
+ this.raw.set(PropertyType.ResponseTimeout, value);
249
+ }
250
+ /**
251
+ * Dzielnik
252
+ * @returns {number}
253
+ */
254
+ get divisor(): number {
255
+ return this.raw.get(PropertyType.Divisor);
256
+ }
257
+ set divisor(value: number) {
258
+ this.raw.set(PropertyType.Divisor, value);
259
+ }
260
+ /**
261
+ * 0 - NoSwap - Little Endian 1 - SwapBytesAndWords - BigEndian 2 - SwapBytes - bajty w słowie: BigEndian; słowa: Little Endian 3 - SwapWords - bajty w słowie: LittleEndian, słowa: Big Endian
262
+ * @returns {EndianessType}
263
+ */
264
+ get endianess(): EndianessType {
265
+ return this.raw.get(PropertyType.Endianess);
266
+ }
267
+ set endianess(value: EndianessType) {
268
+ this.raw.set(PropertyType.Endianess, value);
269
+ }
270
+ /**
271
+ * Typ rejestru Modbus: 0 - wyjścia / wejścia bitowe - bitowe rejestry wyjśc/wejść. Dla zapisu pojedynczego wyjścia - funkcja Modbus: 5, dla wielu wyjść - funkcja Modbus: 15 1 - wejścia dwustanowe - 'discrete inputs' - funkcja Modbus: 3 2 - rejestry pamiętające - rejestry 16 bitowe. Zapis wartości 16bit - funkcja Modbus: 6, Zapis wartości 32bit - funkcja Modbus: 16. Odczyt - funkcja Modbus: 3 3 - rejestry wejściowe - rejestry 16 bitowe - funkcja Modbus: 4
272
+ * @returns {RegisterTypeType}
273
+ */
274
+ get registerType(): RegisterTypeType {
275
+ return this.raw.get(PropertyType.RegisterType);
276
+ }
277
+ set registerType(value: RegisterTypeType) {
278
+ this.raw.set(PropertyType.RegisterType, value);
279
+ }
280
+ /**
281
+ * Kod błędu: 1 – niedozwolona funkcja 2 – niedozwolony numer rejestru 3 – niedozwolona wartość danej 4 – uszkodzenie w przyłączonym urządzeniu 5 – potwierdzenie pozytywne 6 – brak gotowości 7 – potwierdzenie negatywne 8 – błąd parzystości pamięci 10 - ścieżka bramy niedostępna 11 - brak odpowiedzi urządzenia docelowego 0 - poprawny odczyt/zapis rejestru -1 - nieaktualna wartość ostatniegoodczytanego rejestru -2 - przekroczenie czasu odpowiedzi -3 - błąd ramki (problem ze zdekodowaniem odpowiedzi) -4 - nieoczekiwany rozmiar odpowiedzi -5 - nieoczekiwany kod odpowiedzi -6 - nieprawidłowy stan obiektu -7 - błąd połączenia
282
+ * @returns {number}
283
+ */
284
+ get errorCode(): number {
285
+ return this.raw.get(PropertyType.ErrorCode);
286
+ }
287
+ /**
288
+ * Wartość odczytu / zapisu
289
+ * @returns {number}
290
+ */
291
+ get value(): number {
292
+ return this.raw.get(PropertyType.Value);
293
+ }
294
+ set value(v: number) {
295
+ this.raw.set(PropertyType.Value, v);
296
+ }
297
+ /**
298
+ * Nieprzeskalowana wartość rejestru
299
+ * @returns {number}
300
+ */
301
+ get registerValue(): number {
302
+ return this.raw.get(PropertyType.RegisterValue);
303
+ }
304
+ /**
305
+ * Bity stopu: 0 - 1 bit stopu 1 - 1.5 bitu stopu 2 - 2 bity stopu
306
+ * @returns {StopBitsType}
307
+ */
308
+ get stopBits(): StopBitsType {
309
+ return this.raw.get(PropertyType.StopBits);
310
+ }
311
+ set stopBits(value: StopBitsType) {
312
+ this.raw.set(PropertyType.StopBits, value);
313
+ }
314
+ /**
315
+ * Bit parzystości: 0 - None 1 - Odd 2 - Even
316
+ * @returns {ParityType}
317
+ */
318
+ get parity(): ParityType {
319
+ return this.raw.get(PropertyType.Parity);
320
+ }
321
+ set parity(value: ParityType) {
322
+ this.raw.set(PropertyType.Parity, value);
323
+ }
324
+ }
325
+
326
+ class ModbusRemote implements IModbus {
327
+ constructor(private objectName: string, private gate: RemoteGate) {
328
+
329
+ }
330
+
331
+ /**
332
+ * Zdarzenie wywoływane przy zmianie stanu (niezależnie od wartości)
333
+ * @param callback
334
+ */
335
+ addOnChange(_callback: () => void): void {
336
+ // Remote events are not supported
337
+ }
338
+ /**
339
+ * Zdarzenie wywoływane gdy urządzenie slave zgłasza błąd
340
+ * @param callback
341
+ */
342
+ addOnError(_callback: () => void): void {
343
+ // Remote events are not supported
344
+ }
345
+
346
+ /**
347
+ * Adres urządzenia Modbus
348
+ * @returns {number}
349
+ */
350
+ get deviceAddress(): number {
351
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
352
+ .get()
353
+ .addParameter(PropertyType.DeviceAddress)
354
+ .build();
355
+ return this.gate.runScript(cmd!);
356
+ }
357
+
358
+ set deviceAddress(value: number) {
359
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
360
+ .set()
361
+ .addParameter(PropertyType.DeviceAddress)
362
+ .addParameter(value)
363
+ .build();
364
+ this.gate.runScript(cmd!);
365
+ }
366
+
367
+ /**
368
+ * Tryb pracy: 0 - odczyt 1 - odczyt/zapis
369
+ * @returns {AccessRightsType}
370
+ */
371
+ get accessRights(): AccessRightsType {
372
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
373
+ .get()
374
+ .addParameter(PropertyType.AccessRights)
375
+ .build();
376
+ return this.gate.runScript(cmd!);
377
+ }
378
+
379
+ set accessRights(value: AccessRightsType) {
380
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
381
+ .set()
382
+ .addParameter(PropertyType.AccessRights)
383
+ .addParameter(value)
384
+ .build();
385
+ this.gate.runScript(cmd!);
386
+ }
387
+
388
+ /**
389
+ * Adres obsługiwanego rejestru
390
+ * @returns {number}
391
+ */
392
+ get registerAddress(): number {
393
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
394
+ .get()
395
+ .addParameter(PropertyType.RegisterAddress)
396
+ .build();
397
+ return this.gate.runScript(cmd!);
398
+ }
399
+
400
+ set registerAddress(value: number) {
401
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
402
+ .set()
403
+ .addParameter(PropertyType.RegisterAddress)
404
+ .addParameter(value)
405
+ .build();
406
+ this.gate.runScript(cmd!);
407
+ }
408
+
409
+ /**
410
+ * Prędkość transmisji
411
+ * @returns {TransmisionSpeedType}
412
+ */
413
+ get transmisionSpeed(): TransmisionSpeedType {
414
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
415
+ .get()
416
+ .addParameter(PropertyType.TransmisionSpeed)
417
+ .build();
418
+ return this.gate.runScript(cmd!);
419
+ }
420
+
421
+ set transmisionSpeed(value: TransmisionSpeedType) {
422
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
423
+ .set()
424
+ .addParameter(PropertyType.TransmisionSpeed)
425
+ .addParameter(value)
426
+ .build();
427
+ this.gate.runScript(cmd!);
428
+ }
429
+
430
+ /**
431
+ * Typ zmiennej: 1 - Number 2 - Float 3 - Bit
432
+ * @returns {ValueTypeType}
433
+ */
434
+ get valueType(): ValueTypeType {
435
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
436
+ .get()
437
+ .addParameter(PropertyType.ValueType)
438
+ .build();
439
+ return this.gate.runScript(cmd!);
440
+ }
441
+
442
+ set valueType(value: ValueTypeType) {
443
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
444
+ .set()
445
+ .addParameter(PropertyType.ValueType)
446
+ .addParameter(value)
447
+ .build();
448
+ this.gate.runScript(cmd!);
449
+ }
450
+
451
+ /**
452
+ * Pozycja bitu (dotyczy dostępu bitowego do 16bit rejestrów - typu bit)
453
+ * @returns {number}
454
+ */
455
+ get bitPosition(): number {
456
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
457
+ .get()
458
+ .addParameter(PropertyType.BitPosition)
459
+ .build();
460
+ return this.gate.runScript(cmd!);
461
+ }
462
+
463
+ set bitPosition(value: number) {
464
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
465
+ .set()
466
+ .addParameter(PropertyType.BitPosition)
467
+ .addParameter(value)
468
+ .build();
469
+ this.gate.runScript(cmd!);
470
+ }
471
+
472
+ /**
473
+ * Liczba bitów rejestru: Dla 16 bitowych rejestrów - podanie wartości > 16 spowoduje odczyt / zapis 2 rejestrów Dla rejestrów bitowych / dwustanowych - określa liczbę odczytywanych / zapisywanych rejestrów W przypadku typu bit - określa liczbę bitów 16 bitowego rejestru podlegających operacji odczytu / zapisu
474
+ * @returns {number}
475
+ */
476
+ get bitCount(): number {
477
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
478
+ .get()
479
+ .addParameter(PropertyType.BitCount)
480
+ .build();
481
+ return this.gate.runScript(cmd!);
482
+ }
483
+
484
+ set bitCount(value: number) {
485
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
486
+ .set()
487
+ .addParameter(PropertyType.BitCount)
488
+ .addParameter(value)
489
+ .build();
490
+ this.gate.runScript(cmd!);
491
+ }
492
+
493
+ /**
494
+ * Czas odświeżania
495
+ * @returns {number}
496
+ */
497
+ get refreshInterval(): number {
498
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
499
+ .get()
500
+ .addParameter(PropertyType.RefreshInterval)
501
+ .build();
502
+ return this.gate.runScript(cmd!);
503
+ }
504
+
505
+ set refreshInterval(value: number) {
506
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
507
+ .set()
508
+ .addParameter(PropertyType.RefreshInterval)
509
+ .addParameter(value)
510
+ .build();
511
+ this.gate.runScript(cmd!);
512
+ }
513
+
514
+ /**
515
+ * Czas na odpowiedź
516
+ * @returns {number}
517
+ */
518
+ get responseTimeout(): number {
519
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
520
+ .get()
521
+ .addParameter(PropertyType.ResponseTimeout)
522
+ .build();
523
+ return this.gate.runScript(cmd!);
524
+ }
525
+
526
+ set responseTimeout(value: number) {
527
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
528
+ .set()
529
+ .addParameter(PropertyType.ResponseTimeout)
530
+ .addParameter(value)
531
+ .build();
532
+ this.gate.runScript(cmd!);
533
+ }
534
+
535
+ /**
536
+ * Dzielnik
537
+ * @returns {number}
538
+ */
539
+ get divisor(): number {
540
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
541
+ .get()
542
+ .addParameter(PropertyType.Divisor)
543
+ .build();
544
+ return this.gate.runScript(cmd!);
545
+ }
546
+
547
+ set divisor(value: number) {
548
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
549
+ .set()
550
+ .addParameter(PropertyType.Divisor)
551
+ .addParameter(value)
552
+ .build();
553
+ this.gate.runScript(cmd!);
554
+ }
555
+
556
+ /**
557
+ * 0 - NoSwap - Little Endian 1 - SwapBytesAndWords - BigEndian 2 - SwapBytes - bajty w słowie: BigEndian; słowa: Little Endian 3 - SwapWords - bajty w słowie: LittleEndian, słowa: Big Endian
558
+ * @returns {EndianessType}
559
+ */
560
+ get endianess(): EndianessType {
561
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
562
+ .get()
563
+ .addParameter(PropertyType.Endianess)
564
+ .build();
565
+ return this.gate.runScript(cmd!);
566
+ }
567
+
568
+ set endianess(value: EndianessType) {
569
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
570
+ .set()
571
+ .addParameter(PropertyType.Endianess)
572
+ .addParameter(value)
573
+ .build();
574
+ this.gate.runScript(cmd!);
575
+ }
576
+
577
+ /**
578
+ * Typ rejestru Modbus: 0 - wyjścia / wejścia bitowe - bitowe rejestry wyjśc/wejść. Dla zapisu pojedynczego wyjścia - funkcja Modbus: 5, dla wielu wyjść - funkcja Modbus: 15 1 - wejścia dwustanowe - 'discrete inputs' - funkcja Modbus: 3 2 - rejestry pamiętające - rejestry 16 bitowe. Zapis wartości 16bit - funkcja Modbus: 6, Zapis wartości 32bit - funkcja Modbus: 16. Odczyt - funkcja Modbus: 3 3 - rejestry wejściowe - rejestry 16 bitowe - funkcja Modbus: 4
579
+ * @returns {RegisterTypeType}
580
+ */
581
+ get registerType(): RegisterTypeType {
582
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
583
+ .get()
584
+ .addParameter(PropertyType.RegisterType)
585
+ .build();
586
+ return this.gate.runScript(cmd!);
587
+ }
588
+
589
+ set registerType(value: RegisterTypeType) {
590
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
591
+ .set()
592
+ .addParameter(PropertyType.RegisterType)
593
+ .addParameter(value)
594
+ .build();
595
+ this.gate.runScript(cmd!);
596
+ }
597
+
598
+ /**
599
+ * Kod błędu: 1 – niedozwolona funkcja 2 – niedozwolony numer rejestru 3 – niedozwolona wartość danej 4 – uszkodzenie w przyłączonym urządzeniu 5 – potwierdzenie pozytywne 6 – brak gotowości 7 – potwierdzenie negatywne 8 – błąd parzystości pamięci 10 - ścieżka bramy niedostępna 11 - brak odpowiedzi urządzenia docelowego 0 - poprawny odczyt/zapis rejestru -1 - nieaktualna wartość ostatniegoodczytanego rejestru -2 - przekroczenie czasu odpowiedzi -3 - błąd ramki (problem ze zdekodowaniem odpowiedzi) -4 - nieoczekiwany rozmiar odpowiedzi -5 - nieoczekiwany kod odpowiedzi -6 - nieprawidłowy stan obiektu -7 - błąd połączenia
600
+ * @returns {number}
601
+ */
602
+ get errorCode(): number {
603
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
604
+ .get()
605
+ .addParameter(PropertyType.ErrorCode)
606
+ .build();
607
+ return this.gate.runScript(cmd!);
608
+ }
609
+
610
+ /**
611
+ * Wartość odczytu / zapisu
612
+ * @returns {number}
613
+ */
614
+ get value(): number {
615
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
616
+ .get()
617
+ .addParameter(PropertyType.Value)
618
+ .build();
619
+ return this.gate.runScript(cmd!);
620
+ }
621
+
622
+ set value(v: number) {
623
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
624
+ .set()
625
+ .addParameter(PropertyType.Value)
626
+ .addParameter(v)
627
+ .build();
628
+ this.gate.runScript(cmd!);
629
+ }
630
+
631
+ /**
632
+ * Nieprzeskalowana wartość rejestru
633
+ * @returns {number}
634
+ */
635
+ get registerValue(): number {
636
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
637
+ .get()
638
+ .addParameter(PropertyType.RegisterValue)
639
+ .build();
640
+ return this.gate.runScript(cmd!);
641
+ }
642
+
643
+ /**
644
+ * Bity stopu: 0 - 1 bit stopu 1 - 1.5 bitu stopu 2 - 2 bity stopu
645
+ * @returns {StopBitsType}
646
+ */
647
+ get stopBits(): StopBitsType {
648
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
649
+ .get()
650
+ .addParameter(PropertyType.StopBits)
651
+ .build();
652
+ return this.gate.runScript(cmd!);
653
+ }
654
+
655
+ set stopBits(value: StopBitsType) {
656
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
657
+ .set()
658
+ .addParameter(PropertyType.StopBits)
659
+ .addParameter(value)
660
+ .build();
661
+ this.gate.runScript(cmd!);
662
+ }
663
+
664
+ /**
665
+ * Bit parzystości: 0 - None 1 - Odd 2 - Even
666
+ * @returns {ParityType}
667
+ */
668
+ get parity(): ParityType {
669
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
670
+ .get()
671
+ .addParameter(PropertyType.Parity)
672
+ .build();
673
+ return this.gate.runScript(cmd!);
674
+ }
675
+
676
+ set parity(value: ParityType) {
677
+ const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
678
+ .set()
679
+ .addParameter(PropertyType.Parity)
680
+ .addParameter(value)
681
+ .build();
682
+ this.gate.runScript(cmd!);
683
+ }
684
+ }
685
+
686
+ export {
687
+ Modbus, ModbusRaw, ModbusRemote,
688
+ AccessRightsType, TransmisionSpeedType, ValueTypeType, EndianessType, RegisterTypeType,
689
+ StopBitsType, ParityType
690
+ }