hoffmation-base 0.1.22 → 0.1.26

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 (79) hide show
  1. package/lib/models/rooms/RoomBase.d.ts +2 -2
  2. package/lib/models/rooms/RoomBase.js +3 -7
  3. package/lib/models/rooms/RoomSettings/RoomInitializationSettings.d.ts +2 -4
  4. package/lib/models/rooms/RoomSettings/RoomSettings.d.ts +3 -5
  5. package/lib/models/rooms/RoomSettings/RoomSettings.js +1 -2
  6. package/lib/models/rooms/RoomSettings/iRoomInitializationSettings.d.ts +2 -3
  7. package/lib/models/rooms/RoomSettings/index.d.ts +2 -2
  8. package/lib/models/rooms/RoomSettings/index.js +2 -2
  9. package/lib/models/rooms/RoomSettings/roomAddDeviceItem.d.ts +10 -0
  10. package/lib/models/rooms/RoomSettings/roomAddDeviceItem.js +23 -0
  11. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.d.ts +10 -0
  12. package/lib/models/rooms/RoomSettings/roomDeviceAddingSettings.js +33 -0
  13. package/lib/server/devices/Griffe.js +4 -4
  14. package/lib/server/devices/Heizgruppen.js +7 -7
  15. package/lib/server/devices/IoBrokerBaseDevice.d.ts +41 -0
  16. package/lib/server/devices/IoBrokerBaseDevice.js +78 -0
  17. package/lib/server/devices/Rollos.js +4 -4
  18. package/lib/server/devices/deviceType.d.ts +26 -0
  19. package/lib/server/devices/deviceType.js +30 -0
  20. package/lib/server/devices/deviceUpdater.d.ts +0 -4
  21. package/lib/server/devices/deviceUpdater.js +7 -32
  22. package/lib/server/devices/devices.d.ts +5 -7
  23. package/lib/server/devices/devices.js +19 -110
  24. package/lib/server/devices/groups/heatGroup.js +4 -4
  25. package/lib/server/devices/groups/lampenGroup.js +4 -4
  26. package/lib/server/devices/groups/tasterGroup.js +0 -3
  27. package/lib/server/devices/hmIPDevices/hmIpBewegung.js +2 -2
  28. package/lib/server/devices/hmIPDevices/hmIpDevice.d.ts +5 -14
  29. package/lib/server/devices/hmIPDevices/hmIpDevice.js +45 -40
  30. package/lib/server/devices/hmIPDevices/hmIpGriff.js +2 -2
  31. package/lib/server/devices/hmIPDevices/hmIpHeizgruppe.js +5 -5
  32. package/lib/server/devices/hmIPDevices/hmIpHeizung.js +2 -2
  33. package/lib/server/devices/hmIPDevices/hmIpLampe.js +2 -2
  34. package/lib/server/devices/hmIPDevices/hmIpPraezenz.js +2 -2
  35. package/lib/server/devices/hmIPDevices/hmIpRoll.js +2 -2
  36. package/lib/server/devices/hmIPDevices/hmIpTaster.js +2 -2
  37. package/lib/server/devices/hmIPDevices/hmIpTherm.js +2 -2
  38. package/lib/server/devices/hmIPDevices/hmIpTuer.js +2 -2
  39. package/lib/server/devices/hmIPDevices/hmIpWippe.js +2 -2
  40. package/lib/server/devices/hmIPDevices/index.d.ts +1 -1
  41. package/lib/server/devices/hmIPDevices/index.js +1 -1
  42. package/lib/server/devices/index.d.ts +2 -1
  43. package/lib/server/devices/index.js +2 -1
  44. package/lib/server/devices/wledDevice.d.ts +4 -26
  45. package/lib/server/devices/wledDevice.js +15 -44
  46. package/lib/server/devices/zigbee/ZigbeeActuator.d.ts +2 -2
  47. package/lib/server/devices/zigbee/index.d.ts +0 -1
  48. package/lib/server/devices/zigbee/index.js +0 -1
  49. package/lib/server/devices/zigbee/zigbeeAquaraMotion.js +2 -2
  50. package/lib/server/devices/zigbee/zigbeeAquaraVibra.js +2 -2
  51. package/lib/server/devices/zigbee/zigbeeAquaraWater.js +2 -2
  52. package/lib/server/devices/zigbee/zigbeeBlitzShp.js +2 -2
  53. package/lib/server/devices/zigbee/zigbeeDevice.d.ts +5 -12
  54. package/lib/server/devices/zigbee/zigbeeDevice.js +44 -41
  55. package/lib/server/devices/zigbee/zigbeeHeimanSmoke.js +2 -2
  56. package/lib/server/devices/zigbee/zigbeeIkeaSteckdose.js +2 -2
  57. package/lib/server/devices/zigbee/zigbeeIlluActuator.d.ts +2 -2
  58. package/lib/server/devices/zigbee/zigbeeIlluActuator.js +2 -2
  59. package/lib/server/devices/zigbee/zigbeeIlluDimmer.js +2 -2
  60. package/lib/server/devices/zigbee/zigbeeIlluLampe.js +2 -2
  61. package/lib/server/devices/zigbee/zigbeeIlluLedRGBCCT.js +2 -2
  62. package/lib/server/services/Sonos/OwnSonosDevices.js +3 -0
  63. package/lib/server/services/Sonos/sonos-service.js +4 -0
  64. package/lib/server/services/Telegram/telegram-Commands.js +7 -8
  65. package/lib/server/services/dbo/persist.d.ts +3 -3
  66. package/lib/server/services/log-service.d.ts +4 -8
  67. package/lib/server/services/log-service.js +4 -14
  68. package/lib/tsconfig.tsbuildinfo +1 -1
  69. package/package.json +1 -1
  70. package/lib/models/rooms/RoomSettings/hmIPRoomSettings.d.ts +0 -17
  71. package/lib/models/rooms/RoomSettings/hmIPRoomSettings.js +0 -51
  72. package/lib/models/rooms/RoomSettings/zigbeeRoomSettings.d.ts +0 -17
  73. package/lib/models/rooms/RoomSettings/zigbeeRoomSettings.js +0 -51
  74. package/lib/server/devices/hmIPDevices/hmIpDeviceType.d.ts +0 -14
  75. package/lib/server/devices/hmIPDevices/hmIpDeviceType.js +0 -18
  76. package/lib/server/devices/iIoBrokerDevice.d.ts +0 -30
  77. package/lib/server/devices/iIoBrokerDevice.js +0 -37
  78. package/lib/server/devices/zigbee/zigbeeDeviceType.d.ts +0 -14
  79. package/lib/server/devices/zigbee/zigbeeDeviceType.js +0 -18
