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.
Files changed (44) hide show
  1. package/lib/index.js +4 -0
  2. package/lib/models/deviceSettings/dachsSettings.d.ts +6 -0
  3. package/lib/models/deviceSettings/dachsSettings.js +20 -0
  4. package/lib/server/config/iConfig.d.ts +2 -0
  5. package/lib/server/config/iDachsSettings.d.ts +7 -0
  6. package/lib/server/config/iDachsSettings.js +2 -0
  7. package/lib/server/devices/dachs/dachs.d.ts +36 -0
  8. package/lib/server/devices/dachs/dachs.js +145 -0
  9. package/lib/server/devices/dachs/index.d.ts +3 -0
  10. package/lib/server/devices/dachs/index.js +19 -0
  11. package/lib/server/devices/dachs/interfaces/DachsClientOptions.d.ts +12 -0
  12. package/lib/server/devices/dachs/interfaces/DachsClientOptions.js +2 -0
  13. package/lib/server/devices/dachs/interfaces/IReadKeyList.d.ts +205 -0
  14. package/lib/server/devices/dachs/interfaces/IReadKeyList.js +2 -0
  15. package/lib/server/devices/dachs/interfaces/IWriteKeyList.d.ts +9 -0
  16. package/lib/server/devices/dachs/interfaces/IWriteKeyList.js +2 -0
  17. package/lib/server/devices/dachs/interfaces/KeyListEntity.d.ts +18 -0
  18. package/lib/server/devices/dachs/interfaces/KeyListEntity.js +10 -0
  19. package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.d.ts +7 -0
  20. package/lib/server/devices/dachs/interfaces/dachsInfluxDataPoint.js +2 -0
  21. package/lib/server/devices/dachs/interfaces/iFlattenedCompleteResponse.d.ts +120 -0
  22. package/lib/server/devices/dachs/interfaces/iFlattenedCompleteResponse.js +2 -0
  23. package/lib/server/devices/dachs/interfaces/index.d.ts +6 -0
  24. package/lib/server/devices/dachs/interfaces/index.js +22 -0
  25. package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.d.ts +9 -0
  26. package/lib/server/devices/dachs/interfaces/influxDbConnectionOptions.js +2 -0
  27. package/lib/server/devices/dachs/lib/ReadKeyList.d.ts +3 -0
  28. package/lib/server/devices/dachs/lib/ReadKeyList.js +693 -0
  29. package/lib/server/devices/dachs/lib/WriteKeyList.d.ts +3 -0
  30. package/lib/server/devices/dachs/lib/WriteKeyList.js +19 -0
  31. package/lib/server/devices/dachs/lib/dachsHttpClient.d.ts +46 -0
  32. package/lib/server/devices/dachs/lib/dachsHttpClient.js +167 -0
  33. package/lib/server/devices/dachs/lib/dachsInfluxClient.d.ts +14 -0
  34. package/lib/server/devices/dachs/lib/dachsInfluxClient.js +77 -0
  35. package/lib/server/devices/dachs/lib/index.d.ts +5 -0
  36. package/lib/server/devices/dachs/lib/index.js +21 -0
  37. package/lib/server/devices/dachs/lib/keyTemplates.d.ts +12 -0
  38. package/lib/server/devices/dachs/lib/keyTemplates.js +144 -0
  39. package/lib/server/devices/deviceType.d.ts +2 -1
  40. package/lib/server/devices/deviceType.js +1 -0
  41. package/lib/server/devices/devices.d.ts +2 -0
  42. package/lib/server/devices/devices.js +1 -0
  43. package/lib/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +5 -3
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const WriteKeyList = {
4
+ Stromf_Ew: {
5
+ Anforderung_GLT: {
6
+ bAktiv: {
7
+ key: 'Stromf_Ew.Anforderung_GLT.bAktiv',
8
+ doc: 'Externe Anforderung über GLT',
9
+ unit: Number,
10
+ },
11
+ bAnzahlModule: {
12
+ key: 'Stromf_Ew.Anforderung_GLT.bAnzahlModule',
13
+ doc: 'Anzahl der Module (0-10)',
14
+ unit: Number,
15
+ },
16
+ },
17
+ },
18
+ };
19
+ exports.default = WriteKeyList;
@@ -0,0 +1,46 @@
1
+ import { DachsClientOptions, KeyListEntityResponse } from '../interfaces';
2
+ import { iFlattenedCompleteResponse } from '../interfaces/iFlattenedCompleteResponse';
3
+ /**
4
+ * axios HTTP Client Class
5
+ * - with some prepared fetch functions for data
6
+ * @author Trickfilm400
7
+ * @version 1
8
+ * @class
9
+ */
10
+ export declare class DachsHttpClient {
11
+ private options;
12
+ private url;
13
+ constructor(options: DachsClientOptions);
14
+ /**
15
+ * Takes every key and add the key to the get parameter list
16
+ * @param {string[]} keys - Array of request keys
17
+ * @private
18
+ * @author Trickfilm400
19
+ * @version 1
20
+ * @return {string} The final and complete get parameter string
21
+ */
22
+ private urlBuilder;
23
+ /**
24
+ * main request function
25
+ * @author Trickfilm400
26
+ * @version 1
27
+ * @param {string[]} keys - Array of request keys
28
+ * @return Promise
29
+ */
30
+ fetchByKeys(...keys: string[]): Promise<{
31
+ [id: string]: KeyListEntityResponse<string | number | boolean>;
32
+ }>;
33
+ fetchAllKeys(): Promise<iFlattenedCompleteResponse>;
34
+ setKeys(data: {
35
+ [key: string]: string;
36
+ }): Promise<string>;
37
+ /**
38
+ * Parses the RAW HTTP Response from the request into key-value paris
39
+ * @author Trickfilm400
40
+ * @version 1
41
+ * @param {string} res - The raw Result from the HTTP Request
42
+ * @return Partial<IReadKeyList> The parsed key value pairs from the result in a JSON
43
+ * @private
44
+ */
45
+ private parser;
46
+ }
@@ -0,0 +1,167 @@
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.DachsHttpClient = void 0;
30
+ const axios_1 = __importDefault(require("axios"));
31
+ const ReadKeyList_1 = __importDefault(require("./ReadKeyList"));
32
+ const _ = __importStar(require("lodash"));
33
+ const keyTemplates_1 = __importDefault(require("./keyTemplates"));
34
+ /**
35
+ * axios HTTP Client Class
36
+ * - with some prepared fetch functions for data
37
+ * @author Trickfilm400
38
+ * @version 1
39
+ * @class
40
+ */
41
+ class DachsHttpClient {
42
+ constructor(options) {
43
+ var _a;
44
+ this.options = options;
45
+ //combine parameter to baseUrl
46
+ //check http prefix
47
+ const protocol = options.protocol ? options.protocol : 'http';
48
+ this.options.host = this.options.host.startsWith('http') ? this.options.host : `${protocol}://${this.options.host}`;
49
+ //combine all parameter for url
50
+ this.url = `${this.options.host}:${(_a = this.options.port) !== null && _a !== void 0 ? _a : 8080}`;
51
+ }
52
+ /**
53
+ * Takes every key and add the key to the get parameter list
54
+ * @param {string[]} keys - Array of request keys
55
+ * @private
56
+ * @author Trickfilm400
57
+ * @version 1
58
+ * @return {string} The final and complete get parameter string
59
+ */
60
+ urlBuilder(keys) {
61
+ let url = '?';
62
+ keys.forEach((key) => {
63
+ url += `k=${key}&`;
64
+ });
65
+ return url;
66
+ }
67
+ /**
68
+ * main request function
69
+ * @author Trickfilm400
70
+ * @version 1
71
+ * @param {string[]} keys - Array of request keys
72
+ * @return Promise
73
+ */
74
+ fetchByKeys(...keys) {
75
+ return new Promise((resolve, reject) => {
76
+ (0, axios_1.default)({
77
+ auth: {
78
+ username: this.options.username || 'glt',
79
+ password: this.options.password || '',
80
+ },
81
+ baseURL: this.url,
82
+ url: `/getKey` + this.urlBuilder(keys),
83
+ })
84
+ .then((res) => {
85
+ return this.parser(res.data);
86
+ })
87
+ .then(resolve, reject);
88
+ });
89
+ }
90
+ fetchAllKeys() {
91
+ const all = [
92
+ ...keyTemplates_1.default.BetriebsDatenDachs,
93
+ ...keyTemplates_1.default.Aktoren,
94
+ ...keyTemplates_1.default.BetriebsDaten3112,
95
+ ...keyTemplates_1.default.Temperatures,
96
+ ...keyTemplates_1.default.Daten2Waermeerzeuger,
97
+ ...keyTemplates_1.default.HydraulikSchema,
98
+ ...keyTemplates_1.default.MehrmodulTechnik,
99
+ ...keyTemplates_1.default.Tageslauf,
100
+ ...keyTemplates_1.default.Wartung,
101
+ ];
102
+ return this.fetchByKeys(...all);
103
+ }
104
+ setKeys(data) {
105
+ return new Promise((resolve, reject) => {
106
+ (0, axios_1.default)({
107
+ auth: {
108
+ username: this.options.username || 'glt',
109
+ password: this.options.password || '',
110
+ },
111
+ baseURL: this.url,
112
+ url: `/setKey`,
113
+ method: 'POST',
114
+ data: Object.entries(data)
115
+ .map(([key, value]) => `${key}=${value}`)
116
+ .join('&'),
117
+ })
118
+ .then((res) => {
119
+ resolve(res.data);
120
+ })
121
+ .catch(reject);
122
+ });
123
+ }
124
+ /**
125
+ * Parses the RAW HTTP Response from the request into key-value paris
126
+ * @author Trickfilm400
127
+ * @version 1
128
+ * @param {string} res - The raw Result from the HTTP Request
129
+ * @return Partial<IReadKeyList> The parsed key value pairs from the result in a JSON
130
+ * @private
131
+ */
132
+ parser(res) {
133
+ //console.log(res);
134
+ //remove "\n\n" from the end
135
+ res = res.trim();
136
+ //split to line by line
137
+ const array = res.split('\n');
138
+ const result = {};
139
+ //loop through every result line
140
+ array.forEach((line) => {
141
+ var _a, _b, _c, _d;
142
+ //split key and value
143
+ const [key, value] = line.split('=');
144
+ //fetch key data, mostly for unit conversion
145
+ let keyData = _.get(ReadKeyList_1.default, key);
146
+ let resultValue = (_a = keyData === null || keyData === void 0 ? void 0 : keyData.unit(value)) !== null && _a !== void 0 ? _a : value;
147
+ if ((_b = this.options.resultConfig) === null || _b === void 0 ? void 0 : _b.flatten) {
148
+ result[key] = resultValue;
149
+ return;
150
+ }
151
+ //create object value
152
+ let val = {
153
+ value: resultValue,
154
+ };
155
+ //check for adding optional value data via config
156
+ if ((_c = this.options.resultConfig) === null || _c === void 0 ? void 0 : _c.addRawValue)
157
+ val.rawValue = value;
158
+ if ((_d = this.options.resultConfig) === null || _d === void 0 ? void 0 : _d.addKeyObject)
159
+ val.key = keyData;
160
+ //save to return object
161
+ result[key] = val;
162
+ });
163
+ //console.log(result);
164
+ return result;
165
+ }
166
+ }
167
+ exports.DachsHttpClient = DachsHttpClient;
@@ -0,0 +1,14 @@
1
+ import { InfluxDbConnectionOptions } from '../interfaces';
2
+ /**
3
+ * This class is highly inspired by https://github.com/victronenergy/venus-docker-grafana-images
4
+ * Thanks guys, keep up the good work!
5
+ */
6
+ export declare class DachsInfluxClient {
7
+ private readonly opts;
8
+ private client;
9
+ private accumulatedPoints;
10
+ constructor(opts: InfluxDbConnectionOptions);
11
+ private setRetention;
12
+ addMeasurementToQueue(measurement: string, data: string | number): void;
13
+ flush(): void;
14
+ }
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DachsInfluxClient = void 0;
4
+ const influx_1 = require("influx");
5
+ const ignoredMeasurements = ['solarcharger/History/Daily'];
6
+ /**
7
+ * This class is highly inspired by https://github.com/victronenergy/venus-docker-grafana-images
8
+ * Thanks guys, keep up the good work!
9
+ */
10
+ class DachsInfluxClient {
11
+ constructor(opts) {
12
+ this.opts = opts;
13
+ this.accumulatedPoints = [];
14
+ this.client = new influx_1.InfluxDB({
15
+ host: opts.host,
16
+ port: opts.port,
17
+ protocol: 'http',
18
+ database: opts.database,
19
+ username: opts.username,
20
+ password: opts.password,
21
+ pool: {
22
+ maxRetries: 5,
23
+ },
24
+ });
25
+ this.client
26
+ .getDatabaseNames()
27
+ .then((names) => {
28
+ if (!names.includes(opts.database)) {
29
+ console.log(`Creating database ${opts.database}`);
30
+ this.client.createDatabase(opts.database).then(this.setRetention.bind(this));
31
+ }
32
+ else {
33
+ this.setRetention();
34
+ }
35
+ })
36
+ .catch((error) => {
37
+ console.error(`Error getting database names: ${error}`);
38
+ });
39
+ }
40
+ setRetention() {
41
+ var _a;
42
+ const retentionOpts = {
43
+ duration: (_a = this.opts.retentionPolicy) !== null && _a !== void 0 ? _a : '30d',
44
+ replication: 1,
45
+ isDefault: true,
46
+ };
47
+ this.client.createRetentionPolicy('dachs', retentionOpts).catch((_error) => {
48
+ this.client.alterRetentionPolicy('dachs', retentionOpts).catch((error) => {
49
+ console.error(`Error setting retention policy: ${error}`);
50
+ });
51
+ });
52
+ }
53
+ addMeasurementToQueue(measurement, data) {
54
+ if (ignoredMeasurements.find((path) => measurement.startsWith(path))) {
55
+ return;
56
+ }
57
+ let valueKey = 'value';
58
+ if (typeof data === 'string') {
59
+ valueKey = 'stringValue';
60
+ }
61
+ const point = {
62
+ timestamp: new Date(),
63
+ measurement: measurement,
64
+ fields: {
65
+ [valueKey]: data,
66
+ },
67
+ };
68
+ this.accumulatedPoints.push(point);
69
+ }
70
+ flush() {
71
+ this.client.writePoints(this.accumulatedPoints).catch((err) => {
72
+ console.error(`Error writing to InfluxDB! ${err.stack}`);
73
+ });
74
+ this.accumulatedPoints = [];
75
+ }
76
+ }
77
+ exports.DachsInfluxClient = DachsInfluxClient;
@@ -0,0 +1,5 @@
1
+ export * from './dachsHttpClient';
2
+ export * from './dachsInfluxClient';
3
+ export * from './keyTemplates';
4
+ export * from './ReadKeyList';
5
+ export * from './WriteKeyList';
@@ -0,0 +1,21 @@
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("./dachsHttpClient"), exports);
18
+ __exportStar(require("./dachsInfluxClient"), exports);
19
+ __exportStar(require("./keyTemplates"), exports);
20
+ __exportStar(require("./ReadKeyList"), exports);
21
+ __exportStar(require("./WriteKeyList"), exports);
@@ -0,0 +1,12 @@
1
+ declare const _default: {
2
+ BetriebsDatenDachs: string[];
3
+ BetriebsDaten3112: string[];
4
+ Daten2Waermeerzeuger: string[];
5
+ HydraulikSchema: string[];
6
+ Temperatures: string[];
7
+ Aktoren: string[];
8
+ Tageslauf: string[];
9
+ MehrmodulTechnik: string[];
10
+ Wartung: string[];
11
+ };
12
+ export default _default;
@@ -0,0 +1,144 @@
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
+ const ReadKeyList_1 = __importDefault(require("./ReadKeyList"));
7
+ exports.default = {
8
+ BetriebsDatenDachs: [
9
+ ReadKeyList_1.default.Hka_Bd.Anforderung.ModulAnzahl.key,
10
+ ReadKeyList_1.default.Hka_Bd.Anforderung.UStromF_Anf.bFlagSF.key,
11
+ ReadKeyList_1.default.Hka_Bd.UStromF_Frei.bFreigabe.key,
12
+ ReadKeyList_1.default.Hka_Bd.bStoerung.key,
13
+ ReadKeyList_1.default.Hka_Bd.bWarnung.key,
14
+ ReadKeyList_1.default.Hka_Bd.UHka_Anf.Anforderung.fStrom.key,
15
+ ReadKeyList_1.default.Hka_Bd.UHka_Anf.usAnforderung.key,
16
+ ReadKeyList_1.default.Hka_Bd.UHka_Frei.usFreigabe.key,
17
+ ReadKeyList_1.default.Hka_Bd.ulArbeitElektr.key,
18
+ ReadKeyList_1.default.Hka_Bd.ulArbeitThermHka.key,
19
+ ReadKeyList_1.default.Hka_Bd.ulArbeitThermKon.key,
20
+ ReadKeyList_1.default.Hka_Bd.ulBetriebssekunden.key,
21
+ ReadKeyList_1.default.Hka_Bd.ulAnzahlStarts.key,
22
+ ReadKeyList_1.default.Hka_Bd_Stat.uchSeriennummer.key,
23
+ ReadKeyList_1.default.Hka_Bd_Stat.uchTeilenummer.key,
24
+ ReadKeyList_1.default.Hka_Bd_Stat.ulInbetriebnahmedatum.key,
25
+ ],
26
+ BetriebsDaten3112: [
27
+ ReadKeyList_1.default.BD3112.Hka_Bd.ulBetriebssekunden.key,
28
+ ReadKeyList_1.default.BD3112.Hka_Bd.ulAnzahlStarts.key,
29
+ ReadKeyList_1.default.BD3112.Hka_Bd.ulArbeitElektr.key,
30
+ ReadKeyList_1.default.BD3112.Hka_Bd.ulArbeitThermHka.key,
31
+ ReadKeyList_1.default.BD3112.Hka_Bd.ulArbeitThermKon.key,
32
+ ReadKeyList_1.default.BD3112.Ww_Bd.ulWwMengepA.key,
33
+ ],
34
+ Daten2Waermeerzeuger: [
35
+ ReadKeyList_1.default.Brenner_Bd.bIstStatus.key,
36
+ ReadKeyList_1.default.Brenner_Bd.bWarnung.key,
37
+ ReadKeyList_1.default.Brenner_Bd.UBrenner_Anf.usAnforderung.key,
38
+ ReadKeyList_1.default.Brenner_Bd.UBrenner_Frei.bFreigabe.key,
39
+ ReadKeyList_1.default.Brenner_Bd.ulAnzahlStarts.key,
40
+ ReadKeyList_1.default.Brenner_Bd.ulBetriebssekunden.key,
41
+ ],
42
+ HydraulikSchema: [
43
+ ReadKeyList_1.default.Hka_Ew.HydraulikNr.bSpeicherArt.key,
44
+ ReadKeyList_1.default.Hka_Ew.HydraulikNr.bWW_Art.key,
45
+ ReadKeyList_1.default.Hka_Ew.HydraulikNr.b2_Waermeerzeuger.key,
46
+ ReadKeyList_1.default.Hka_Ew.HydraulikNr.bMehrmodul.key,
47
+ ],
48
+ Temperatures: [
49
+ ReadKeyList_1.default.Hka_Mw1.Temp.sAbgasHKA.key,
50
+ ReadKeyList_1.default.Hka_Mw1.Temp.sAbgasMotor.key,
51
+ ReadKeyList_1.default.Hka_Mw1.Temp.sKapsel.key,
52
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbAussen.key,
53
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbFreigabeModul.key,
54
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbFuehler1.key,
55
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbFuehler2.key,
56
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbGen.key,
57
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbMotor.key,
58
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbRegler.key,
59
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbRuecklauf.key,
60
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbVorlauf.key,
61
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbZS_Fuehler3.key,
62
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbZS_Fuehler4.key,
63
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbZS_Vorlauf1.key,
64
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbZS_Vorlauf2.key,
65
+ ReadKeyList_1.default.Hka_Mw1.Temp.sbZS_Warmwasser.key,
66
+ ReadKeyList_1.default.Hka_Mw1.Solltemp.sbRuecklauf.key,
67
+ ReadKeyList_1.default.Hka_Mw1.Solltemp.sbVorlauf.key,
68
+ ],
69
+ Aktoren: [
70
+ ReadKeyList_1.default.Hka_Mw1.Aktor.bWwPumpe.key,
71
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fFreiAltWaerm.key,
72
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fMischer1Auf.key,
73
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fMischer1Zu.key,
74
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fMischer2Auf.key,
75
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fMischer2Zu.key,
76
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fProgAus1.key,
77
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fProgAus2.key,
78
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fProgAus3.key,
79
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fStoerung.key,
80
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fUPHeizkreis1.key,
81
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fUPHeizkreis2.key,
82
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fUPKuehlung.key,
83
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fUPVordruck.key,
84
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fUPZirkulation.key,
85
+ ReadKeyList_1.default.Hka_Mw1.Aktor.fWartung.key,
86
+ ReadKeyList_1.default.Hka_Mw1.sWirkleistung.key,
87
+ ReadKeyList_1.default.Hka_Mw1.ulMotorlaufsekunden.key,
88
+ ReadKeyList_1.default.Hka_Mw1.usDrehzahl.key,
89
+ ],
90
+ Tageslauf: [
91
+ ReadKeyList_1.default.Laufraster15Min_aktTag.bDoppelstunde[0].key,
92
+ ReadKeyList_1.default.Laufraster15Min_aktTag.bDoppelstunde[1].key,
93
+ ReadKeyList_1.default.Laufraster15Min_aktTag.bDoppelstunde[2].key,
94
+ ReadKeyList_1.default.Laufraster15Min_aktTag.bDoppelstunde[3].key,
95
+ ReadKeyList_1.default.Laufraster15Min_aktTag.bDoppelstunde[4].key,
96
+ ReadKeyList_1.default.Laufraster15Min_aktTag.bDoppelstunde[5].key,
97
+ ReadKeyList_1.default.Laufraster15Min_aktTag.bDoppelstunde[6].key,
98
+ ReadKeyList_1.default.Laufraster15Min_aktTag.bDoppelstunde[7].key,
99
+ ReadKeyList_1.default.Laufraster15Min_aktTag.bDoppelstunde[8].key,
100
+ ReadKeyList_1.default.Laufraster15Min_aktTag.bDoppelstunde[9].key,
101
+ ReadKeyList_1.default.Laufraster15Min_aktTag.bDoppelstunde[10].key,
102
+ ReadKeyList_1.default.Laufraster15Min_aktTag.bDoppelstunde[11].key,
103
+ ],
104
+ MehrmodulTechnik: [
105
+ ReadKeyList_1.default.Mm[0].ModulSteuerung.fModulLaeuft.key,
106
+ ReadKeyList_1.default.Mm[0].ModulSteuerung.fModulVerfuegbar.key,
107
+ ReadKeyList_1.default.Mm[1].ModulSteuerung.fModulLaeuft.key,
108
+ ReadKeyList_1.default.Mm[1].ModulSteuerung.fModulVerfuegbar.key,
109
+ ReadKeyList_1.default.Mm[2].ModulSteuerung.fModulLaeuft.key,
110
+ ReadKeyList_1.default.Mm[2].ModulSteuerung.fModulVerfuegbar.key,
111
+ ReadKeyList_1.default.Mm[3].ModulSteuerung.fModulLaeuft.key,
112
+ ReadKeyList_1.default.Mm[3].ModulSteuerung.fModulVerfuegbar.key,
113
+ ReadKeyList_1.default.Mm[4].ModulSteuerung.fModulLaeuft.key,
114
+ ReadKeyList_1.default.Mm[4].ModulSteuerung.fModulVerfuegbar.key,
115
+ ReadKeyList_1.default.Mm[5].ModulSteuerung.fModulLaeuft.key,
116
+ ReadKeyList_1.default.Mm[5].ModulSteuerung.fModulVerfuegbar.key,
117
+ ReadKeyList_1.default.Mm[6].ModulSteuerung.fModulLaeuft.key,
118
+ ReadKeyList_1.default.Mm[6].ModulSteuerung.fModulVerfuegbar.key,
119
+ ReadKeyList_1.default.Mm[7].ModulSteuerung.fModulLaeuft.key,
120
+ ReadKeyList_1.default.Mm[7].ModulSteuerung.fModulVerfuegbar.key,
121
+ ReadKeyList_1.default.Mm[8].ModulSteuerung.fModulLaeuft.key,
122
+ ReadKeyList_1.default.Mm[8].ModulSteuerung.fModulVerfuegbar.key,
123
+ ReadKeyList_1.default.Mm[9].ModulSteuerung.fModulLaeuft.key,
124
+ ReadKeyList_1.default.Mm[9].ModulSteuerung.fModulVerfuegbar.key,
125
+ ReadKeyList_1.default.Mm_MinMax.bModulBhMaxWart.key,
126
+ ReadKeyList_1.default.Mm_MinMax.bModulBhMinWart.key,
127
+ ReadKeyList_1.default.Mm_MinMax.sBhMaxWart.key,
128
+ ReadKeyList_1.default.Mm_MinMax.sBhMinWart.key,
129
+ ReadKeyList_1.default.Mm_MinMax.ModulBhMax.bModulNr.key,
130
+ ReadKeyList_1.default.Mm_MinMax.ModulBhMax.ulWert.key,
131
+ ReadKeyList_1.default.Mm_MinMax.ModulBhMin.bModulNr.key,
132
+ ReadKeyList_1.default.Mm_MinMax.ModulBhMin.ulWert.key,
133
+ ReadKeyList_1.default.Mm_MinMax.ModulStartMax.bModulNr.key,
134
+ ReadKeyList_1.default.Mm_MinMax.ModulStartMax.ulWert.key,
135
+ ReadKeyList_1.default.Mm_MinMax.ModulStartMin.bModulNr.key,
136
+ ReadKeyList_1.default.Mm_MinMax.ModulStartMin.ulWert.key,
137
+ ],
138
+ Wartung: [
139
+ ReadKeyList_1.default.Wartung_Cache.fStehtAn.key,
140
+ ReadKeyList_1.default.Wartung_Cache.ulBetriebssekundenBei.key,
141
+ ReadKeyList_1.default.Wartung_Cache.ulZeitstempel.key,
142
+ ReadKeyList_1.default.Wartung_Cache.usIntervall.key,
143
+ ],
144
+ };
@@ -47,5 +47,6 @@ export declare enum DeviceType {
47
47
  TrackableDevice = 4002,
48
48
  SamsungTv = 5001,
49
49
  Camera = 6001,
50
- Victron = 7001
50
+ Victron = 7001,
51
+ Dachs = 7002
51
52
  }
