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.
- package/LICENSE +21 -0
- package/README.md +86 -0
- package/dist/analog-din/fv02_01/analog-in.ts +271 -0
- package/dist/clu/calendar/v1/calendar.ts +308 -0
- package/dist/clu/clu-zwave-2/fv515_03/clu-zwave-2.ts +1302 -0
- package/dist/clu/event-scheduler/v1/event-scheduler.ts +537 -0
- package/dist/clu/multi-fan-ac-thermostat/v1/multi-fan-ac-thermostat.ts +1163 -0
- package/dist/clu/pid-controller/v1/pid-controller.ts +536 -0
- package/dist/clu/presence-sensor/v1/presence-sensor.ts +313 -0
- package/dist/clu/presence-sensor/v2/presence-sensor.ts +470 -0
- package/dist/clu/push/v1/push.ts +261 -0
- package/dist/clu/scheduler/v1/scheduler.ts +304 -0
- package/dist/clu/statistics/v1/statistics.ts +413 -0
- package/dist/clu/statistics-pulse/v1/statistics-pulse.ts +218 -0
- package/dist/clu/sunrise-sunset-calendar/v1/sunrise-sunset-calendar.ts +389 -0
- package/dist/clu/sunrise-sunset-calendar/v2/sunrise-sunset-calendar.ts +659 -0
- package/dist/clu/sunrise-sunset-calendar/v3/sunrise-sunset-calendar.ts +659 -0
- package/dist/clu/thermostat/v1/thermostat.ts +768 -0
- package/dist/clu/thermostat/v2/thermostat.ts +861 -0
- package/dist/clu/timer/v1/timer.ts +369 -0
- package/dist/core/execution-builder.ts +55 -0
- package/dist/core/remote-gate.ts +17 -0
- package/dist/digital-in-din/fv02_01/din.ts +310 -0
- package/dist/examples/light_turned_on_by_calendar/Clu_OnInit.ts +26 -0
- package/dist/examples/light_turned_on_by_presence_sensor/Clu_OnInit.ts +35 -0
- package/dist/examples/light_turned_on_by_switch/Clu_OnInit.ts +16 -0
- package/dist/gate/cool-master/v1/cool-master.ts +782 -0
- package/dist/gate/cool-master-net/v1/cool-master-net.ts +334 -0
- package/dist/gate/denon-marantz-avr/v1/denon-marantz-avr.ts +724 -0
- package/dist/gate/heos/v1/heos.ts +1224 -0
- package/dist/gate/http/fv1000_03/clu-gate-http.ts +405 -0
- package/dist/gate/http/fv1000_03_hv1/clu-gate-http.ts +352 -0
- package/dist/gate/http/fv1100_03/clu-gate-http.ts +589 -0
- package/dist/gate/http/fv1110_03/clu-gate-http.ts +589 -0
- package/dist/gate/http/fv1300_03/clu-gate-http.ts +589 -0
- package/dist/gate/http/fv1400_03/clu-gate-http.ts +677 -0
- package/dist/gate/http-listener/v1/http-listener.ts +299 -0
- package/dist/gate/http-listener/v2/http-listener.ts +325 -0
- package/dist/gate/http-request/v1/http-request.ts +645 -0
- package/dist/gate/http-request/v2/http-request.ts +709 -0
- package/dist/gate/input/v1/input.ts +171 -0
- package/dist/gate/jablotron/v1/jablotron.ts +100 -0
- package/dist/gate/jablotron-device/v1/jablotron-device.ts +171 -0
- package/dist/gate/jablotron-output/v1/jablotron-output.ts +240 -0
- package/dist/gate/jablotron-section/v1/jablotron-section.ts +260 -0
- package/dist/gate/modbus/v1/modbus.ts +609 -0
- package/dist/gate/modbus/v2/modbus.ts +690 -0
- package/dist/gate/modbus-client/v1/modbus-client.ts +827 -0
- package/dist/gate/modbus-rtu/v1/modbus-rtu.ts +911 -0
- package/dist/gate/modbus-server/v1/modbus-server.ts +405 -0
- package/dist/gate/modbus-slave-config-rtu/v1/modbus-slave-config-rtu.ts +160 -0
- package/dist/gate/modbus-slave-rtu/v1/modbus-slave-rtu.ts +371 -0
- package/dist/gate/modbus-value/v1/modbus-value.ts +856 -0
- package/dist/gate/music-cast/v1/music-cast.ts +1298 -0
- package/dist/gate/output/v1/output.ts +240 -0
- package/dist/gate/satel/v1/satel.ts +359 -0
- package/dist/gate/satel-input/v1/satel-input.ts +171 -0
- package/dist/gate/satel-output/v1/satel-output.ts +240 -0
- package/dist/gate/satel-zone/v1/satel-zone.ts +235 -0
- package/dist/gate/sonos/v1/sonos.ts +934 -0
- package/dist/gate/timer/v2/timer.ts +253 -0
- package/dist/gate/zone/v1/zone.ts +235 -0
- package/dist/io-module-din-8/fv02_02/din.ts +354 -0
- package/dist/io-module-din-8/fv02_02/dout.ts +360 -0
- package/dist/one-wire/fv01_10/onew-sensor.ts +269 -0
- package/dist/one-wire/fv01_28/onew-sensor.ts +269 -0
- package/dist/one-wire/fv02_28/onew-sensor.ts +350 -0
- package/dist/one-wire/fv03_28/onew-sensor.ts +435 -0
- package/dist/relay-din-2/fv02_02/dout.ts +544 -0
- package/dist/relay-din-4/fv01_02/dout.ts +340 -0
- package/dist/relay-din-4/fv02_02/dout.ts +368 -0
- package/dist/roller-shutter-din-3/fv03_02/roller-shutter.ts +1078 -0
- package/dist/smart-panel-fm-4/fv03_03/panel-button.ts +550 -0
- package/dist/smart-panel-fm-4/fv03_03/panel-sens-light.ts +238 -0
- package/dist/smart-panel-fm-4/fv03_03/panel-sens-temp.ts +239 -0
- package/dist/smart-panel-fm-4/fv03_03/panel.ts +700 -0
- package/dist/smart-panel-fm-4/fv04_03/panel-button.ts +567 -0
- package/dist/smart-panel-fm-4/fv04_03/panel-page.ts +516 -0
- package/dist/smart-panel-fm-4/fv04_03/panel-sens-light.ts +238 -0
- package/dist/smart-panel-fm-4/fv04_03/panel-sens-temp.ts +239 -0
- package/dist/smart-panel-fm-4/fv04_03/panel.ts +1026 -0
- package/dist/smart-panel-fm-4/fv05_03/panel-button.ts +567 -0
- package/dist/smart-panel-fm-4/fv05_03/panel-page.ts +620 -0
- package/dist/smart-panel-fm-4/fv05_03/panel-sens-light.ts +238 -0
- package/dist/smart-panel-fm-4/fv05_03/panel-sens-temp.ts +266 -0
- package/dist/smart-panel-fm-4/fv05_03/panel.ts +1109 -0
- package/dist/smart-panel-fm-4/fv06_03/panel-button.ts +567 -0
- package/dist/smart-panel-fm-4/fv06_03/panel-page.ts +877 -0
- package/dist/smart-panel-fm-4/fv06_03/panel-sens-light.ts +238 -0
- package/dist/smart-panel-fm-4/fv06_03/panel-sens-temp.ts +297 -0
- package/dist/smart-panel-fm-4/fv06_03/panel.ts +1138 -0
- package/dist/smart-panel-fm-4/fv07_03/panel-button.ts +567 -0
- package/dist/smart-panel-fm-4/fv07_03/panel-page.ts +864 -0
- package/dist/smart-panel-fm-4/fv07_03/panel-sens-light.ts +238 -0
- package/dist/smart-panel-fm-4/fv07_03/panel-sens-temp.ts +297 -0
- package/dist/smart-panel-fm-4/fv07_03/panel.ts +1135 -0
- package/dist/touch-panel-fm-4/fv01_02/panel-button.ts +418 -0
- package/dist/touch-panel-fm-4/fv01_02/panel-sens-light.ts +238 -0
- package/dist/touch-panel-fm-4/fv01_02/panel-sens-temp.ts +257 -0
- package/dist/touch-panel-fm-4/fv01_02/panel.ts +75 -0
- package/dist/touch-panel-fm-4/fv01_02/power-supply-voltage.ts +322 -0
- package/dist/touch-panel-fm-8/fv01_02/panel-button.ts +418 -0
- package/dist/touch-panel-fm-8/fv01_02/panel-sens-light.ts +238 -0
- package/dist/touch-panel-fm-8/fv01_02/panel-sens-temp.ts +270 -0
- package/dist/touch-panel-fm-8/fv01_02/panel.ts +75 -0
- package/dist/touch-panel-fm-8/fv01_02/power-supply-voltage.ts +322 -0
- package/package.json +16 -0
|
@@ -0,0 +1,354 @@
|
|
|
1
|
+
import { rawExecutionBuilderFactory } from "../../core/execution-builder"
|
|
2
|
+
import { RemoteGate } from "../../core/remote-gate"
|
|
3
|
+
|
|
4
|
+
enum EventType {
|
|
5
|
+
OnValueChange = 0,
|
|
6
|
+
OnSwitchOn = 1,
|
|
7
|
+
OnSwitchOff = 2,
|
|
8
|
+
OnShortPress = 3,
|
|
9
|
+
OnLongPress = 4,
|
|
10
|
+
OnHold = 5,
|
|
11
|
+
OnClick = 6
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
enum PropertyType {
|
|
15
|
+
Value = 0,
|
|
16
|
+
Inertion = 1,
|
|
17
|
+
HoldDelay = 2,
|
|
18
|
+
HoldInterval = 3,
|
|
19
|
+
StatisticState = 4,
|
|
20
|
+
Load = 5,
|
|
21
|
+
DistributedLogicGroup = 6
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
enum MethodType {
|
|
25
|
+
SetInertion = 1,
|
|
26
|
+
SetHoldDelay = 2,
|
|
27
|
+
SetHoldInterval = 3
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
enum StatisticStateType {
|
|
31
|
+
Off = 0,
|
|
32
|
+
Continuous = 1,
|
|
33
|
+
Pulse = 2
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
declare class DInRaw {
|
|
37
|
+
add_event(event: EventType, callback: () => void): void;
|
|
38
|
+
get(property: PropertyType): any;
|
|
39
|
+
set(property: PropertyType, value: any): void;
|
|
40
|
+
execute(method: MethodType, ...args: any[]): any;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
interface IDIn {
|
|
44
|
+
addOnValueChange: (callback: () => void) => void
|
|
45
|
+
addOnSwitchOn: (callback: () => void) => void
|
|
46
|
+
addOnSwitchOff: (callback: () => void) => void
|
|
47
|
+
addOnShortPress: (callback: () => void) => void
|
|
48
|
+
addOnLongPress: (callback: () => void) => void
|
|
49
|
+
addOnHold: (callback: () => void) => void
|
|
50
|
+
addOnClick: (callback: () => void) => void
|
|
51
|
+
setInertion: (inertion: number) => void
|
|
52
|
+
setHoldDelay: (holdDelay: number) => void
|
|
53
|
+
setHoldInterval: (holdInterval: number) => void
|
|
54
|
+
readonly value: boolean
|
|
55
|
+
inertion: number
|
|
56
|
+
holdDelay: number
|
|
57
|
+
holdInterval: number
|
|
58
|
+
statisticState: StatisticStateType
|
|
59
|
+
load: number
|
|
60
|
+
distributedLogicGroup: number
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
class DIn implements IDIn {
|
|
64
|
+
private onValueChangeCallbacks: Array<() => void> = [];
|
|
65
|
+
private onSwitchOnCallbacks: Array<() => void> = [];
|
|
66
|
+
private onSwitchOffCallbacks: Array<() => void> = [];
|
|
67
|
+
private onShortPressCallbacks: Array<() => void> = [];
|
|
68
|
+
private onLongPressCallbacks: Array<() => void> = [];
|
|
69
|
+
private onHoldCallbacks: Array<() => void> = [];
|
|
70
|
+
private onClickCallbacks: Array<() => void> = [];
|
|
71
|
+
|
|
72
|
+
constructor(private raw: DInRaw) {
|
|
73
|
+
this.raw.add_event(EventType.OnValueChange, () => {
|
|
74
|
+
this.onValueChangeCallbacks.forEach(callback => {
|
|
75
|
+
callback();
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
this.raw.add_event(EventType.OnSwitchOn, () => {
|
|
80
|
+
this.onSwitchOnCallbacks.forEach(callback => {
|
|
81
|
+
callback();
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
|
|
85
|
+
this.raw.add_event(EventType.OnSwitchOff, () => {
|
|
86
|
+
this.onSwitchOffCallbacks.forEach(callback => {
|
|
87
|
+
callback();
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
|
|
91
|
+
this.raw.add_event(EventType.OnShortPress, () => {
|
|
92
|
+
this.onShortPressCallbacks.forEach(callback => {
|
|
93
|
+
callback();
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
|
|
97
|
+
this.raw.add_event(EventType.OnLongPress, () => {
|
|
98
|
+
this.onLongPressCallbacks.forEach(callback => {
|
|
99
|
+
callback();
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
this.raw.add_event(EventType.OnHold, () => {
|
|
104
|
+
this.onHoldCallbacks.forEach(callback => {
|
|
105
|
+
callback();
|
|
106
|
+
});
|
|
107
|
+
});
|
|
108
|
+
|
|
109
|
+
this.raw.add_event(EventType.OnClick, () => {
|
|
110
|
+
this.onClickCallbacks.forEach(callback => {
|
|
111
|
+
callback();
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
addOnValueChange(callback: () => void): void {
|
|
117
|
+
this.onValueChangeCallbacks.push(callback);
|
|
118
|
+
}
|
|
119
|
+
addOnSwitchOn(callback: () => void): void {
|
|
120
|
+
this.onSwitchOnCallbacks.push(callback);
|
|
121
|
+
}
|
|
122
|
+
addOnSwitchOff(callback: () => void): void {
|
|
123
|
+
this.onSwitchOffCallbacks.push(callback);
|
|
124
|
+
}
|
|
125
|
+
addOnShortPress(callback: () => void): void {
|
|
126
|
+
this.onShortPressCallbacks.push(callback);
|
|
127
|
+
}
|
|
128
|
+
addOnLongPress(callback: () => void): void {
|
|
129
|
+
this.onLongPressCallbacks.push(callback);
|
|
130
|
+
}
|
|
131
|
+
addOnHold(callback: () => void): void {
|
|
132
|
+
this.onHoldCallbacks.push(callback);
|
|
133
|
+
}
|
|
134
|
+
addOnClick(callback: () => void): void {
|
|
135
|
+
this.onClickCallbacks.push(callback);
|
|
136
|
+
}
|
|
137
|
+
setInertion(inertion: number): void {
|
|
138
|
+
this.raw.set(PropertyType.Inertion, inertion);
|
|
139
|
+
}
|
|
140
|
+
setHoldDelay(holdDelay: number): void {
|
|
141
|
+
this.raw.set(PropertyType.HoldDelay, holdDelay);
|
|
142
|
+
}
|
|
143
|
+
setHoldInterval(holdInterval: number): void {
|
|
144
|
+
this.raw.set(PropertyType.HoldInterval, holdInterval);
|
|
145
|
+
}
|
|
146
|
+
get value(): boolean {
|
|
147
|
+
return this.raw.get(PropertyType.Value) === 1;
|
|
148
|
+
}
|
|
149
|
+
get inertion(): number {
|
|
150
|
+
return this.raw.get(PropertyType.Inertion);
|
|
151
|
+
}
|
|
152
|
+
set inertion(value: number) {
|
|
153
|
+
this.raw.set(PropertyType.Inertion, value);
|
|
154
|
+
}
|
|
155
|
+
get holdDelay(): number {
|
|
156
|
+
return this.raw.get(PropertyType.HoldDelay);
|
|
157
|
+
}
|
|
158
|
+
set holdDelay(value: number) {
|
|
159
|
+
this.raw.set(PropertyType.HoldDelay, value);
|
|
160
|
+
}
|
|
161
|
+
get holdInterval(): number {
|
|
162
|
+
return this.raw.get(PropertyType.HoldInterval);
|
|
163
|
+
}
|
|
164
|
+
set holdInterval(value: number) {
|
|
165
|
+
this.raw.set(PropertyType.HoldInterval, value);
|
|
166
|
+
}
|
|
167
|
+
get statisticState(): StatisticStateType {
|
|
168
|
+
return this.raw.get(PropertyType.StatisticState);
|
|
169
|
+
}
|
|
170
|
+
set statisticState(value: StatisticStateType) {
|
|
171
|
+
this.raw.set(PropertyType.StatisticState, value);
|
|
172
|
+
}
|
|
173
|
+
get load(): number {
|
|
174
|
+
return this.raw.get(PropertyType.Load);
|
|
175
|
+
}
|
|
176
|
+
set load(value: number) {
|
|
177
|
+
this.raw.set(PropertyType.Load, value);
|
|
178
|
+
}
|
|
179
|
+
get distributedLogicGroup(): number {
|
|
180
|
+
return this.raw.get(PropertyType.DistributedLogicGroup);
|
|
181
|
+
}
|
|
182
|
+
set distributedLogicGroup(value: number) {
|
|
183
|
+
this.raw.set(PropertyType.DistributedLogicGroup, value);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
class DInRemote implements IDIn {
|
|
188
|
+
constructor(private objectName: string, private gate: RemoteGate) {
|
|
189
|
+
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
addOnValueChange(_callback: () => void): void {
|
|
193
|
+
// Remote events are not supported
|
|
194
|
+
}
|
|
195
|
+
addOnSwitchOn(_callback: () => void): void {
|
|
196
|
+
// Remote events are not supported
|
|
197
|
+
}
|
|
198
|
+
addOnSwitchOff(_callback: () => void): void {
|
|
199
|
+
// Remote events are not supported
|
|
200
|
+
}
|
|
201
|
+
addOnShortPress(_callback: () => void): void {
|
|
202
|
+
// Remote events are not supported
|
|
203
|
+
}
|
|
204
|
+
addOnLongPress(_callback: () => void): void {
|
|
205
|
+
// Remote events are not supported
|
|
206
|
+
}
|
|
207
|
+
addOnHold(_callback: () => void): void {
|
|
208
|
+
// Remote events are not supported
|
|
209
|
+
}
|
|
210
|
+
addOnClick(_callback: () => void): void {
|
|
211
|
+
// Remote events are not supported
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
setInertion(inertion: number): void {
|
|
215
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
216
|
+
.set()
|
|
217
|
+
.addParameter(PropertyType.Inertion)
|
|
218
|
+
.addParameter(inertion)
|
|
219
|
+
.build();
|
|
220
|
+
this.gate.runScript(cmd!);
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
setHoldDelay(holdDelay: number): void {
|
|
224
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
225
|
+
.set()
|
|
226
|
+
.addParameter(PropertyType.HoldDelay)
|
|
227
|
+
.addParameter(holdDelay)
|
|
228
|
+
.build();
|
|
229
|
+
this.gate.runScript(cmd!);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
setHoldInterval(holdInterval: number): void {
|
|
233
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
234
|
+
.set()
|
|
235
|
+
.addParameter(PropertyType.HoldInterval)
|
|
236
|
+
.addParameter(holdInterval)
|
|
237
|
+
.build();
|
|
238
|
+
this.gate.runScript(cmd!);
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
get value(): boolean {
|
|
242
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
243
|
+
.get()
|
|
244
|
+
.addParameter(PropertyType.Value)
|
|
245
|
+
.build();
|
|
246
|
+
return this.gate.runScript(cmd!) === 1;
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
get inertion(): number {
|
|
250
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
251
|
+
.get()
|
|
252
|
+
.addParameter(PropertyType.Inertion)
|
|
253
|
+
.build();
|
|
254
|
+
return this.gate.runScript(cmd!);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
set inertion(value: number) {
|
|
258
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
259
|
+
.set()
|
|
260
|
+
.addParameter(PropertyType.Inertion)
|
|
261
|
+
.addParameter(value)
|
|
262
|
+
.build();
|
|
263
|
+
this.gate.runScript(cmd!);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
get holdDelay(): number {
|
|
267
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
268
|
+
.get()
|
|
269
|
+
.addParameter(PropertyType.HoldDelay)
|
|
270
|
+
.build();
|
|
271
|
+
return this.gate.runScript(cmd!);
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
set holdDelay(value: number) {
|
|
275
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
276
|
+
.set()
|
|
277
|
+
.addParameter(PropertyType.HoldDelay)
|
|
278
|
+
.addParameter(value)
|
|
279
|
+
.build();
|
|
280
|
+
this.gate.runScript(cmd!);
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
get holdInterval(): number {
|
|
284
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
285
|
+
.get()
|
|
286
|
+
.addParameter(PropertyType.HoldInterval)
|
|
287
|
+
.build();
|
|
288
|
+
return this.gate.runScript(cmd!);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
set holdInterval(value: number) {
|
|
292
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
293
|
+
.set()
|
|
294
|
+
.addParameter(PropertyType.HoldInterval)
|
|
295
|
+
.addParameter(value)
|
|
296
|
+
.build();
|
|
297
|
+
this.gate.runScript(cmd!);
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
get statisticState(): StatisticStateType {
|
|
301
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
302
|
+
.get()
|
|
303
|
+
.addParameter(PropertyType.StatisticState)
|
|
304
|
+
.build();
|
|
305
|
+
return this.gate.runScript(cmd!);
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
set statisticState(value: StatisticStateType) {
|
|
309
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
310
|
+
.set()
|
|
311
|
+
.addParameter(PropertyType.StatisticState)
|
|
312
|
+
.addParameter(value)
|
|
313
|
+
.build();
|
|
314
|
+
this.gate.runScript(cmd!);
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
get load(): number {
|
|
318
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
319
|
+
.get()
|
|
320
|
+
.addParameter(PropertyType.Load)
|
|
321
|
+
.build();
|
|
322
|
+
return this.gate.runScript(cmd!);
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
set load(value: number) {
|
|
326
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
327
|
+
.set()
|
|
328
|
+
.addParameter(PropertyType.Load)
|
|
329
|
+
.addParameter(value)
|
|
330
|
+
.build();
|
|
331
|
+
this.gate.runScript(cmd!);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
get distributedLogicGroup(): number {
|
|
335
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
336
|
+
.get()
|
|
337
|
+
.addParameter(PropertyType.DistributedLogicGroup)
|
|
338
|
+
.build();
|
|
339
|
+
return this.gate.runScript(cmd!);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
set distributedLogicGroup(value: number) {
|
|
343
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
344
|
+
.set()
|
|
345
|
+
.addParameter(PropertyType.DistributedLogicGroup)
|
|
346
|
+
.addParameter(value)
|
|
347
|
+
.build();
|
|
348
|
+
this.gate.runScript(cmd!);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
export {
|
|
353
|
+
DIn, DInRaw, DInRemote, StatisticStateType
|
|
354
|
+
}
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
// Created from: packages/grenton-api/interfaces/module_2_0_IO_MODULE_DIN_8_fv02_02.xml, object name="DOUT"
|
|
2
|
+
|
|
3
|
+
import { rawExecutionBuilderFactory } from "../../core/execution-builder"
|
|
4
|
+
import { RemoteGate } from "../../core/remote-gate"
|
|
5
|
+
|
|
6
|
+
enum EventType {
|
|
7
|
+
OnValueChange = 0,
|
|
8
|
+
OnSwitchOn = 1,
|
|
9
|
+
OnSwitchOff = 2
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
enum PropertyType {
|
|
13
|
+
Value = 0,
|
|
14
|
+
StatisticState = 1,
|
|
15
|
+
Load = 2,
|
|
16
|
+
DistributedLogicGroup = 6
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
enum MethodType {
|
|
20
|
+
SetValue = 0,
|
|
21
|
+
Switch = 0,
|
|
22
|
+
SwitchOn = 1,
|
|
23
|
+
SwitchOff = 2
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
enum StatisticStateType {
|
|
27
|
+
Off = 0,
|
|
28
|
+
Continuous = 1
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
declare class DOutRaw {
|
|
32
|
+
add_event(event: EventType, callback: () => void): void;
|
|
33
|
+
get(property: PropertyType): any;
|
|
34
|
+
set(property: PropertyType, value: any): void;
|
|
35
|
+
execute(method: MethodType, ...args: any[]): any;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
interface IDOut {
|
|
39
|
+
/**
|
|
40
|
+
* Zdarzenie wywoływane przy zmianie wartości napięcia zasilania o wartość cechy Sensitivity
|
|
41
|
+
* @param callback
|
|
42
|
+
*/
|
|
43
|
+
addOnValueChange: (callback: () => void) => void
|
|
44
|
+
/**
|
|
45
|
+
* Zdarzenie wywoływane w momencie ustawienia stanu wysokiego na wejściu
|
|
46
|
+
* @param callback
|
|
47
|
+
*/
|
|
48
|
+
addOnSwitchOn: (callback: () => void) => void
|
|
49
|
+
/**
|
|
50
|
+
* Zdarzenie wywoływane w momencie ustawienia stanu niskiego na wejściu
|
|
51
|
+
* @param callback
|
|
52
|
+
*/
|
|
53
|
+
addOnSwitchOff: (callback: () => void) => void
|
|
54
|
+
/**
|
|
55
|
+
* Ustawia stan wyjścia jako 1 lub 0
|
|
56
|
+
* @param {number} value
|
|
57
|
+
*/
|
|
58
|
+
setValue: (value: number) => void
|
|
59
|
+
/**
|
|
60
|
+
* Zmienia stan wyjścia na przeciwny. Parametr Time określa na jak długo następuje zmiana stanu, dla 0 jest ona stała
|
|
61
|
+
* @param {number} miliseconds
|
|
62
|
+
*/
|
|
63
|
+
switch: (miliseconds: number) => void
|
|
64
|
+
/**
|
|
65
|
+
* Załącza wyjście. Parametr Time określa na jak długo następuje zmiana stanu, dla 0 jest ona stała
|
|
66
|
+
* @param {number} miliseconds
|
|
67
|
+
*/
|
|
68
|
+
switchOn: (miliseconds: number) => void
|
|
69
|
+
/**
|
|
70
|
+
* Wyłącza wyjście. Parametr Time określa na jak długo następuje zmiana stanu, dla 0 jest ona stała
|
|
71
|
+
* @param {number} miliseconds
|
|
72
|
+
*/
|
|
73
|
+
switchOff: (miliseconds: number) => void
|
|
74
|
+
/** Wartość napięcia zasilania */
|
|
75
|
+
value: boolean
|
|
76
|
+
/** Grupa Distributed Logic - grupa broadcastowa dla rozproszonej logiki */
|
|
77
|
+
distributedLogicGroup: number
|
|
78
|
+
/** Włącza raportowanie pomiaru do modułu statystyk: Off - wyłączony, Continuous - pomiar obciążenia w całym okresie pracy urządzenia, Pulse - pomiar zliczany w momencie pojawienia się stanu wysokiego na wejściu */
|
|
79
|
+
statisticState: StatisticStateType
|
|
80
|
+
/** Mnożnik mierzonej wartości. Dla StatisticState: Continuous - wartość zużycia w jednostce czasu, Pulse - wartość zużycia dla jednego impulsu (np. 1l, 1m^3, 1kW) */
|
|
81
|
+
load: number
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
class DOut implements IDOut {
|
|
85
|
+
private onValueChangeCallbacks: Array<() => void> = [];
|
|
86
|
+
private onSwitchOnCallbacks: Array<() => void> = [];
|
|
87
|
+
private onSwitchOffCallbacks: Array<() => void> = [];
|
|
88
|
+
|
|
89
|
+
constructor(private raw: DOutRaw) {
|
|
90
|
+
this.raw.add_event(EventType.OnValueChange, () => {
|
|
91
|
+
this.onValueChangeCallbacks.forEach(callback => {
|
|
92
|
+
callback();
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
|
|
96
|
+
this.raw.add_event(EventType.OnSwitchOn, () => {
|
|
97
|
+
this.onSwitchOnCallbacks.forEach(callback => {
|
|
98
|
+
callback();
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
this.raw.add_event(EventType.OnSwitchOff, () => {
|
|
103
|
+
this.onSwitchOffCallbacks.forEach(callback => {
|
|
104
|
+
callback();
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Zdarzenie wywoływane przy zmianie wartości napięcia zasilania o wartość cechy Sensitivity
|
|
111
|
+
* @param callback
|
|
112
|
+
*/
|
|
113
|
+
addOnValueChange(callback: () => void): void {
|
|
114
|
+
this.onValueChangeCallbacks.push(callback);
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Zdarzenie wywoływane w momencie ustawienia stanu wysokiego na wejściu
|
|
118
|
+
* @param callback
|
|
119
|
+
*/
|
|
120
|
+
addOnSwitchOn(callback: () => void): void {
|
|
121
|
+
this.onSwitchOnCallbacks.push(callback);
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Zdarzenie wywoływane w momencie ustawienia stanu niskiego na wejściu
|
|
125
|
+
* @param callback
|
|
126
|
+
*/
|
|
127
|
+
addOnSwitchOff(callback: () => void): void {
|
|
128
|
+
this.onSwitchOffCallbacks.push(callback);
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Ustawia stan wyjścia jako 1 lub 0
|
|
132
|
+
* @param {number} value
|
|
133
|
+
*/
|
|
134
|
+
setValue(value: number): void {
|
|
135
|
+
this.raw.set(PropertyType.Value, value);
|
|
136
|
+
}
|
|
137
|
+
/** Zmienia stan wyjścia na przeciwny. Parametr Time określa na jak długo następuje zmiana stanu, dla 0 jest ona stała */
|
|
138
|
+
switch(miliseconds: number): void {
|
|
139
|
+
this.raw.execute(MethodType.Switch, miliseconds);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Załącza wyjście. Parametr Time określa na jak długo następuje zmiana stanu, dla 0 jest ona stała
|
|
143
|
+
* @param {number} miliseconds
|
|
144
|
+
*/
|
|
145
|
+
switchOn(miliseconds: number): void {
|
|
146
|
+
this.raw.execute(MethodType.SwitchOn, miliseconds);
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Wyłącza wyjście. Parametr Time określa na jak długo następuje zmiana stanu, dla 0 jest ona stała
|
|
150
|
+
* @param {number} miliseconds
|
|
151
|
+
*/
|
|
152
|
+
switchOff(miliseconds: number): void {
|
|
153
|
+
this.raw.execute(MethodType.SwitchOff, miliseconds);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Wartość napięcia zasilania
|
|
157
|
+
* @returns {boolean}
|
|
158
|
+
*/
|
|
159
|
+
get value(): boolean {
|
|
160
|
+
return this.raw.get(PropertyType.Value) === 1;
|
|
161
|
+
}
|
|
162
|
+
set value(val: boolean) {
|
|
163
|
+
this.raw.set(PropertyType.Value, val ? 1 : 0);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Grupa Distributed Logic - grupa broadcastowa dla rozproszonej logiki
|
|
167
|
+
* @returns {number}
|
|
168
|
+
*/
|
|
169
|
+
get distributedLogicGroup(): number {
|
|
170
|
+
return this.raw.get(PropertyType.DistributedLogicGroup);
|
|
171
|
+
}
|
|
172
|
+
set distributedLogicGroup(value: number) {
|
|
173
|
+
this.raw.set(PropertyType.DistributedLogicGroup, value);
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Włącza raportowanie pomiaru do modułu statystyk: Off - wyłączony, Continuous - pomiar obciążenia w całym okresie pracy urządzenia, Pulse - pomiar zliczany w momencie pojawienia się stanu wysokiego na wejściu
|
|
177
|
+
* @returns {StatisticStateType}
|
|
178
|
+
*/
|
|
179
|
+
get statisticState(): StatisticStateType {
|
|
180
|
+
return this.raw.get(PropertyType.StatisticState);
|
|
181
|
+
}
|
|
182
|
+
set statisticState(value: StatisticStateType) {
|
|
183
|
+
this.raw.set(PropertyType.StatisticState, value);
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Mnożnik mierzonej wartości. Dla StatisticState: Continuous - wartość zużycia w jednostce czasu, Pulse - wartość zużycia dla jednego impulsu (np. 1l, 1m^3, 1kW)
|
|
187
|
+
* @returns {number}
|
|
188
|
+
*/
|
|
189
|
+
get load(): number {
|
|
190
|
+
return this.raw.get(PropertyType.Load);
|
|
191
|
+
}
|
|
192
|
+
set load(value: number) {
|
|
193
|
+
this.raw.set(PropertyType.Load, value);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
|
|
197
|
+
class DOutRemote implements IDOut {
|
|
198
|
+
constructor(private objectName: string, private gate: RemoteGate) {
|
|
199
|
+
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Zdarzenie wywoływane przy zmianie wartości napięcia zasilania o wartość cechy Sensitivity
|
|
204
|
+
* @param callback
|
|
205
|
+
*/
|
|
206
|
+
addOnValueChange(_callback: () => void): void {
|
|
207
|
+
// Remote events are not supported
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Zdarzenie wywoływane w momencie ustawienia stanu wysokiego na wejściu
|
|
211
|
+
* @param callback
|
|
212
|
+
*/
|
|
213
|
+
addOnSwitchOn(_callback: () => void): void {
|
|
214
|
+
// Remote events are not supported
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Zdarzenie wywoływane w momencie ustawienia stanu niskiego na wejściu
|
|
218
|
+
* @param callback
|
|
219
|
+
*/
|
|
220
|
+
addOnSwitchOff(_callback: () => void): void {
|
|
221
|
+
// Remote events are not supported
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Ustawia stan wyjścia jako 1 lub 0
|
|
226
|
+
* @param {number} value
|
|
227
|
+
*/
|
|
228
|
+
setValue(value: number): void {
|
|
229
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
230
|
+
.set()
|
|
231
|
+
.addParameter(PropertyType.Value)
|
|
232
|
+
.addParameter(value)
|
|
233
|
+
.build();
|
|
234
|
+
this.gate.runScript(cmd!);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/** Zmienia stan wyjścia na przeciwny. Parametr Time określa na jak długo następuje zmiana stanu, dla 0 jest ona stała */
|
|
238
|
+
switch(miliseconds: number): void {
|
|
239
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
240
|
+
.execute()
|
|
241
|
+
.addParameter(MethodType.Switch)
|
|
242
|
+
.addParameter(miliseconds)
|
|
243
|
+
.build();
|
|
244
|
+
this.gate.runScript(cmd!);
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/**
|
|
248
|
+
* Załącza wyjście. Parametr Time określa na jak długo następuje zmiana stanu, dla 0 jest ona stała
|
|
249
|
+
* @param {number} miliseconds
|
|
250
|
+
*/
|
|
251
|
+
switchOn(miliseconds: number): void {
|
|
252
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
253
|
+
.execute()
|
|
254
|
+
.addParameter(MethodType.SwitchOn)
|
|
255
|
+
.addParameter(miliseconds)
|
|
256
|
+
.build();
|
|
257
|
+
this.gate.runScript(cmd!);
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* Wyłącza wyjście. Parametr Time określa na jak długo następuje zmiana stanu, dla 0 jest ona stała
|
|
262
|
+
* @param {number} miliseconds
|
|
263
|
+
*/
|
|
264
|
+
switchOff(miliseconds: number): void {
|
|
265
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
266
|
+
.execute()
|
|
267
|
+
.addParameter(MethodType.SwitchOff)
|
|
268
|
+
.addParameter(miliseconds)
|
|
269
|
+
.build();
|
|
270
|
+
this.gate.runScript(cmd!);
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Wartość napięcia zasilania
|
|
275
|
+
* @returns {boolean}
|
|
276
|
+
*/
|
|
277
|
+
get value(): boolean {
|
|
278
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
279
|
+
.get()
|
|
280
|
+
.addParameter(PropertyType.Value)
|
|
281
|
+
.build();
|
|
282
|
+
return this.gate.runScript(cmd!) === 1;
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
set value(val: boolean) {
|
|
286
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
287
|
+
.set()
|
|
288
|
+
.addParameter(PropertyType.Value)
|
|
289
|
+
.addParameter(val ? 1 : 0)
|
|
290
|
+
.build();
|
|
291
|
+
this.gate.runScript(cmd!);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
/**
|
|
295
|
+
* Grupa Distributed Logic - grupa broadcastowa dla rozproszonej logiki
|
|
296
|
+
* @returns {number}
|
|
297
|
+
*/
|
|
298
|
+
get distributedLogicGroup(): number {
|
|
299
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
300
|
+
.get()
|
|
301
|
+
.addParameter(PropertyType.DistributedLogicGroup)
|
|
302
|
+
.build();
|
|
303
|
+
return this.gate.runScript(cmd!);
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
set distributedLogicGroup(value: number) {
|
|
307
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
308
|
+
.set()
|
|
309
|
+
.addParameter(PropertyType.DistributedLogicGroup)
|
|
310
|
+
.addParameter(value)
|
|
311
|
+
.build();
|
|
312
|
+
this.gate.runScript(cmd!);
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* Włącza raportowanie pomiaru do modułu statystyk: Off - wyłączony, Continuous - pomiar obciążenia w całym okresie pracy urządzenia, Pulse - pomiar zliczany w momencie pojawienia się stanu wysokiego na wejściu
|
|
317
|
+
* @returns {StatisticStateType}
|
|
318
|
+
*/
|
|
319
|
+
get statisticState(): StatisticStateType {
|
|
320
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
321
|
+
.get()
|
|
322
|
+
.addParameter(PropertyType.StatisticState)
|
|
323
|
+
.build();
|
|
324
|
+
return this.gate.runScript(cmd!);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
set statisticState(value: StatisticStateType) {
|
|
328
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
329
|
+
.set()
|
|
330
|
+
.addParameter(PropertyType.StatisticState)
|
|
331
|
+
.addParameter(value)
|
|
332
|
+
.build();
|
|
333
|
+
this.gate.runScript(cmd!);
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Mnożnik mierzonej wartości. Dla StatisticState: Continuous - wartość zużycia w jednostce czasu, Pulse - wartość zużycia dla jednego impulsu (np. 1l, 1m^3, 1kW)
|
|
338
|
+
* @returns {number}
|
|
339
|
+
*/
|
|
340
|
+
get load(): number {
|
|
341
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
342
|
+
.get()
|
|
343
|
+
.addParameter(PropertyType.Load)
|
|
344
|
+
.build();
|
|
345
|
+
return this.gate.runScript(cmd!);
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
set load(value: number) {
|
|
349
|
+
const cmd: string | null = rawExecutionBuilderFactory(this.objectName)
|
|
350
|
+
.set()
|
|
351
|
+
.addParameter(PropertyType.Load)
|
|
352
|
+
.addParameter(value)
|
|
353
|
+
.build();
|
|
354
|
+
this.gate.runScript(cmd!);
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
|
|
358
|
+
export {
|
|
359
|
+
DOut, DOutRaw, DOutRemote, StatisticStateType
|
|
360
|
+
}
|