@fastybird/smart-panel-backend 1.1.0-alpha.15 → 1.1.0-alpha.16

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 (36) hide show
  1. package/dist/modules/system/scripts/update-worker.sh +360 -59
  2. package/dist/modules/system/services/update-executor.service.d.ts +9 -0
  3. package/dist/modules/system/services/update-executor.service.js +170 -25
  4. package/dist/modules/system/services/update-executor.service.js.map +1 -1
  5. package/dist/plugins/devices-homekit/listeners/homekit-event.listener.d.ts +2 -0
  6. package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js +22 -0
  7. package/dist/plugins/devices-homekit/listeners/homekit-event.listener.js.map +1 -1
  8. package/dist/plugins/devices-homekit/mappers/button.mapper.d.ts +15 -0
  9. package/dist/plugins/devices-homekit/mappers/button.mapper.js +143 -0
  10. package/dist/plugins/devices-homekit/mappers/button.mapper.js.map +1 -0
  11. package/dist/plugins/devices-homekit/mappers/homekit-mapper.interface.d.ts +8 -0
  12. package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.d.ts +5 -1
  13. package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.js +42 -0
  14. package/dist/plugins/devices-homekit/services/homekit-mapper-registry.service.js.map +1 -1
  15. package/dist/plugins/devices-reterminal/services/reterminal-button.service.d.ts +7 -3
  16. package/dist/plugins/devices-reterminal/services/reterminal-button.service.js +63 -17
  17. package/dist/plugins/devices-reterminal/services/reterminal-button.service.js.map +1 -1
  18. package/dist/plugins/devices-third-party/controllers/third-party-inputs.controller.d.ts +17 -0
  19. package/dist/plugins/devices-third-party/controllers/third-party-inputs.controller.js +205 -0
  20. package/dist/plugins/devices-third-party/controllers/third-party-inputs.controller.js.map +1 -0
  21. package/dist/plugins/devices-third-party/devices-third-party.openapi.d.ts +1 -1
  22. package/dist/plugins/devices-third-party/devices-third-party.plugin.js +2 -1
  23. package/dist/plugins/devices-third-party/devices-third-party.plugin.js.map +1 -1
  24. package/dist/plugins/devices-third-party/dto/report-input-occurrence-response.dto.d.ts +5 -0
  25. package/dist/plugins/devices-third-party/dto/report-input-occurrence-response.dto.js +50 -0
  26. package/dist/plugins/devices-third-party/dto/report-input-occurrence-response.dto.js.map +1 -0
  27. package/dist/plugins/devices-third-party/dto/report-input-occurrence.dto.d.ts +8 -0
  28. package/dist/plugins/devices-third-party/dto/report-input-occurrence.dto.js +81 -0
  29. package/dist/plugins/devices-third-party/dto/report-input-occurrence.dto.js.map +1 -0
  30. package/dist/plugins/devices-third-party/platforms/third-party-device.platform.js +19 -4
  31. package/dist/plugins/devices-third-party/platforms/third-party-device.platform.js.map +1 -1
  32. package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.d.ts +2 -0
  33. package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.js +57 -0
  34. package/dist/plugins/devices-virtual/listeners/virtual-projection.listener.js.map +1 -1
  35. package/dist/tsconfig.build.tsbuildinfo +1 -1
  36. package/package.json +2 -2
@@ -13,6 +13,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
13
13
  exports.HomeKitMapperRegistryService = void 0;
14
14
  const common_1 = require("@nestjs/common");
15
15
  const battery_mapper_1 = require("../mappers/battery.mapper");
16
+ const button_mapper_1 = require("../mappers/button.mapper");
16
17
  const lightbulb_mapper_1 = require("../mappers/lightbulb.mapper");
17
18
  const lock_mapper_1 = require("../mappers/lock.mapper");
18
19
  const outlet_mapper_1 = require("../mappers/outlet.mapper");
@@ -26,6 +27,7 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
26
27
  this.mappers = [];
27
28
  this.propertyBindings = new Map();
28
29
  this.propertyListeners = new Map();