@@ -52,4 +52,5 @@ var DeviceType;
52
52
  DeviceType[DeviceType["SamsungTv"] = 5001] = "SamsungTv";
53
53
  DeviceType[DeviceType["Camera"] = 6001] = "Camera";
54
54
  DeviceType[DeviceType["Victron"] = 7001] = "Victron";
55
+ DeviceType[DeviceType["Dachs"] = 7002] = "Dachs";
55
56
  })(DeviceType || (exports.DeviceType = DeviceType = {}));
@@ -1,5 +1,6 @@
1
1
  import { deviceConfig, iRoomImportEnforcer } from '../../models';
2
2
  import { iBaseDevice, iEnergyManager } from './baseDeviceInterfaces';
3
+ import { Dachs } from './dachs';
3
4
  export declare class Devices {
4
5
  static IDENTIFIER_HOMEMATIC: string;
5
6
  static IDENTIFIER_JS: string;
@@ -9,6 +10,7 @@ export declare class Devices {
9
10
  [id: string]: iBaseDevice;
10
11
  };
11
12
  static energymanager?: iEnergyManager;
13
+ static dachs?: Dachs;
12
14
  constructor(pDeviceData: {
13
15
  [id: string]: deviceConfig;
14
16
  }, pRoomImportEnforcer?: iRoomImportEnforcer);
@@ -251,3 +251,4 @@ Devices.IDENTIFIER_ZIGBEE = 'zigbee';
251
251
  Devices.IDENTIFIER_WLED = 'wled';
252
252
  Devices.alLDevices = {};
253
253
  Devices.energymanager = undefined;
254
+ Devices.dachs = undefined;