@@ -9,7 +9,7 @@ import { RoomSettings } from './RoomSettings/RoomSettings';
9
9
  import { SmokeGroup } from '../../server/devices/groups/smokeGroup';
10
10
  import { FensterGroup } from '../../server/devices/groups/fensterGroup';
11
11
  import { SonosGroup } from '../../server/devices/groups/sonosGroup';
12
- import { ioBrokerBaseDevice } from '../../server/devices/iIoBrokerDevice';
12
+ import { IoBrokerBaseDevice } from '../../server/devices/IoBrokerBaseDevice';
13
13
  import { RoomInitializationSettings } from './RoomSettings/RoomInitializationSettings';
14
14
  export declare class RoomBase {
15
15
  roomName: string;
@@ -62,7 +62,7 @@ export declare class RoomBase {
62
62
  static clearAllAlarms(): void;
63
63
  static startAwayMode(): void;
64
64
  static startNightAlarmMode(): void;
65
- static startIntrusionAlarm(room: RoomBase, device: ioBrokerBaseDevice): void;
65
+ static startIntrusionAlarm(room: RoomBase, device: IoBrokerBaseDevice): void;
66
66
  static endAlarmModes(): void;
67
67
  static getLastMovements(): string;
68
68
  constructor(roomName: string, Einstellungen: RoomSettings);
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.RoomBase = void 0;
4
- const hmIpDevice_1 = require("../../server/devices/hmIPDevices/hmIpDevice");
5
4
  const tasterGroup_1 = require("../../server/devices/groups/tasterGroup");
6
5
  const praesenzGroup_1 = require("../../server/devices/groups/praesenzGroup");
7
6
  const ringstorage_1 = require("../../server/services/utils/ringstorage");
@@ -14,11 +13,11 @@ const utils_1 = require("../../server/services/utils/utils");
14
13
  const lampenGroup_1 = require("../../server/devices/groups/lampenGroup");
15
14
  const smokeGroup_1 = require("../../server/devices/groups/smokeGroup");
16
15
  const fensterGroup_1 = require("../../server/devices/groups/fensterGroup");
17
- const zigbeeDevice_1 = require("../../server/devices/zigbee/zigbeeDevice");
18
16
  const persist_1 = require("../../server/services/dbo/persist");
19
17
  const time_callback_service_1 = require("../../server/services/time-callback-service");
20
18
  const sonos_service_1 = require("../../server/services/Sonos/sonos-service");
21
19
  const sonosGroup_1 = require("../../server/devices/groups/sonosGroup");
20
+ const IoBrokerBaseDevice_1 = require("../../server/devices/IoBrokerBaseDevice");
22
21
  class RoomBase {
23
22
  constructor(roomName, Einstellungen) {
24
23
  this.roomName = roomName;
@@ -44,11 +43,8 @@ class RoomBase {
44
43
  RoomBase.allRooms.push(this);
45
44
  }
46
45
  static registerRoomForDevices(roomInitializationSettings) {
47
- if (roomInitializationSettings.hmIpSettings !== undefined) {
48
- hmIpDevice_1.HmIPDevice.addRoom(roomInitializationSettings.shortName, roomInitializationSettings.hmIpSettings);
49
- }
50
- if (roomInitializationSettings.zigbeeSettings !== undefined) {
51
- zigbeeDevice_1.ZigbeeDevice.addRoom(roomInitializationSettings.shortName, roomInitializationSettings.zigbeeSettings);
46
+ if (roomInitializationSettings.deviceAddidngSettings !== undefined) {
47
+ IoBrokerBaseDevice_1.IoBrokerBaseDevice.addRoom(roomInitializationSettings.shortName, roomInitializationSettings.deviceAddidngSettings);
52
48
  }
53
49
  }
54
50
  static addToRoomList(room) {
@@ -1,10 +1,8 @@
1
- import { HmIpRoomSettings } from './hmIPRoomSettings';
2
- import { ZigbeeRoomSettings } from './zigbeeRoomSettings';
1
+ import { RoomDeviceAddingSettings } from './roomDeviceAddingSettings';
3
2
  import { iRoomInitializationSettings } from './iRoomInitializationSettings';
4
3
  export declare class RoomInitializationSettings implements iRoomInitializationSettings {
5
4
  shortName: string;
6
5
  etage: number;
7
6
  constructor(shortName: string, etage?: number);
8
- hmIpSettings?: HmIpRoomSettings;
9
- zigbeeSettings?: ZigbeeRoomSettings;
7
+ deviceAddidngSettings?: RoomDeviceAddingSettings;
10
8
  }
@@ -1,10 +1,9 @@
1
- import { HmIpRoomSettings } from './hmIPRoomSettings';
2
- import { ZigbeeRoomSettings } from './zigbeeRoomSettings';
1
+ import { RoomDeviceAddingSettings } from './roomDeviceAddingSettings';
3
2
  import { iRoomDefaultSettings } from './iRoomDefaultSettings';
4
3
  import { SunTimeOffsets } from '../../../server/services/time-callback-service';
5
4
  import { RoomBase } from '../RoomBase';
6
5
  import { iTimePair } from '../../../server/config/iConfig';
7
- import { iRoomInitializationSettings } from '/server/config/private/src/models/rooms/RoomSettings/iRoomInitializationSettings';
6
+ import { iRoomInitializationSettings } from './iRoomInitializationSettings';
8
7
  export declare class RoomSettings implements iRoomDefaultSettings, iRoomInitializationSettings {
9
8
  shortName: string;
10
9
  defaultSettings: iRoomDefaultSettings;
@@ -20,8 +19,7 @@ export declare class RoomSettings implements iRoomDefaultSettings, iRoomInitiali
20
19
  private _sonnenAufgangRolloMinTime;
21
20
  private _sonnenAufgangLampenDelay;
22
21
  private _lightIfNoWindows;
23
- hmIpSettings?: HmIpRoomSettings;
24
- zigbeeSettings?: ZigbeeRoomSettings;
22
+ deviceAddidngSettings?: RoomDeviceAddingSettings;
25
23
  radioUrl: string;
26
24
  etage: number;
27
25
  rolloOffset: SunTimeOffsets;
@@ -23,8 +23,7 @@ class RoomSettings {
23
23
  this.rolloHeatReduction = this.defaultSettings.rolloHeatReduction;
24
24
  this.shortName = initSettings.shortName;
25
25
  this.etage = initSettings.etage;
26
- this.hmIpSettings = initSettings.hmIpSettings;
27
- this.zigbeeSettings = initSettings.zigbeeSettings;
26
+ this.deviceAddidngSettings = initSettings.deviceAddidngSettings;
28
27
  this.rolloOffset = new time_callback_service_1.SunTimeOffsets(this.sonnenAufgangRolloDelay, this.sonnenUntergangRolloDelay, this.sonnenAufgangRolloMinTime.hours, this.sonnenAufgangRolloMinTime.minutes, this.sonnenUntergangRolloMaxTime.hours, this.sonnenUntergangRolloMaxTime.minutes);
29
28
  this.lampOffset = new time_callback_service_1.SunTimeOffsets(this.sonnenAufgangLampenDelay, this.sonnenUntergangLampenDelay);
30
29
  }
@@ -1,7 +1,6 @@
1
- import { HmIpRoomSettings, ZigbeeRoomSettings } from '../index';
1
+ import { RoomDeviceAddingSettings } from './roomDeviceAddingSettings';
2
2
  export interface iRoomInitializationSettings {
3
- hmIpSettings?: HmIpRoomSettings;
4
- zigbeeSettings?: ZigbeeRoomSettings;
3
+ deviceAddidngSettings?: RoomDeviceAddingSettings;
5
4
  etage: number;
6
5
  shortName: string;
7
6
  }
@@ -1,6 +1,6 @@
1
1
  export * from './RoomSettings';
2
- export * from './hmIPRoomSettings';
3
- export * from './zigbeeRoomSettings';
2
+ export * from './roomDeviceAddingSettings';
4
3
  export * from './iRoomDefaultSettings';
5
4
  export * from './iRoomInitializationSettings';
6
5
  export * from './RoomInitializationSettings';
6
+ export * from './roomAddDeviceItem';
@@ -11,8 +11,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
13
  __exportStar(require("./RoomSettings"), exports);
14
- __exportStar(require("./hmIPRoomSettings"), exports);
15
- __exportStar(require("./zigbeeRoomSettings"), exports);
14
+ __exportStar(require("./roomDeviceAddingSettings"), exports);
16
15
  __exportStar(require("./iRoomDefaultSettings"), exports);
17
16
  __exportStar(require("./iRoomInitializationSettings"), exports);
18
17
  __exportStar(require("./RoomInitializationSettings"), exports);
18
+ __exportStar(require("./roomAddDeviceItem"), exports);
@@ -0,0 +1,10 @@
1
+ import { RoomBase } from '../RoomBase';
2
+ export declare class RoomAddDeviceItem {
3
+ setID: (value: string) => RoomBase;
4
+ index: number;
5
+ customName: string;
6
+ private _added;
7
+ get added(): boolean;
8
+ set added(value: boolean);
9
+ constructor(setID: (value: string) => RoomBase, index: number, customName: string);
10
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoomAddDeviceItem = void 0;
4
+ const logLevel_1 = require("../../logLevel");
5
+ const log_service_1 = require("../../../server/services/log-service");
6
+ class RoomAddDeviceItem {
7
+ constructor(setID, index, customName) {
8
+ this.setID = setID;
9
+ this.index = index;
10
+ this.customName = customName;
11
+ this._added = false;
12
+ }
13
+ get added() {
14
+ return this._added;
15
+ }
16
+ set added(value) {
17
+ if (this._added) {
18
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `${this.customName} Added twice`);
19
+ }
20
+ this._added = value;
21
+ }
22
+ }
23
+ exports.RoomAddDeviceItem = RoomAddDeviceItem;
@@ -0,0 +1,10 @@
1
+ import { RoomAddDeviceItem } from './roomAddDeviceItem';
2
+ import { DeviceType } from '../../../server';
3
+ import { RoomBase } from '../RoomBase';
4
+ export declare class RoomDeviceAddingSettings {
5
+ RoomName: string;
6
+ devices: Array<Array<RoomAddDeviceItem>>;
7
+ constructor(RoomName: string);
8
+ addDevice(deviceType: DeviceType, setID: (value: string) => RoomBase, index: number, customName?: string | undefined): void;
9
+ checkMissing(): void;
10
+ }
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RoomDeviceAddingSettings = void 0;
4
+ const logLevel_1 = require("../../logLevel");
5
+ const roomAddDeviceItem_1 = require("./roomAddDeviceItem");
6
+ const server_1 = require("../../../server");
7
+ class RoomDeviceAddingSettings {
8
+ constructor(RoomName) {
9
+ this.RoomName = RoomName;
10
+ this.devices = [];
11
+ }
12
+ addDevice(deviceType, setID, index, customName = undefined) {
13
+ if (this.devices[deviceType] === undefined) {
14
+ this.devices[deviceType] = [];
15
+ }
16
+ if (customName === undefined) {
17
+ customName = `${this.RoomName} ${server_1.DeviceType[deviceType]}`;
18
+ }
19
+ this.devices[deviceType][index] = new roomAddDeviceItem_1.RoomAddDeviceItem(setID, index, customName);
20
+ }
21
+ checkMissing() {
22
+ for (const type in this.devices) {
23
+ const devs = this.devices[type];
24
+ for (const index in devs) {
25
+ const dev = devs[index];
26
+ if (!dev.added) {
27
+ server_1.ServerLogService.writeLog(logLevel_1.LogLevel.Error, `${dev.customName} fehlt in der Device JSON`);
28
+ }
29
+ }
30
+ }
31
+ }
32
+ }
33
+ exports.RoomDeviceAddingSettings = RoomDeviceAddingSettings;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Griffe = void 0;
4
4
  const devices_1 = require("./devices");
5
5
  const FensterPosition_1 = require("./hmIPDevices/FensterPosition");
6
- const hmIpDeviceType_1 = require("./hmIPDevices/hmIpDeviceType");
6
+ const deviceType_1 = require("./deviceType");
7
7
  class Griffe {
8
8
  static getGriffPosition() {
9
9
  const griffe = Griffe.getAllGriffe();
@@ -19,9 +19,9 @@ class Griffe {
19
19
  }
20
20
  static getAllGriffe() {
21
21
  const griffe = [];
22
- for (const dID in devices_1.Devices.hmIP) {
23
- const d = devices_1.Devices.hmIP[dID];
24
- if (d.deviceType === hmIpDeviceType_1.HmIpDeviceType.HmIpGriff) {
22
+ for (const dID in devices_1.Devices.alLDevices) {
23
+ const d = devices_1.Devices.alLDevices[dID];
24
+ if (d.deviceType === deviceType_1.DeviceType.HmIpGriff) {
25
25
  griffe.push(d);
26
26
  }
27
27
  }
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Heizgruppen = void 0;
4
4
  const persist_1 = require("../services/dbo/persist");
5
5
  const devices_1 = require("./devices");
6
- const hmIpDeviceType_1 = require("./hmIPDevices/hmIpDeviceType");
6
+ const deviceType_1 = require("./deviceType");
7
7
  class Heizgruppen {
8
8
  static getInfo() {
9
9
  const gruppen = Heizgruppen.getAllGruppen();
@@ -57,18 +57,18 @@ class Heizgruppen {
57
57
  }
58
58
  static getAllGruppen() {
59
59
  const gruppen = [];
60
- for (const dID in devices_1.Devices.hmIP) {
61
- const d = devices_1.Devices.hmIP[dID];
62
- if (d.deviceType === hmIpDeviceType_1.HmIpDeviceType.HmIpHeizgruppe) {
60
+ for (const dID in devices_1.Devices.alLDevices) {
61
+ const d = devices_1.Devices.alLDevices[dID];
62
+ if (d.deviceType === deviceType_1.DeviceType.HmIpHeizgruppe) {
63
63
  gruppen.push(d);
64
64
  }
65
65
  }
66
66
  return gruppen;
67
67
  }
68
68
  static getSpecificGroup(name) {
69
- for (const dID in devices_1.Devices.hmIP) {
70
- const d = devices_1.Devices.hmIP[dID];
71
- if (d.deviceType === hmIpDeviceType_1.HmIpDeviceType.HmIpHeizgruppe && d.info.customName === name) {
69
+ for (const dID in devices_1.Devices.alLDevices) {
70
+ const d = devices_1.Devices.alLDevices[dID];
71
+ if (d.deviceType === deviceType_1.DeviceType.HmIpHeizgruppe && d.info.customName === name) {
72
72
  return d;
73
73
  }
74
74
  }
@@ -0,0 +1,41 @@
1
+ /// <reference types="iobroker" />
2
+ import { DeviceInfo } from './DeviceInfo';
3
+ import { DeviceType } from './deviceType';
4
+ import { IOBrokerConnection } from '../ioBroker/connection';
5
+ import { RoomDeviceAddingSettings } from '../../models/rooms/RoomSettings/roomDeviceAddingSettings';
6
+ import { RoomBase } from '../../models';
7
+ export declare abstract class IoBrokerBaseDevice {
8
+ protected _info: DeviceInfo;
9
+ deviceType: DeviceType;
10
+ static roomAddingSettings: {
11
+ [id: string]: RoomDeviceAddingSettings;
12
+ };
13
+ static addRoom(shortName: string, settings: RoomDeviceAddingSettings): void;
14
+ static checkMissing(): void;
15
+ room: RoomBase | undefined;
16
+ allDevicesKey: string;
17
+ protected _ioConnection?: IOBrokerConnection;
18
+ protected constructor(_info: DeviceInfo, deviceType: DeviceType);
19
+ /**
20
+ * Getter info
21
+ * @return {TradFriInfo}
22
+ */
23
+ get info(): DeviceInfo;
24
+ /**
25
+ * Setter info
26
+ * @param {TradFriInfo} value
27
+ */
28
+ set info(value: DeviceInfo);
29
+ /**
30
+ * Getter ioConn
31
+ * @return {IOBrokerConnection}
32
+ */
33
+ get ioConn(): IOBrokerConnection | undefined;
34
+ /**
35
+ * Setter ioConn
36
+ * @param {IOBrokerConnection} value
37
+ */
38
+ set ioConn(value: IOBrokerConnection | undefined);
39
+ abstract update(idSplit: string[], state: ioBroker.State, initial: boolean, pOverride: boolean): void;
40
+ protected addToCorrectRoom(): void;
41
+ }
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IoBrokerBaseDevice = void 0;
4
+ const logLevel_1 = require("../../models/logLevel");
5
+ const log_service_1 = require("../services/log-service");
6
+ class IoBrokerBaseDevice {
7
+ constructor(_info, deviceType) {
8
+ this._info = _info;
9
+ this.deviceType = deviceType;
10
+ this.room = undefined;
11
+ this.allDevicesKey = '';
12
+ this.addToCorrectRoom();
13
+ }
14
+ static addRoom(shortName, settings) {
15
+ if (this.roomAddingSettings[shortName] !== undefined) {
16
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Alert, `Es gibt bereits ein Registrat für HmIpRoomsettings für den Raumnamen "${shortName}"`);
17
+ return;
18
+ }
19
+ this.roomAddingSettings[shortName] = settings;
20
+ }
21
+ static checkMissing() {
22
+ for (const rName in this.roomAddingSettings) {
23
+ this.roomAddingSettings[rName].checkMissing();
24
+ }
25
+ }
26
+ /**
27
+ * Getter info
28
+ * @return {TradFriInfo}
29
+ */
30
+ get info() {
31
+ return this._info;
32
+ }
33
+ /**
34
+ * Setter info
35
+ * @param {TradFriInfo} value
36
+ */
37
+ set info(value) {
38
+ this._info = value;
39
+ }
40
+ /**
41
+ * Getter ioConn
42
+ * @return {IOBrokerConnection}
43
+ */
44
+ get ioConn() {
45
+ return this._ioConnection;
46
+ }
47
+ /**
48
+ * Setter ioConn
49
+ * @param {IOBrokerConnection} value
50
+ */
51
+ set ioConn(value) {
52
+ this._ioConnection = value;
53
+ }
54
+ addToCorrectRoom() {
55
+ const settings = IoBrokerBaseDevice.roomAddingSettings[this.info.room];
56
+ if (settings !== undefined) {
57
+ if (settings.devices[this.deviceType] === undefined) {
58
+ log_service_1.ServerLogService.missingRoomHandling(settings.RoomName, this.deviceType);
59
+ return;
60
+ }
61
+ const deviceSettings = settings.devices[this.deviceType][this.info.deviceRoomIndex];
62
+ if (deviceSettings === undefined) {
63
+ log_service_1.ServerLogService.missingRoomIndexHandling(settings.RoomName, this.info.deviceRoomIndex, this.deviceType);
64
+ return;
65
+ }
66
+ if (deviceSettings.customName !== undefined) {
67
+ this.info.customName = deviceSettings.customName;
68
+ }
69
+ this.room = deviceSettings.setID(this.info.devID);
70
+ deviceSettings.added = true;
71
+ log_service_1.ServerLogService.addedDeviceToRoom(settings.RoomName, this.deviceType, this.info.deviceRoomIndex);
72
+ return;
73
+ }
74
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Warn, `${this.info.room} is noch kein bekannter Raum`);
75
+ }
76
+ }
77
+ exports.IoBrokerBaseDevice = IoBrokerBaseDevice;
78
+ IoBrokerBaseDevice.roomAddingSettings = {};
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Rolladen = void 0;
4
4
  const devices_1 = require("./devices");
5
- const hmIpDeviceType_1 = require("./hmIPDevices/hmIpDeviceType");
5
+ const deviceType_1 = require("./deviceType");
6
6
  const RoomBase_1 = require("../../models/rooms/RoomBase");
7
7
  class Rolladen {
8
8
  static getRolladenPosition() {
@@ -31,9 +31,9 @@ class Rolladen {
31
31
  }
32
32
  static getAllRollos() {
33
33
  const rollos = [];
34
- for (const dID in devices_1.Devices.hmIP) {
35
- const d = devices_1.Devices.hmIP[dID];
36
- if (d.deviceType === hmIpDeviceType_1.HmIpDeviceType.HmIpRoll) {
34
+ for (const dID in devices_1.Devices.alLDevices) {
35
+ const d = devices_1.Devices.alLDevices[dID];
36
+ if (d.deviceType === deviceType_1.DeviceType.HmIpRoll) {
37
37
  rollos.push(d);
38
38
  }
39
39
  }
@@ -0,0 +1,26 @@
1
+ export declare enum DeviceType {
2
+ unknown = 0,
3
+ HmIpLampe = 101,
4
+ HmIpTaster = 102,
5
+ HmIpRoll = 103,
6
+ HmIpTherm = 104,
7
+ HmIpPraezenz = 105,
8
+ HmIpGriff = 106,
9
+ HmIpWippe = 107,
10
+ HmIpHeizung = 108,
11
+ HmIpTuer = 109,
12
+ HmIpHeizgruppe = 110,
13
+ HmIpBewegung = 111,
14
+ ZigbeeIkeaFernbedienung = 201,
15
+ ZigbeeIkeaSteckdose = 202,
16
+ ZigbeeIlluLedRGBCCT = 203,
17
+ ZigbeeAquaraVibra = 204,
18
+ ZigbeeIlluDimmer = 205,
19
+ ZigbeeHeimanSmoke = 206,
20
+ ZigbeeAquaraWater = 207,
21
+ ZigbeeBlitzShp = 208,
22
+ ZigbeeIlluLampe = 209,
23
+ ZigbeeIlluActuator = 210,
24
+ ZigbeeAquaraMotion = 211,
25
+ Wled = 1001
26
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DeviceType = void 0;
4
+ var DeviceType;
5
+ (function (DeviceType) {
6
+ DeviceType[DeviceType["unknown"] = 0] = "unknown";
7
+ DeviceType[DeviceType["HmIpLampe"] = 101] = "HmIpLampe";
8
+ DeviceType[DeviceType["HmIpTaster"] = 102] = "HmIpTaster";
9
+ DeviceType[DeviceType["HmIpRoll"] = 103] = "HmIpRoll";
10
+ DeviceType[DeviceType["HmIpTherm"] = 104] = "HmIpTherm";
11
+ DeviceType[DeviceType["HmIpPraezenz"] = 105] = "HmIpPraezenz";
12
+ DeviceType[DeviceType["HmIpGriff"] = 106] = "HmIpGriff";
13
+ DeviceType[DeviceType["HmIpWippe"] = 107] = "HmIpWippe";
14
+ DeviceType[DeviceType["HmIpHeizung"] = 108] = "HmIpHeizung";
15
+ DeviceType[DeviceType["HmIpTuer"] = 109] = "HmIpTuer";
16
+ DeviceType[DeviceType["HmIpHeizgruppe"] = 110] = "HmIpHeizgruppe";
17
+ DeviceType[DeviceType["HmIpBewegung"] = 111] = "HmIpBewegung";
18
+ DeviceType[DeviceType["ZigbeeIkeaFernbedienung"] = 201] = "ZigbeeIkeaFernbedienung";
19
+ DeviceType[DeviceType["ZigbeeIkeaSteckdose"] = 202] = "ZigbeeIkeaSteckdose";
20
+ DeviceType[DeviceType["ZigbeeIlluLedRGBCCT"] = 203] = "ZigbeeIlluLedRGBCCT";
21
+ DeviceType[DeviceType["ZigbeeAquaraVibra"] = 204] = "ZigbeeAquaraVibra";
22
+ DeviceType[DeviceType["ZigbeeIlluDimmer"] = 205] = "ZigbeeIlluDimmer";
23
+ DeviceType[DeviceType["ZigbeeHeimanSmoke"] = 206] = "ZigbeeHeimanSmoke";
24
+ DeviceType[DeviceType["ZigbeeAquaraWater"] = 207] = "ZigbeeAquaraWater";
25
+ DeviceType[DeviceType["ZigbeeBlitzShp"] = 208] = "ZigbeeBlitzShp";
26
+ DeviceType[DeviceType["ZigbeeIlluLampe"] = 209] = "ZigbeeIlluLampe";
27
+ DeviceType[DeviceType["ZigbeeIlluActuator"] = 210] = "ZigbeeIlluActuator";
28
+ DeviceType[DeviceType["ZigbeeAquaraMotion"] = 211] = "ZigbeeAquaraMotion";
29
+ DeviceType[DeviceType["Wled"] = 1001] = "Wled";
30
+ })(DeviceType = exports.DeviceType || (exports.DeviceType = {}));
@@ -2,12 +2,8 @@
2
2
  import { Devices } from './devices';
3
3
  import { IDeviceUpdater } from './iDeviceUpdater';
4
4
  export declare class DeviceUpdater implements IDeviceUpdater {
5
- private static IDENTIFIER_HOMEMATIC;
6
- private static IDENTIFIER_ZIGBEE;
7
5
  devices: Devices;
8
6
  constructor(pDevices: Devices);
9
7
  updateObject(pId: string, pObj: ioBroker.Object): void;
10
8
  updateState(id: string, state: ioBroker.State, initial?: boolean): void;
11
- private updateHomeMaticDevice;
12
- private updateZigbeeDevice;
13
9
  }
@@ -12,7 +12,7 @@ class DeviceUpdater {
12
12
  const idSplit = pId.split('.');
13
13
  if (idSplit.length < 2)
14
14
  return;
15
- if (idSplit[0] === DeviceUpdater.IDENTIFIER_HOMEMATIC) {
15
+ if (idSplit[0] === devices_1.Devices.IDENTIFIER_HOMEMATIC) {
16
16
  console.log(`Neuer Wert in HomematicIP für ${pId}: ${JSON.stringify(pObj)}`);
17
17
  }
18
18
  }
@@ -24,41 +24,16 @@ class DeviceUpdater {
24
24
  const idSplit = id.split('.');
25
25
  if (idSplit.length < 2)
26
26
  return;
27
- if (idSplit[0] === DeviceUpdater.IDENTIFIER_HOMEMATIC) {
28
- try {
29
- this.updateHomeMaticDevice(idSplit, state, initial);
30
- }
31
- catch (e) {
32
- log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Alert, `deviceUpdater.updateState('${id}', '${state}'): Error occured updating Device: ${e} \n ${e.stack}`);
33
- }
34
- }
35
- else if (idSplit[0] === DeviceUpdater.IDENTIFIER_ZIGBEE) {
36
- try {
37
- this.updateZigbeeDevice(idSplit, state, initial);
38
- }
39
- catch (e) {
40
- log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Alert, `deviceUpdater.updateState('${id}', '${state}'): Error occured updating Device: ${e} \n ${e.stack}`);
41
- }
42
- }
43
- else {
44
- log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.DeepTrace, `unbekannter Identifier: "${idSplit[0]}"`);
45
- }
46
- }
47
- updateHomeMaticDevice(idSplit, state, initial = false) {
48
- const device = devices_1.Devices.hmIP[idSplit[2]];
27
+ const device = devices_1.Devices.alLDevices[`${idSplit[0]}-${idSplit[2]}`];
49
28
  if (typeof device === 'undefined') {
50
29
  return;
51
30
  }
52
- device.update(idSplit, state, initial);
53
- }
54
- updateZigbeeDevice(idSplit, state, initial = false) {
55
- const device = devices_1.Devices.Zigbee[idSplit[2]];
56
- if (typeof device === 'undefined') {
57
- return;
31
+ try {
32
+ device.update(idSplit, state, initial, false);
33
+ }
34
+ catch (e) {
35
+ log_service_1.ServerLogService.writeLog(logLevel_1.LogLevel.Alert, `deviceUpdater.updateState('${id}', '${state}'): Error occured updating Device: ${e} \n ${e.stack}`);
58
36
  }
59
- device.update(idSplit, state, initial);
60
37
  }
61
38
  }
62
39
  exports.DeviceUpdater = DeviceUpdater;
63
- DeviceUpdater.IDENTIFIER_HOMEMATIC = 'hm-rpc';
64
- DeviceUpdater.IDENTIFIER_ZIGBEE = 'zigbee';
@@ -1,14 +1,12 @@
1
1
  import { IOBrokerConnection } from '../ioBroker/connection';
2
- import { HmIPDevice } from './hmIPDevices/hmIpDevice';
3
- import { ZigbeeDevice } from './zigbee/zigbeeDevice';
4
2
  import { deviceConfig } from '../../models/deviceConfig';
5
3
  import { iRoomImportEnforcer } from '../../models/rooms/iRoomImportEnforcer';
4
+ import { IoBrokerBaseDevice } from './IoBrokerBaseDevice';
6
5
  export declare class Devices {
7
- static hmIP: {
8
- [id: string]: HmIPDevice;
9
- };
10
- static Zigbee: {
11
- [id: string]: ZigbeeDevice;
6
+ static IDENTIFIER_HOMEMATIC: string;
7
+ static IDENTIFIER_ZIGBEE: string;
8
+ static alLDevices: {
9
+ [id: string]: IoBrokerBaseDevice;
12
10
  };
13
11
  constructor(pDeviceData: {
14
12
  [id: string]: deviceConfig;