hoffmation-base 2.10.5 → 2.11.1
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/lib/index.js +4 -0
- package/lib/models/deviceSettings/dachsSettings.d.ts +6 -0
- package/lib/models/deviceSettings/dachsSettings.js +20 -0
- package/lib/server/config/iConfig.d.ts +2 -0
- package/lib/server/config/iDachsSettings.d.ts +7 -0
- package/lib/server/config/iDachsSettings.js +2 -0
- package/lib/server/devices/dachs/dachs.d.ts +36 -0
- package/lib/server/devices/dachs/dachs.js +145 -0
- package/lib/server/devices/dachs/index.d.ts +3 -0
- package/lib/server/devices/dachs/index.js +19 -0
- package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +12 -0
- package/lib/server/devices/dachs/interfaces/DachsClientOptions.js +2 -0
- package/lib/server/devices/dachs/interfaces/IReadKeyList.d.ts +205 -0
- package/lib/server/devices/dachs/interfaces/IReadKeyList.js +2 -0
- package/lib/server/devices/dachs/interfaces/IWriteKeyList.d.ts +9 -0
- package/lib/server/devices/dachs/interfaces/IWriteKeyList.js +2 -0
- package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +18 -0
- package/lib/server/devices/dachs/interfaces/KeyListEntity.js +10 -0
- package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +7 -0
- package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.js +2 -0
- package/lib/server/devices/dachs/interfaces/iFlattenedCompleteResponse.d.ts +120 -0
- package/lib/server/devices/dachs/interfaces/iFlattenedCompleteResponse.js +2 -0
- package/lib/server/devices/dachs/interfaces/index.d.ts +6 -0
- package/lib/server/devices/dachs/interfaces/index.js +22 -0
- package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +9 -0
- package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.js +2 -0
- package/lib/server/devices/dachs/lib/ReadKeyList.d.ts +3 -0
- package/lib/server/devices/dachs/lib/ReadKeyList.js +693 -0
- package/lib/server/devices/dachs/lib/WriteKeyList.d.ts +3 -0
- package/lib/server/devices/dachs/lib/WriteKeyList.js +19 -0
- package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +46 -0
- package/lib/server/devices/dachs/lib/dachsHttpClient.js +167 -0
- package/lib/server/devices/dachs/lib/dachsInfluxClient.d.ts +14 -0
- package/lib/server/devices/dachs/lib/dachsInfluxClient.js +77 -0
- package/lib/server/devices/dachs/lib/index.d.ts +5 -0
- package/lib/server/devices/dachs/lib/index.js +21 -0
- package/lib/server/devices/dachs/lib/keyTemplates.d.ts +12 -0
- package/lib/server/devices/dachs/lib/keyTemplates.js +144 -0
- package/lib/server/devices/deviceType.d.ts +2 -1
- package/lib/server/devices/deviceType.js +1 -0
- package/lib/server/devices/devices.d.ts +2 -0
- package/lib/server/devices/devices.js +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -3
package/lib/index.js
CHANGED
|
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
exports.HoffmationBase = exports.HoffmationInitializationObject = void 0;
|
|
18
18
|
const server_1 = require("./server");
|
|
19
19
|
const models_1 = require("./models");
|
|
20
|
+
const dachs_1 = require("./server/devices/dachs");
|
|
20
21
|
__exportStar(require("./models/index"), exports);
|
|
21
22
|
__exportStar(require("./server/index"), exports);
|
|
22
23
|
__exportStar(require("./liquid-pid"), exports);
|
|
@@ -77,6 +78,9 @@ class HoffmationBase {
|
|
|
77
78
|
server_1.DaikinService.addOwnDevices(server_1.OwnAcDevices.ownDevices);
|
|
78
79
|
server_1.DaikinService.initialize();
|
|
79
80
|
}
|
|
81
|
+
if (server_1.SettingsService.settings.dachs !== undefined) {
|
|
82
|
+
server_1.Devices.dachs = new dachs_1.Dachs(server_1.SettingsService.settings.dachs);
|
|
83
|
+
}
|
|
80
84
|
server_1.Utils.guardedNewThread(() => {
|
|
81
85
|
if (server_1.SettingsService.settings.muell) {
|
|
82
86
|
server_1.ServerLogService.writeLog(models_1.LogLevel.Info, `Muell settings detected --> initializing`);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ActuatorSettings } from './actuatorSettings';
|
|
2
|
+
export declare class DachsDeviceSettings extends ActuatorSettings {
|
|
3
|
+
refreshInterval: number;
|
|
4
|
+
fromPartialObject(data: Partial<DachsDeviceSettings>): void;
|
|
5
|
+
protected toJSON(): Partial<DachsDeviceSettings>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DachsDeviceSettings = void 0;
|
|
4
|
+
const server_1 = require("../../server");
|
|
5
|
+
const actuatorSettings_1 = require("./actuatorSettings");
|
|
6
|
+
class DachsDeviceSettings extends actuatorSettings_1.ActuatorSettings {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.refreshInterval = 30000;
|
|
10
|
+
}
|
|
11
|
+
fromPartialObject(data) {
|
|
12
|
+
var _a;
|
|
13
|
+
this.refreshInterval = (_a = data.refreshInterval) !== null && _a !== void 0 ? _a : this.refreshInterval;
|
|
14
|
+
super.fromPartialObject(data);
|
|
15
|
+
}
|
|
16
|
+
toJSON() {
|
|
17
|
+
return server_1.Utils.jsonFilter(this);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.DachsDeviceSettings = DachsDeviceSettings;
|
|
@@ -19,10 +19,12 @@ import { iRestSettings } from './iRestSettings';
|
|
|
19
19
|
import { iEspresenseSettings } from './iEspresenseSettings';
|
|
20
20
|
import { iTibberSettings } from './iTibberSettings';
|
|
21
21
|
import { iVictronSettings } from './iVictronSettings';
|
|
22
|
+
import { iDachsSettings } from './iDachsSettings';
|
|
22
23
|
export interface iConfig {
|
|
23
24
|
asusConfig?: iAsusConfig;
|
|
24
25
|
blueIris?: iBlueIrisSettings;
|
|
25
26
|
daikin?: iDaikinSettings;
|
|
27
|
+
dachs?: iDachsSettings;
|
|
26
28
|
espresense?: iEspresenseSettings;
|
|
27
29
|
injectWattagePrice?: number;
|
|
28
30
|
ioBrokerUrl: string;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { DeviceInfo, DeviceType, iActuator, iBaseDevice } from '../../devices';
|
|
2
|
+
import { LogLevel, RoomBase } from '../../../models';
|
|
3
|
+
import { DeviceCapability } from '../DeviceCapability';
|
|
4
|
+
import { LogDebugType, OwnSonosDevice } from '../../services';
|
|
5
|
+
import { iDachsSettings } from '../../config/iDachsSettings';
|
|
6
|
+
import { DachsDeviceSettings } from '../../../models/deviceSettings/dachsSettings';
|
|
7
|
+
import { iFlattenedCompleteResponse } from './interfaces';
|
|
8
|
+
export declare class Dachs implements iBaseDevice, iActuator {
|
|
9
|
+
settings: DachsDeviceSettings;
|
|
10
|
+
readonly deviceType: DeviceType;
|
|
11
|
+
readonly deviceCapabilities: DeviceCapability[];
|
|
12
|
+
private readonly client;
|
|
13
|
+
private readonly config;
|
|
14
|
+
fetchedData: iFlattenedCompleteResponse | undefined;
|
|
15
|
+
private readonly _influxClient;
|
|
16
|
+
private _dachsOn;
|
|
17
|
+
private _tempWarmWater;
|
|
18
|
+
get customName(): string;
|
|
19
|
+
get actuatorOn(): boolean;
|
|
20
|
+
get tempWarmWater(): number;
|
|
21
|
+
constructor(options: iDachsSettings);
|
|
22
|
+
protected _info: DeviceInfo;
|
|
23
|
+
get info(): DeviceInfo;
|
|
24
|
+
set info(info: DeviceInfo);
|
|
25
|
+
get id(): string;
|
|
26
|
+
get name(): string;
|
|
27
|
+
get room(): RoomBase | undefined;
|
|
28
|
+
log(level: LogLevel, message: string, debugType?: LogDebugType): void;
|
|
29
|
+
toJSON(): Partial<OwnSonosDevice>;
|
|
30
|
+
persistDeviceInfo(): void;
|
|
31
|
+
loadDeviceSettings(): void;
|
|
32
|
+
private loadData;
|
|
33
|
+
persist(): void;
|
|
34
|
+
setActuator(pValue: boolean, _timeout?: number, _force?: boolean): void;
|
|
35
|
+
toggleActuator(_force: boolean): boolean;
|
|
36
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Dachs = void 0;
|
|
7
|
+
const devices_1 = require("../../devices");
|
|
8
|
+
const models_1 = require("../../../models");
|
|
9
|
+
const DeviceCapability_1 = require("../DeviceCapability");
|
|
10
|
+
const services_1 = require("../../services");
|
|
11
|
+
const lodash_1 = __importDefault(require("lodash"));
|
|
12
|
+
const dachsSettings_1 = require("../../../models/deviceSettings/dachsSettings");
|
|
13
|
+
const lib_1 = require("./lib");
|
|
14
|
+
class Dachs {
|
|
15
|
+
get customName() {
|
|
16
|
+
return this.info.customName;
|
|
17
|
+
}
|
|
18
|
+
get actuatorOn() {
|
|
19
|
+
return this._dachsOn;
|
|
20
|
+
}
|
|
21
|
+
get tempWarmWater() {
|
|
22
|
+
return this._tempWarmWater;
|
|
23
|
+
}
|
|
24
|
+
constructor(options) {
|
|
25
|
+
this.settings = new dachsSettings_1.DachsDeviceSettings();
|
|
26
|
+
this.deviceType = devices_1.DeviceType.Dachs;
|
|
27
|
+
this.deviceCapabilities = [];
|
|
28
|
+
this._dachsOn = false;
|
|
29
|
+
this._tempWarmWater = 0;
|
|
30
|
+
this.deviceCapabilities.push(DeviceCapability_1.DeviceCapability.actuator);
|
|
31
|
+
this._info = new devices_1.DeviceInfo();
|
|
32
|
+
this._info.fullName = `Dachs`;
|
|
33
|
+
this._info.customName = `Dachs ${options.roomName}`;
|
|
34
|
+
this._info.allDevicesKey = `dachs-${options.roomName}`;
|
|
35
|
+
this._info.room = options.roomName;
|
|
36
|
+
devices_1.Devices.alLDevices[this._info.allDevicesKey] = this;
|
|
37
|
+
if (options.influxDb) {
|
|
38
|
+
this._influxClient = new lib_1.DachsInfluxClient(options.influxDb);
|
|
39
|
+
}
|
|
40
|
+
this.persistDeviceInfo();
|
|
41
|
+
this.loadDeviceSettings();
|
|
42
|
+
const modifiedOptions = lodash_1.default.cloneDeep(options);
|
|
43
|
+
modifiedOptions.connectionOptions.resultConfig = {
|
|
44
|
+
flatten: true,
|
|
45
|
+
};
|
|
46
|
+
this.config = modifiedOptions;
|
|
47
|
+
this.client = new lib_1.DachsHttpClient(this.config.connectionOptions);
|
|
48
|
+
services_1.Utils.guardedInterval(this.loadData, this.config.refreshInterval, this);
|
|
49
|
+
}
|
|
50
|
+
get info() {
|
|
51
|
+
return this._info;
|
|
52
|
+
}
|
|
53
|
+
set info(info) {
|
|
54
|
+
this._info = info;
|
|
55
|
+
}
|
|
56
|
+
get id() {
|
|
57
|
+
var _a;
|
|
58
|
+
return (_a = this.info.allDevicesKey) !== null && _a !== void 0 ? _a : `sonos-${this.info.room}-${this.info.customName}`;
|
|
59
|
+
}
|
|
60
|
+
get name() {
|
|
61
|
+
return this.info.customName;
|
|
62
|
+
}
|
|
63
|
+
get room() {
|
|
64
|
+
return services_1.API.getRoom(this.info.room);
|
|
65
|
+
}
|
|
66
|
+
log(level, message, debugType = services_1.LogDebugType.None) {
|
|
67
|
+
services_1.ServerLogService.writeLog(level, `${this.name}: ${message}`, {
|
|
68
|
+
debugType: debugType,
|
|
69
|
+
deviceId: this.name,
|
|
70
|
+
room: this._info.room,
|
|
71
|
+
deviceName: this.name,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
toJSON() {
|
|
75
|
+
return services_1.Utils.jsonFilter(lodash_1.default.omit(this, ['room', 'client', 'config', '_influxClient']));
|
|
76
|
+
}
|
|
77
|
+
persistDeviceInfo() {
|
|
78
|
+
services_1.Utils.guardedTimeout(() => {
|
|
79
|
+
var _a;
|
|
80
|
+
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.addDevice(this);
|
|
81
|
+
}, 5000, this);
|
|
82
|
+
}
|
|
83
|
+
loadDeviceSettings() {
|
|
84
|
+
this.settings.initializeFromDb(this);
|
|
85
|
+
}
|
|
86
|
+
loadData() {
|
|
87
|
+
this.client.fetchAllKeys().then((data) => {
|
|
88
|
+
var _a;
|
|
89
|
+
this.fetchedData = data;
|
|
90
|
+
if (this._influxClient === undefined) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
for (const key in data) {
|
|
94
|
+
const value = data[key];
|
|
95
|
+
if (typeof value === 'number') {
|
|
96
|
+
this._influxClient.addMeasurementToQueue(key, value);
|
|
97
|
+
continue;
|
|
98
|
+
}
|
|
99
|
+
this._influxClient.addMeasurementToQueue(key, value ? '1' : '0');
|
|
100
|
+
}
|
|
101
|
+
this._influxClient.flush();
|
|
102
|
+
this._dachsOn = this.fetchedData['Hka_Mw1.usDrehzahl'] >= 1;
|
|
103
|
+
this._tempWarmWater = (_a = this.fetchedData['Hka_Mw1.Temp.sbZS_Warmwasser']) !== null && _a !== void 0 ? _a : 0;
|
|
104
|
+
this.persist();
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
persist() {
|
|
108
|
+
var _a;
|
|
109
|
+
(_a = services_1.Utils.dbo) === null || _a === void 0 ? void 0 : _a.persistActuator(this);
|
|
110
|
+
}
|
|
111
|
+
setActuator(pValue, _timeout, _force) {
|
|
112
|
+
if (!pValue || this._dachsOn) {
|
|
113
|
+
// Dachs can only be turned on, not off
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
this.client
|
|
117
|
+
.setKeys({
|
|
118
|
+
'Stromf_Ew.Anforderung_GLT.bAktiv': '1',
|
|
119
|
+
'Stromf_Ew.Anforderung_GLT.bAnzahlModule': '1',
|
|
120
|
+
})
|
|
121
|
+
.then(() => {
|
|
122
|
+
services_1.Utils.guardedTimeout(() => {
|
|
123
|
+
this.client
|
|
124
|
+
.setKeys({
|
|
125
|
+
'Stromf_Ew.Anforderung_GLT.bAktiv': '0',
|
|
126
|
+
'Stromf_Ew.Anforderung_GLT.bAnzahlModule': '0',
|
|
127
|
+
})
|
|
128
|
+
.catch((error) => {
|
|
129
|
+
this.log(models_1.LogLevel.Error, `Error while turning off Dachs: ${error}`);
|
|
130
|
+
});
|
|
131
|
+
}, 30000, this);
|
|
132
|
+
})
|
|
133
|
+
.catch((error) => {
|
|
134
|
+
this.log(models_1.LogLevel.Error, `Error while turning on Dachs: ${error}`);
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
toggleActuator(_force) {
|
|
138
|
+
if (!this._dachsOn) {
|
|
139
|
+
this.setActuator(true);
|
|
140
|
+
return true;
|
|
141
|
+
}
|
|
142
|
+
return false;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
exports.Dachs = Dachs;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./dachs"), exports);
|
|
18
|
+
__exportStar(require("./interfaces"), exports);
|
|
19
|
+
__exportStar(require("./lib"), exports);
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
export interface IReadKeyList<T> {
|
|
2
|
+
Hka_Bd: {
|
|
3
|
+
Anforderung: {
|
|
4
|
+
ModulAnzahl: T;
|
|
5
|
+
UStromF_Anf: {
|
|
6
|
+
bFlagSF: T;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
UStromF_Frei: {
|
|
10
|
+
bFreigabe: T;
|
|
11
|
+
};
|
|
12
|
+
bStoerung: T;
|
|
13
|
+
bWarnung: T;
|
|
14
|
+
UHka_Anf: {
|
|
15
|
+
Anforderung: {
|
|
16
|
+
fStrom: T;
|
|
17
|
+
};
|
|
18
|
+
usAnforderung: T;
|
|
19
|
+
};
|
|
20
|
+
UHka_Frei: {
|
|
21
|
+
usFreigabe: T;
|
|
22
|
+
};
|
|
23
|
+
ulArbeitElektr: T;
|
|
24
|
+
ulArbeitThermHka: T;
|
|
25
|
+
ulArbeitThermKon: T;
|
|
26
|
+
ulBetriebssekunden: T;
|
|
27
|
+
ulAnzahlStarts: T;
|
|
28
|
+
};
|
|
29
|
+
Hka_Bd_Stat: {
|
|
30
|
+
uchSeriennummer: T;
|
|
31
|
+
uchTeilenummer: T;
|
|
32
|
+
ulInbetriebnahmedatum: T;
|
|
33
|
+
};
|
|
34
|
+
BD3112: {
|
|
35
|
+
Hka_Bd: {
|
|
36
|
+
ulBetriebssekunden: T;
|
|
37
|
+
ulAnzahlStarts: T;
|
|
38
|
+
ulArbeitElektr: T;
|
|
39
|
+
ulArbeitThermHka: T;
|
|
40
|
+
ulArbeitThermKon: T;
|
|
41
|
+
};
|
|
42
|
+
Ww_Bd: {
|
|
43
|
+
ulWwMengepA: T;
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
Brenner_Bd: {
|
|
47
|
+
bIstStatus: T;
|
|
48
|
+
bWarnung: T;
|
|
49
|
+
UBrenner_Anf: {
|
|
50
|
+
usAnforderung: T;
|
|
51
|
+
};
|
|
52
|
+
UBrenner_Frei: {
|
|
53
|
+
bFreigabe: T;
|
|
54
|
+
};
|
|
55
|
+
ulAnzahlStarts: T;
|
|
56
|
+
ulBetriebssekunden: T;
|
|
57
|
+
};
|
|
58
|
+
Hka_Ew: {
|
|
59
|
+
HydraulikNr: {
|
|
60
|
+
bSpeicherArt: T;
|
|
61
|
+
bWW_Art: T;
|
|
62
|
+
b2_Waermeerzeuger: T;
|
|
63
|
+
bMehrmodul: T;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
Hka_Mw1: {
|
|
67
|
+
Temp: {
|
|
68
|
+
sAbgasHKA: T;
|
|
69
|
+
sAbgasMotor: T;
|
|
70
|
+
sKapsel: T;
|
|
71
|
+
sbAussen: T;
|
|
72
|
+
sbFreigabeModul: T;
|
|
73
|
+
sbFuehler1: T;
|
|
74
|
+
sbFuehler2: T;
|
|
75
|
+
sbGen: T;
|
|
76
|
+
sbMotor: T;
|
|
77
|
+
sbRegler: T;
|
|
78
|
+
sbRuecklauf: T;
|
|
79
|
+
sbVorlauf: T;
|
|
80
|
+
sbZS_Fuehler3: T;
|
|
81
|
+
sbZS_Fuehler4: T;
|
|
82
|
+
sbZS_Vorlauf1: T;
|
|
83
|
+
sbZS_Vorlauf2: T;
|
|
84
|
+
sbZS_Warmwasser: T;
|
|
85
|
+
};
|
|
86
|
+
Solltemp: {
|
|
87
|
+
sbRuecklauf: T;
|
|
88
|
+
sbVorlauf: T;
|
|
89
|
+
};
|
|
90
|
+
Aktor: {
|
|
91
|
+
bWwPumpe: T;
|
|
92
|
+
fFreiAltWaerm: T;
|
|
93
|
+
fMischer1Auf: T;
|
|
94
|
+
fMischer1Zu: T;
|
|
95
|
+
fMischer2Auf: T;
|
|
96
|
+
fMischer2Zu: T;
|
|
97
|
+
fProgAus1: T;
|
|
98
|
+
fProgAus2: T;
|
|
99
|
+
fProgAus3: T;
|
|
100
|
+
fStoerung: T;
|
|
101
|
+
fUPHeizkreis1: T;
|
|
102
|
+
fUPHeizkreis2: T;
|
|
103
|
+
fUPKuehlung: T;
|
|
104
|
+
fUPVordruck: T;
|
|
105
|
+
fUPZirkulation: T;
|
|
106
|
+
fWartung: T;
|
|
107
|
+
};
|
|
108
|
+
sWirkleistung: T;
|
|
109
|
+
ulMotorlaufsekunden: T;
|
|
110
|
+
usDrehzahl: T;
|
|
111
|
+
};
|
|
112
|
+
Laufraster15Min_aktTag: {
|
|
113
|
+
bDoppelstunde: [T, T, T, T, T, T, T, T, T, T, T, T];
|
|
114
|
+
};
|
|
115
|
+
Mm: [
|
|
116
|
+
{
|
|
117
|
+
ModulSteuerung: {
|
|
118
|
+
fModulLaeuft: T;
|
|
119
|
+
fModulVerfuegbar: T;
|
|
120
|
+
};
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
ModulSteuerung: {
|
|
124
|
+
fModulLaeuft: T;
|
|
125
|
+
fModulVerfuegbar: T;
|
|
126
|
+
};
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
ModulSteuerung: {
|
|
130
|
+
fModulLaeuft: T;
|
|
131
|
+
fModulVerfuegbar: T;
|
|
132
|
+
};
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
ModulSteuerung: {
|
|
136
|
+
fModulLaeuft: T;
|
|
137
|
+
fModulVerfuegbar: T;
|
|
138
|
+
};
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
ModulSteuerung: {
|
|
142
|
+
fModulLaeuft: T;
|
|
143
|
+
fModulVerfuegbar: T;
|
|
144
|
+
};
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
ModulSteuerung: {
|
|
148
|
+
fModulLaeuft: T;
|
|
149
|
+
fModulVerfuegbar: T;
|
|
150
|
+
};
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
ModulSteuerung: {
|
|
154
|
+
fModulLaeuft: T;
|
|
155
|
+
fModulVerfuegbar: T;
|
|
156
|
+
};
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
ModulSteuerung: {
|
|
160
|
+
fModulLaeuft: T;
|
|
161
|
+
fModulVerfuegbar: T;
|
|
162
|
+
};
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
ModulSteuerung: {
|
|
166
|
+
fModulLaeuft: T;
|
|
167
|
+
fModulVerfuegbar: T;
|
|
168
|
+
};
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
ModulSteuerung: {
|
|
172
|
+
fModulLaeuft: T;
|
|
173
|
+
fModulVerfuegbar: T;
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
];
|
|
177
|
+
Mm_MinMax: {
|
|
178
|
+
bModulBhMaxWart: T;
|
|
179
|
+
bModulBhMinWart: T;
|
|
180
|
+
sBhMaxWart: T;
|
|
181
|
+
sBhMinWart: T;
|
|
182
|
+
ModulBhMax: {
|
|
183
|
+
bModulNr: T;
|
|
184
|
+
ulWert: T;
|
|
185
|
+
};
|
|
186
|
+
ModulBhMin: {
|
|
187
|
+
bModulNr: T;
|
|
188
|
+
ulWert: T;
|
|
189
|
+
};
|
|
190
|
+
ModulStartMax: {
|
|
191
|
+
bModulNr: T;
|
|
192
|
+
ulWert: T;
|
|
193
|
+
};
|
|
194
|
+
ModulStartMin: {
|
|
195
|
+
bModulNr: T;
|
|
196
|
+
ulWert: T;
|
|
197
|
+
};
|
|
198
|
+
};
|
|
199
|
+
Wartung_Cache: {
|
|
200
|
+
fStehtAn: T;
|
|
201
|
+
ulBetriebssekundenBei: T;
|
|
202
|
+
ulZeitstempel: T;
|
|
203
|
+
usIntervall: T;
|
|
204
|
+
};
|
|
205
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export interface KeyListEntity {
|
|
2
|
+
key: string;
|
|
3
|
+
doc: string;
|
|
4
|
+
unit: (x: string) => boolean | string | number;
|
|
5
|
+
}
|
|
6
|
+
export interface KeyListEntityResponse<V> {
|
|
7
|
+
key?: KeyListEntity;
|
|
8
|
+
rawValue?: string;
|
|
9
|
+
value: V;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
|
|
13
|
+
"key": "",
|
|
14
|
+
"doc": "",
|
|
15
|
+
"unit": Number
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
*/
|