30
+ this.occurrenceListeners = new Map();
29
31
  this.deviceProperties = new Map();
30
32
  this.mappers.push(new lightbulb_mapper_1.LightbulbMapper());
31
33
  this.mappers.push(new switch_mapper_1.SwitchMapper());
@@ -34,6 +36,7 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
34
36
  this.mappers.push(new window_covering_mapper_1.WindowCoveringMapper());
35
37
  this.mappers.push(new lock_mapper_1.LockMapper());
36
38
  this.mappers.push(new sensor_mapper_1.SensorMapper());
39
+ this.mappers.push(new button_mapper_1.ButtonMapper());
37
40
  }
38
41
  canMap(device) {
39
42
  return this.findMapper(device) !== null;
@@ -58,6 +61,7 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
58
61
  }
59
62
  const stagedBindings = [];
60
63
  const stagedListeners = [];
64
+ const stagedOccurrenceListeners = [];
61
65
  const context = {
62
66
  commandDispatcher,
63
67
  registerBinding: (binding) => {
@@ -66,17 +70,22 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
66
70
  registerPropertyListener: (listener) => {
67
71
  stagedListeners.push(listener);
68
72
  },
73
+ registerOccurrenceListener: (listener) => {
74
+ stagedOccurrenceListeners.push(listener);
75
+ },
69
76
  };
70
77
  const accessory = mapper.buildAccessory(device, context);
71
78
  if (!accessory) {
72
79
  return null;
73
80
  }
81
+ button_mapper_1.ButtonMapper.attachButtonServices(accessory, device, context);
74
82
  battery_mapper_1.BatteryMapper.attachBatteryService(accessory, device, context);
75
83
  return {
76
84
  accessory,
77
85
  deviceId: device.id,
78
86
  bindings: stagedBindings,
79
87
  listeners: stagedListeners,
88
+ occurrenceListeners: stagedOccurrenceListeners,
80
89
  };
81
90
  }
82
91
  commitStaged(staged) {
@@ -103,6 +112,17 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
103
112
  }
104
113
  devProps.add(listener.propertyId);
105
114
  }
115
+ for (const occListener of staged.occurrenceListeners) {
116
+ const existingProp = this.occurrenceListeners.get(occListener.propertyId) ?? [];
117
+ existingProp.push(occListener);
118
+ this.occurrenceListeners.set(occListener.propertyId, existingProp);
119
+ let devProps = this.deviceProperties.get(occListener.deviceId);
120
+ if (!devProps) {
121
+ devProps = new Set();
122
+ this.deviceProperties.set(occListener.deviceId, devProps);
123
+ }
124
+ devProps.add(occListener.propertyId);
125
+ }
106
126
  }
