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
|
@@ -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,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
|
+
};
|
|
@@ -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);
|