107
127
  getBindingsForProperty(propertyId) {
108
128
  return this.propertyBindings.get(propertyId) ?? [];
@@ -110,6 +130,9 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
110
130
  getListenersForProperty(propertyId) {
111
131
  return this.propertyListeners.get(propertyId) ?? [];
112
132
  }
133
+ getOccurrenceListeners(propertyId, _channelId) {
134
+ return this.occurrenceListeners.get(propertyId) ?? [];
135
+ }
113
136
  clearDeviceBindings(deviceId) {
114
137
  const propIds = this.deviceProperties.get(deviceId);
115
138
  if (propIds) {
@@ -130,6 +153,14 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
130
153
  else {
131
154
  this.propertyListeners.set(propId, remainingListeners);
132
155
  }
156
+ const occListeners = this.occurrenceListeners.get(propId) ?? [];
157
+ const remainingOccListeners = occListeners.filter((l) => l.deviceId !== deviceId);
158
+ if (remainingOccListeners.length === 0) {
159
+ this.occurrenceListeners.delete(propId);
160
+ }
161
+ else {
162
+ this.occurrenceListeners.set(propId, remainingOccListeners);
163
+ }
133
164
  }
134
165
  this.deviceProperties.delete(deviceId);
135
166
  }
@@ -137,6 +168,7 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
137
168
  clearAllBindings() {
138
169
  this.propertyBindings.clear();
139
170
  this.propertyListeners.clear();
171
+ this.occurrenceListeners.clear();
140
172
  this.deviceProperties.clear();
141
173
  }
142
174
  getSnapshot() {
@@ -148,6 +180,10 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
148
180
  for (const [k, v] of this.propertyListeners.entries()) {
149
181
  cloneListeners.set(k, [...v]);
150
182
  }
183
+ const cloneOcc = new Map();
184
+ for (const [k, v] of this.occurrenceListeners.entries()) {
185
+ cloneOcc.set(k, [...v]);
186
+ }
151
187
  const cloneProps = new Map();
152
188
  for (const [k, v] of this.deviceProperties.entries()) {
153
189
  cloneProps.set(k, new Set(v));
@@ -155,6 +191,7 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
155
191
  return {
156
192
  propertyBindings: cloneBindings,
157
193
  propertyListeners: cloneListeners,
194
+ occurrenceListeners: cloneOcc,
158
195
  deviceProperties: cloneProps,
159
196
  };
160
197
  }
@@ -166,6 +203,11 @@ let HomeKitMapperRegistryService = HomeKitMapperRegistryService_1 = class HomeKi
166
203
  for (const [k, v] of snapshot.propertyListeners.entries()) {
167
204
  this.propertyListeners.set(k, [...v]);
168
205
  }
206
+ if (snapshot.occurrenceListeners) {
207
+ for (const [k, v] of snapshot.occurrenceListeners.entries()) {
208
+ this.occurrenceListeners.set(k, [...v]);
209
+ }
210
+ }
169
211
  for (const [k, v] of snapshot.deviceProperties.entries()) {
170
212
  this.deviceProperties.set(k, new Set(v));
171
213
  }
@@ -1 +1 @@
1
- {"version":3,"file":"homekit-mapper-registry.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-homekit/services/homekit-mapper-registry.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"homekit-mapper-registry.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-homekit/services/homekit-mapper-registry.service.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,23 @@
1
+ import { ChannelInputOccurrencesService } from '../../../modules/devices/services/channel-input-occurrences.service';
1
2
  import { ChannelsPropertiesService } from '../../../modules/devices/services/channels.properties.service';
2
3
  import { ChannelsService } from '../../../modules/devices/services/channels.service';
3
4
  export declare class ReTerminalButtonService {
4
5
  private readonly channelsService;
5
6
  private readonly channelsPropertiesService;
7
+ private readonly channelInputOccurrencesService;
6
8
  private readonly logger;
7
9
  private inputStream;
8
10
  private deviceId;
11
+ private lifecycleGeneration;
9
12
  private readonly buttonStates;
10
- constructor(channelsService: ChannelsService, channelsPropertiesService: ChannelsPropertiesService);
13
+ constructor(channelsService: ChannelsService, channelsPropertiesService: ChannelsPropertiesService, channelInputOccurrencesService: ChannelInputOccurrencesService);
11
14
  start(deviceId: string, inputDevicePath: string): void;
12
15
  stop(): void;
13
16
  findInputDevice(): Promise<string | null>;
14
- private handleInputEvent;
17
+ handleInputEvent(data: Buffer): void;
15
18
  private handleButtonPress;
16
19
  private handleButtonRelease;
17
20
  private getButtonState;
18
- private emitPropertyValue;
21
+ private emitOccurrence;
22
+ private emitDetected;
19
23
  }
@@ -48,6 +48,7 @@ const fs = __importStar(require("fs"));
48
48
  const common_1 = require("@nestjs/common");
49
49
  const logger_1 = require("../../../common/logger");
50
50
  const transform_utils_1 = require("../../../common/utils/transform.utils");
51
+ const channel_input_occurrences_service_1 = require("../../../modules/devices/services/channel-input-occurrences.service");
51
52
  const channels_properties_service_1 = require("../../../modules/devices/services/channels.properties.service");
52
53
  const channels_service_1 = require("../../../modules/devices/services/channels.service");
53
54
  const devices_reterminal_constants_1 = require("../devices-reterminal.constants");
@@ -63,16 +64,19 @@ const KEY_MAP = {
63
64
  33: devices_reterminal_constants_1.RETERMINAL_CHANNEL_IDENTIFIERS.BUTTON_O,
64
65
  };
65
66
  let ReTerminalButtonService = ReTerminalButtonService_1 = class ReTerminalButtonService {
66
- constructor(channelsService, channelsPropertiesService) {
67
+ constructor(channelsService, channelsPropertiesService, channelInputOccurrencesService) {
67
68
  this.channelsService = channelsService;
68
69
  this.channelsPropertiesService = channelsPropertiesService;
70
+ this.channelInputOccurrencesService = channelInputOccurrencesService;
69
71
  this.logger = (0, logger_1.createExtensionLogger)(devices_reterminal_constants_1.DEVICES_RETERMINAL_PLUGIN_NAME, ReTerminalButtonService_1.name);
70
72
  this.inputStream = null;
71
73
  this.deviceId = null;
74
+ this.lifecycleGeneration = 0;
72
75
  this.buttonStates = new Map();
73
76
  }
74
77
  start(deviceId, inputDevicePath) {
75
78
  this.stop();
79
+ this.lifecycleGeneration++;
76
80
  this.deviceId = deviceId;
77
81
  try {
78
82
  this.inputStream = fs.createReadStream(inputDevicePath, {
@@ -92,15 +96,20 @@ let ReTerminalButtonService = ReTerminalButtonService_1 = class ReTerminalButton
92
96
  }
93
97
  }
94
98
  stop() {
99
+ this.lifecycleGeneration++;
95
100
  if (this.inputStream) {
96
101
  this.inputStream.destroy();
97
102
  this.inputStream = null;
98
103
  }
99
104
  for (const state of this.buttonStates.values()) {
100
- if (state.longPressTimer)
105
+ if (state.longPressTimer) {
101
106
  clearTimeout(state.longPressTimer);
102
- if (state.doublePressTimer)
107
+ state.longPressTimer = null;
108
+ }
109
+ if (state.doublePressTimer) {
103
110
  clearTimeout(state.doublePressTimer);
111
+ state.doublePressTimer = null;
112
+ }
104
113
  }
105
114
  this.buttonStates.clear();
106
115
  this.deviceId = null;
@@ -140,6 +149,10 @@ let ReTerminalButtonService = ReTerminalButtonService_1 = class ReTerminalButton
140
149
  if (!channelIdentifier)
141
150
  continue;
142
151
  if (value === 1) {
152
+ const state = this.getButtonState(channelIdentifier);
153
+ if (state.pressedAt !== null) {
154
+ continue;
155
+ }
143
156
  this.handleButtonPress(channelIdentifier);
144
157
  }
145
158
  else if (value === 0) {
@@ -151,16 +164,17 @@ let ReTerminalButtonService = ReTerminalButtonService_1 = class ReTerminalButton
151
164
  const state = this.getButtonState(channelIdentifier);
152
165
  state.pressedAt = Date.now();
153
166
  state.longPressFired = false;
154
- void this.emitPropertyValue(channelIdentifier, 'detected', true);
167
+ void this.emitDetected(channelIdentifier, true);
155
168
  if (state.longPressTimer) {
156
169
  clearTimeout(state.longPressTimer);
170
+ state.longPressTimer = null;
157
171
  }
158
172
  if (state.doublePressTimer) {
159
173
  clearTimeout(state.doublePressTimer);
160
174
  state.doublePressTimer = null;
161
175
  }
162
176
  state.longPressTimer = setTimeout(() => {
163
- void this.emitPropertyValue(channelIdentifier, 'event', 'long_press');
177
+ void this.emitOccurrence(channelIdentifier, 'long_press');
164
178
  state.longPressTimer = null;
165
179
  state.longPressFired = true;
166
180
  }, devices_reterminal_constants_1.DEFAULT_BUTTON_LONG_PRESS_MS);
@@ -169,17 +183,18 @@ let ReTerminalButtonService = ReTerminalButtonService_1 = class ReTerminalButton
169
183
  const state = this.getButtonState(channelIdentifier);
170
184
  const now = Date.now();
171
185
  const pressDuration = state.pressedAt ? now - state.pressedAt : 0;
172
- void this.emitPropertyValue(channelIdentifier, 'detected', false);
186
+ state.pressedAt = null;
187
+ void this.emitDetected(channelIdentifier, false);
173
188
  const timerWasPending = state.longPressTimer !== null;
174
189
  if (state.longPressTimer) {
175
190
  clearTimeout(state.longPressTimer);
176
191
  state.longPressTimer = null;
177
192
  }
178
- if (pressDuration >= devices_reterminal_constants_1.DEFAULT_BUTTON_LONG_PRESS_MS) {
193
+ if (state.longPressFired || pressDuration >= devices_reterminal_constants_1.DEFAULT_BUTTON_LONG_PRESS_MS) {
179
194
  if (timerWasPending && !state.longPressFired) {
180
- void this.emitPropertyValue(channelIdentifier, 'event', 'long_press');
195
+ void this.emitOccurrence(channelIdentifier, 'long_press');
181
196
  }
182
- state.pressedAt = null;
197
+ state.lastReleaseAt = null;
183
198
  return;
184
199
  }
185
200
  if (state.lastReleaseAt && now - state.lastReleaseAt < devices_reterminal_constants_1.DEFAULT_BUTTON_DOUBLE_PRESS_MS) {
@@ -187,17 +202,17 @@ let ReTerminalButtonService = ReTerminalButtonService_1 = class ReTerminalButton
187
202
  clearTimeout(state.doublePressTimer);
188
203
  state.doublePressTimer = null;
189
204
  }
190
- void this.emitPropertyValue(channelIdentifier, 'event', 'double_press');
191
205
  state.lastReleaseAt = null;
206
+ void this.emitOccurrence(channelIdentifier, 'double_press');
192
207
  }
193
208
  else {
194
209
  state.lastReleaseAt = now;
195
210
  state.doublePressTimer = setTimeout(() => {
196
- void this.emitPropertyValue(channelIdentifier, 'event', 'press');
211
+ void this.emitOccurrence(channelIdentifier, 'press');
197
212
  state.doublePressTimer = null;
213
+ state.lastReleaseAt = null;
198
214
  }, devices_reterminal_constants_1.DEFAULT_BUTTON_DOUBLE_PRESS_MS);
199
215
  }
200
- state.pressedAt = null;
201
216
  }
202
217
  getButtonState(channelIdentifier) {
203
218
  let state = this.buttonStates.get(channelIdentifier);
@@ -213,23 +228,53 @@ let ReTerminalButtonService = ReTerminalButtonService_1 = class ReTerminalButton
213
228
  }
214
229
  return state;
215
230
  }
216
- async emitPropertyValue(channelIdentifier, propertyIdentifier, value) {
231
+ async emitOccurrence(channelIdentifier, event) {
232
+ if (!this.deviceId)
233
+ return;
234
+ const deviceId = this.deviceId;
235
+ const generation = this.lifecycleGeneration;
236
+ try {
237
+ const channel = await this.channelsService.findOneBy('identifier', channelIdentifier, deviceId, devices_reterminal_constants_1.DEVICES_RETERMINAL_TYPE);
238
+ if (!channel)
239
+ return;
240
+ const property = await this.channelsPropertiesService.findOneBy('identifier', 'event', channel.id, devices_reterminal_constants_1.DEVICES_RETERMINAL_TYPE);
241
+ if (!property)
242
+ return;
243
+ if (this.lifecycleGeneration !== generation || this.deviceId !== deviceId)
244
+ return;
245
+ await this.channelInputOccurrencesService.publishOccurrence({
246
+ deviceId,
247
+ channelId: channel.id,
248
+ propertyId: property.id,
249
+ event,
250
+ nativeEventType: event,
251
+ });
252
+ }
253
+ catch (error) {
254
+ this.logger.debug(`Failed to emit button occurrence ${channelIdentifier}.event: ${error}`);
255
+ }
256
+ }
257
+ async emitDetected(channelIdentifier, value) {
217
258
  if (!this.deviceId)
218
259
  return;
260
+ const deviceId = this.deviceId;
261
+ const generation = this.lifecycleGeneration;
219
262
  try {
220
- const channel = await this.channelsService.findOneBy('identifier', channelIdentifier, this.deviceId, devices_reterminal_constants_1.DEVICES_RETERMINAL_TYPE);
263
+ const channel = await this.channelsService.findOneBy('identifier', channelIdentifier, deviceId, devices_reterminal_constants_1.DEVICES_RETERMINAL_TYPE);
221
264
  if (!channel)
222
265
  return;
223
- const property = await this.channelsPropertiesService.findOneBy('identifier', propertyIdentifier, channel.id, devices_reterminal_constants_1.DEVICES_RETERMINAL_TYPE);
266
+ const property = await this.channelsPropertiesService.findOneBy('identifier', 'detected', channel.id, devices_reterminal_constants_1.DEVICES_RETERMINAL_TYPE);
224
267
  if (!property)
225
268
  return;
269
+ if (this.lifecycleGeneration !== generation || this.deviceId !== deviceId)
270
+ return;
226
271
  await this.channelsPropertiesService.update(property.id, (0, transform_utils_1.toInstance)(update_channel_property_dto_1.UpdateReTerminalChannelPropertyDto, {
227
272
  type: devices_reterminal_constants_1.DEVICES_RETERMINAL_TYPE,
228
273
  value,
229
274
  }));
230
275
  }
231
276
  catch (error) {
232
- this.logger.debug(`Failed to emit button event ${channelIdentifier}.${propertyIdentifier}: ${error}`);
277
+ this.logger.debug(`Failed to emit button detected ${channelIdentifier}.detected: ${error}`);
233
278
  }
234
279
  }
235
280
  };
@@ -237,6 +282,7 @@ exports.ReTerminalButtonService = ReTerminalButtonService;
237
282
  exports.ReTerminalButtonService = ReTerminalButtonService = ReTerminalButtonService_1 = __decorate([
238
283
  (0, common_1.Injectable)(),
239
284
  __metadata("design:paramtypes", [channels_service_1.ChannelsService,
240
- channels_properties_service_1.ChannelsPropertiesService])
285
+ channels_properties_service_1.ChannelsPropertiesService,
286
+ channel_input_occurrences_service_1.ChannelInputOccurrencesService])
241
287
  ], ReTerminalButtonService);
242
288
  //# sourceMappingURL=reterminal-button.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reterminal-button.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-reterminal/services/reterminal-button.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reterminal-button.service.js","sourceRoot":"","sources":["../../../../src/plugins/devices-reterminal/services/reterminal-button.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { FastifyReply } from 'fastify';
2
+ import { ChannelInputOccurrenceResponseModel } from '../../../modules/devices/models/channel-input-occurrence.model';
3
+ import { ChannelInputOccurrencesService } from '../../../modules/devices/services/channel-input-occurrences.service';
4
+ import { ChannelsPropertiesService } from '../../../modules/devices/services/channels.properties.service';
5
+ import { ChannelsService } from '../../../modules/devices/services/channels.service';
6
+ import { DevicesService } from '../../../modules/devices/services/devices.service';
7
+ import { ReportInputOccurrenceDto } from '../dto/report-input-occurrence.dto';
8
+ export declare class ThirdPartyInputsController {
9
+ private readonly devicesService;
10
+ private readonly channelsService;
11
+ private readonly channelsPropertiesService;
12
+ private readonly channelInputOccurrencesService;
13
+ private readonly logger;
14
+ constructor(devicesService: DevicesService, channelsService: ChannelsService, channelsPropertiesService: ChannelsPropertiesService, channelInputOccurrencesService: ChannelInputOccurrencesService);
15
+ reportOccurrence(deviceId: string, channelId: string, dto: ReportInputOccurrenceDto, res?: FastifyReply): Promise<ChannelInputOccurrenceResponseModel | void>;
16
+ reportEvent(deviceId: string, channelId: string, dto: ReportInputOccurrenceDto, res?: FastifyReply): Promise<ChannelInputOccurrenceResponseModel | void>;
17
+ }