iobroker.telegram-menu 2.4.0 → 2.4.2

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 (158) hide show
  1. package/README.md +8 -1
  2. package/admin/build/index.js +1 -1
  3. package/admin/build/index.js.map +3 -3
  4. package/build/app/action.js +4 -3
  5. package/build/app/action.js.map +2 -2
  6. package/build/app/echarts.js.map +1 -1
  7. package/build/app/getstate.js +8 -6
  8. package/build/app/getstate.js.map +2 -2
  9. package/build/app/idBySelector.js.map +2 -2
  10. package/build/app/telegram.js +5 -1
  11. package/build/app/telegram.js.map +2 -2
  12. package/build/lib/appUtils.js.map +2 -2
  13. package/build/lib/exchangeValue.js +8 -4
  14. package/build/lib/exchangeValue.js.map +2 -2
  15. package/build/lib/string.js +7 -1
  16. package/build/lib/string.js.map +2 -2
  17. package/build/types/types.js.map +1 -1
  18. package/io-package.json +27 -27
  19. package/package.json +5 -5
  20. package/build/.eslintrc.js +0 -70
  21. package/build/.eslintrc.js.map +0 -1
  22. package/build/build/src/app/action.js +0 -447
  23. package/build/build/src/app/adapterStartMenuSend.js +0 -37
  24. package/build/build/src/app/backMenu.js +0 -70
  25. package/build/build/src/app/botAction.js +0 -25
  26. package/build/build/src/app/connection.js +0 -19
  27. package/build/build/src/app/createState.js +0 -19
  28. package/build/build/src/app/dynamicSwitch.js +0 -51
  29. package/build/build/src/app/dynamicValue.js +0 -64
  30. package/build/build/src/app/echarts.js +0 -45
  31. package/build/build/src/app/getstate.js +0 -157
  32. package/build/build/src/app/global.js +0 -59
  33. package/build/build/src/app/httpRequest.js +0 -64
  34. package/build/build/src/app/jsonTable.js +0 -147
  35. package/build/build/src/app/logging.js +0 -13
  36. package/build/build/src/app/messageIds.js +0 -88
  37. package/build/build/src/app/processData.js +0 -208
  38. package/build/build/src/app/sendNav.js +0 -30
  39. package/build/build/src/app/sendpic.js +0 -69
  40. package/build/build/src/app/setstate.js +0 -126
  41. package/build/build/src/app/shoppingList.js +0 -72
  42. package/build/build/src/app/subMenu.js +0 -361
  43. package/build/build/src/app/subscribeStates.js +0 -25
  44. package/build/build/src/app/telegram.js +0 -101
  45. package/build/build/src/lib/string.js +0 -28
  46. package/build/build/src/lib/time.js +0 -23
  47. package/build/build/src/lib/utilities.js +0 -263
  48. package/build/build/src/lib/utils.js +0 -13
  49. package/build/build/src/main.js +0 -402
  50. package/build/io-package.json +0 -324
  51. package/build/src/app/action.js +0 -239
  52. package/build/src/app/action.js.map +0 -1
  53. package/build/src/app/adapterManager.js +0 -12
  54. package/build/src/app/adapterManager.js.map +0 -1
  55. package/build/src/app/adapterStartMenuSend.js +0 -36
  56. package/build/src/app/adapterStartMenuSend.js.map +0 -1
  57. package/build/src/app/backMenu.js +0 -81
  58. package/build/src/app/backMenu.js.map +0 -1
  59. package/build/src/app/botAction.js +0 -25
  60. package/build/src/app/botAction.js.map +0 -1
  61. package/build/src/app/configVariables.js +0 -32
  62. package/build/src/app/configVariables.js.map +0 -1
  63. package/build/src/app/connection.js +0 -20
  64. package/build/src/app/connection.js.map +0 -1
  65. package/build/src/app/createState.js +0 -19
  66. package/build/src/app/createState.js.map +0 -1
  67. package/build/src/app/dynamicSwitch.js +0 -52
  68. package/build/src/app/dynamicSwitch.js.map +0 -1
  69. package/build/src/app/dynamicSwitchMenu.js +0 -52
  70. package/build/src/app/dynamicSwitchMenu.js.map +0 -1
  71. package/build/src/app/dynamicValue.js +0 -52
  72. package/build/src/app/dynamicValue.js.map +0 -1
  73. package/build/src/app/echarts.js +0 -33
  74. package/build/src/app/echarts.js.map +0 -1
  75. package/build/src/app/getstate.js +0 -122
  76. package/build/src/app/getstate.js.map +0 -1
  77. package/build/src/app/global.js +0 -8
  78. package/build/src/app/global.js.map +0 -1
  79. package/build/src/app/httpRequest.js +0 -55
  80. package/build/src/app/httpRequest.js.map +0 -1
  81. package/build/src/app/jsonTable.js +0 -147
  82. package/build/src/app/jsonTable.js.map +0 -1
  83. package/build/src/app/logging.js +0 -22
  84. package/build/src/app/logging.js.map +0 -1
  85. package/build/src/app/messageIds.js +0 -89
  86. package/build/src/app/messageIds.js.map +0 -1
  87. package/build/src/app/processData.js +0 -153
  88. package/build/src/app/processData.js.map +0 -1
  89. package/build/src/app/sendNav.js +0 -26
  90. package/build/src/app/sendNav.js.map +0 -1
  91. package/build/src/app/sendpic.js +0 -66
  92. package/build/src/app/sendpic.js.map +0 -1
  93. package/build/src/app/sentry.js +0 -18
  94. package/build/src/app/sentry.js.map +0 -1
  95. package/build/src/app/setStateIdsToListenTo.js +0 -17
  96. package/build/src/app/setStateIdsToListenTo.js.map +0 -1
  97. package/build/src/app/setstate.js +0 -114
  98. package/build/src/app/setstate.js.map +0 -1
  99. package/build/src/app/shoppingList.js +0 -74
  100. package/build/src/app/shoppingList.js.map +0 -1
  101. package/build/src/app/subMenu.js +0 -237
  102. package/build/src/app/subMenu.js.map +0 -1
  103. package/build/src/app/subscribeStates.js +0 -17
  104. package/build/src/app/subscribeStates.js.map +0 -1
  105. package/build/src/app/telegram.js +0 -83
  106. package/build/src/app/telegram.js.map +0 -1
  107. package/build/src/app/validateMenus.js +0 -30
  108. package/build/src/app/validateMenus.js.map +0 -1
  109. package/build/src/config/config.js +0 -100
  110. package/build/src/config/config.js.map +0 -1
  111. package/build/src/lib/appUtils.js +0 -126
  112. package/build/src/lib/appUtils.js.map +0 -1
  113. package/build/src/lib/appUtilsString.js +0 -13
  114. package/build/src/lib/appUtilsString.js.map +0 -1
  115. package/build/src/lib/json.js +0 -37
  116. package/build/src/lib/json.js.map +0 -1
  117. package/build/src/lib/math.js +0 -17
  118. package/build/src/lib/math.js.map +0 -1
  119. package/build/src/lib/object.js +0 -10
  120. package/build/src/lib/object.js.map +0 -1
  121. package/build/src/lib/splitValues.js +0 -35
  122. package/build/src/lib/splitValues.js.map +0 -1
  123. package/build/src/lib/string.js +0 -121
  124. package/build/src/lib/string.js.map +0 -1
  125. package/build/src/lib/time.js +0 -57
  126. package/build/src/lib/time.js.map +0 -1
  127. package/build/src/lib/utilities.js +0 -111
  128. package/build/src/lib/utilities.js.map +0 -1
  129. package/build/src/lib/utils.js +0 -37
  130. package/build/src/lib/utils.js.map +0 -1
  131. package/build/src/main.js +0 -332
  132. package/build/src/main.js.map +0 -1
  133. package/build/src/test/setup.js +0 -12
  134. package/build/src/test/setup.js.map +0 -1
  135. package/build/src/types/types.js +0 -3
  136. package/build/src/types/types.js.map +0 -1
  137. package/build/test/integration.js +0 -6
  138. package/build/test/integration.js.map +0 -1
  139. package/build/test/mocha.setup.js +0 -14
  140. package/build/test/mocha.setup.js.map +0 -1
  141. package/build/test/package.js +0 -6
  142. package/build/test/package.js.map +0 -1
  143. package/build/test/setup.js +0 -12
  144. package/build/test/setup.js.map +0 -1
  145. package/build/test/test/appUtils.test.js +0 -519
  146. package/build/test/test/appUtils.test.js.map +0 -1
  147. package/build/test/test/appUtilsString.test.js +0 -16
  148. package/build/test/test/appUtilsString.test.js.map +0 -1
  149. package/build/test/test/math.test.js +0 -33
  150. package/build/test/test/math.test.js.map +0 -1
  151. package/build/test/test/object.test.js +0 -66
  152. package/build/test/test/object.test.js.map +0 -1
  153. package/build/test/test/string.test.js +0 -385
  154. package/build/test/test/string.test.js.map +0 -1
  155. package/build/test/test/time.test.js +0 -186
  156. package/build/test/test/time.test.js.map +0 -1
  157. package/build/test/test/utils.test.js +0 -115
  158. package/build/test/test/utils.test.js.map +0 -1
@@ -1,100 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.arrayOfEntries = exports.config = exports.backMenuLength = exports.defaultTelegramInstance = exports.timezone = exports.defaultLocale = void 0;
4
- exports.defaultLocale = 'de-DE';
5
- exports.timezone = 'Europe/Berlin';
6
- exports.defaultTelegramInstance = 'telegram.0';
7
- exports.backMenuLength = 20;
8
- exports.config = {
9
- time: '{time}',
10
- change: {
11
- start: 'change{',
12
- end: '}',
13
- command: 'change',
14
- },
15
- rowSplitter: '&&',
16
- math: {
17
- start: '{math:',
18
- end: '}',
19
- },
20
- round: {
21
- start: '{round:',
22
- end: '}',
23
- },
24
- timestamp: {
25
- start: '{time.',
26
- end: '}',
27
- lc: '{time.lc',
28
- ts: '{time.ts',
29
- },
30
- status: {
31
- start: '{status:',
32
- end: '}',
33
- oldWithId: "'id':",
34
- },
35
- set: {
36
- start: '{set:',
37
- end: '}',
38
- },
39
- json: {
40
- start: '{json',
41
- end: '}',
42
- textTable: 'TextTable',
43
- },
44
- binding: {
45
- start: 'binding:{',
46
- end: '}',
47
- splitChar: ';',
48
- },
49
- functionSelektor: 'functions=',
50
- modifiedValue: '{value}',
51
- dynamicValue: {
52
- start: '{id:',
53
- end: '}',
54
- },
55
- setDynamicValue: '{setDynamicValue',
56
- };
57
- exports.arrayOfEntries = [
58
- {
59
- objName: 'echarts',
60
- name: 'echarts',
61
- loop: 'preset',
62
- elements: [
63
- { name: 'preset' },
64
- { name: 'echartInstance' },
65
- { name: 'background' },
66
- { name: 'theme' },
67
- { name: 'filename' },
68
- ],
69
- },
70
- {
71
- objName: 'loc',
72
- name: 'location',
73
- loop: 'latitude',
74
- elements: [{ name: 'latitude' }, { name: 'longitude' }, { name: 'parse_mode', index: 0 }],
75
- },
76
- {
77
- objName: 'pic',
78
- name: 'sendPic',
79
- loop: 'IDs',
80
- elements: [{ name: 'id', value: 'IDs' }, { name: 'fileName' }, { name: 'delay', value: 'picSendDelay' }],
81
- },
82
- {
83
- objName: 'get',
84
- name: 'getData',
85
- loop: 'IDs',
86
- elements: [
87
- { name: 'id', value: 'IDs' },
88
- { name: 'text', type: 'text' },
89
- { name: 'newline', value: 'newline_checkbox' },
90
- { name: 'parse_mode', index: 0 },
91
- ],
92
- },
93
- {
94
- objName: 'httpRequest',
95
- name: 'httpRequest',
96
- loop: 'url',
97
- elements: [{ name: 'url' }, { name: 'user' }, { name: 'password' }, { name: 'filename' }],
98
- },
99
- ];
100
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/config/config.ts"],"names":[],"mappings":"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"}
@@ -1,126 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.exchangePlaceholderWithValue = exports.getStartSides = exports.timeStringReplacer = exports.getTypeofTimestamp = exports.getParseMode = exports.getListOfMenusIncludingUser = exports.checkOneLineValue = void 0;
4
- exports.calcValue = calcValue;
5
- exports.roundValue = roundValue;
6
- exports.statusIdAndParams = statusIdAndParams;
7
- exports.isStartside = isStartside;
8
- exports.splitNavigation = splitNavigation;
9
- exports.getNewStructure = getNewStructure;
10
- exports.isSameType = isSameType;
11
- const config_1 = require("../config/config");
12
- const string_1 = require("./string");
13
- const math_1 = require("./math");
14
- const utils_1 = require("./utils");
15
- const object_1 = require("./object");
16
- const appUtilsString_1 = require("./appUtilsString");
17
- const checkOneLineValue = (text) => !text.includes(config_1.config.rowSplitter) ? `${text} ${config_1.config.rowSplitter}` : text;
18
- exports.checkOneLineValue = checkOneLineValue;
19
- function calcValue(textToSend, val, adapter) {
20
- const { substringExcludeSearch, textExcludeSubstring } = (0, string_1.decomposeText)(textToSend, config_1.config.math.start, config_1.config.math.end);
21
- const { val: evalVal, error } = (0, math_1.evaluate)([val, substringExcludeSearch], adapter);
22
- return error
23
- ? { textToSend: textExcludeSubstring, calculated: val, error }
24
- : { textToSend: textExcludeSubstring, calculated: evalVal, error };
25
- }
26
- function roundValue(val, textToSend) {
27
- const floatVal = parseFloat(val);
28
- const { textExcludeSubstring, substringExcludeSearch: decimalPlaces } = (0, string_1.decomposeText)(textToSend, config_1.config.round.start, config_1.config.round.end);
29
- const decimalPlacesNum = parseInt(decimalPlaces);
30
- if (isNaN(floatVal)) {
31
- return { roundedValue: 'NaN', text: textExcludeSubstring, error: true };
32
- }
33
- if (isNaN(decimalPlacesNum)) {
34
- return { roundedValue: val, text: textExcludeSubstring, error: true };
35
- }
36
- return { roundedValue: floatVal.toFixed(decimalPlacesNum), text: textExcludeSubstring, error: false };
37
- }
38
- const getListOfMenusIncludingUser = (menusWithUsers, userToSend) => {
39
- const menus = [];
40
- for (const key in menusWithUsers) {
41
- if (menusWithUsers[key].includes(userToSend)) {
42
- menus.push(key);
43
- }
44
- }
45
- return menus;
46
- };
47
- exports.getListOfMenusIncludingUser = getListOfMenusIncludingUser;
48
- const getParseMode = (val = false) => (val ? 'HTML' : 'Markdown');
49
- exports.getParseMode = getParseMode;
50
- const getTypeofTimestamp = (val) => (val.includes('lc') ? 'lc' : 'ts');
51
- exports.getTypeofTimestamp = getTypeofTimestamp;
52
- const timeStringReplacer = ({ d, h, m, ms, y, s, mo }, string) => {
53
- if (string) {
54
- string = string
55
- .replace('sss', ms)
56
- .replace('ss', s)
57
- .replace('mm', m)
58
- .replace('hh', h)
59
- .replace('DD', d)
60
- .replace('MM', mo)
61
- .replace('YYYY', y)
62
- .replace('YY', y.slice(-2))
63
- .replace('(', '')
64
- .replace(')', '');
65
- }
66
- return string;
67
- };
68
- exports.timeStringReplacer = timeStringReplacer;
69
- function statusIdAndParams(substringExcludeSearch) {
70
- const splitArray = substringExcludeSearch.split(':');
71
- const firstEl = splitArray[0];
72
- const secondEl = splitArray[1] ?? '';
73
- const thirdEl = splitArray[2] ?? '';
74
- return substringExcludeSearch.includes(config_1.config.status.oldWithId)
75
- ? {
76
- id: (0, string_1.removeQuotes)(secondEl), //'id':'ID':true
77
- shouldChange: (0, utils_1.isTruthy)((0, string_1.removeQuotes)(thirdEl)),
78
- }
79
- : {
80
- id: (0, string_1.removeQuotes)(firstEl), //'ID':true
81
- shouldChange: (0, utils_1.isTruthy)((0, string_1.removeQuotes)(secondEl)),
82
- };
83
- }
84
- function isStartside(startSide) {
85
- return startSide != '-' && startSide != '';
86
- }
87
- function splitNavigation(rows) {
88
- const generatedNavigation = [];
89
- rows.forEach(({ value, text, parse_mode, call }) => {
90
- const nav = [];
91
- (0, exports.checkOneLineValue)(value)
92
- .split(config_1.config.rowSplitter)
93
- .forEach(function (el, index) {
94
- nav[index] = (0, object_1.trimAllItems)(el.split(','));
95
- });
96
- generatedNavigation.push({ call, text, parse_mode: (0, utils_1.isTruthy)(parse_mode), nav });
97
- });
98
- return generatedNavigation;
99
- }
100
- function getNewStructure(val) {
101
- const obj = {};
102
- val.forEach(function ({ nav, text, parse_mode, call }) {
103
- obj[call] = { nav, text, parse_mode };
104
- });
105
- return obj;
106
- }
107
- const getStartSides = (menusWithUsers, dataObject) => {
108
- const startSides = {};
109
- Object.keys(menusWithUsers).forEach(element => {
110
- startSides[element] = dataObject.nav[element][0].call;
111
- });
112
- return startSides;
113
- };
114
- exports.getStartSides = getStartSides;
115
- const exchangePlaceholderWithValue = (textToSend, val) => {
116
- const searchString = (0, appUtilsString_1.getPlaceholderValue)(textToSend);
117
- if (searchString !== '') {
118
- return textToSend.replace(searchString, val.toString()).trim();
119
- }
120
- return `${textToSend} ${val}`.trim();
121
- };
122
- exports.exchangePlaceholderWithValue = exchangePlaceholderWithValue;
123
- function isSameType(receivedType, obj) {
124
- return receivedType === obj.common.type;
125
- }
126
- //# sourceMappingURL=appUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"appUtils.js","sourceRoot":"","sources":["../../../src/lib/appUtils.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPlaceholderValue = getPlaceholderValue;
4
- function getPlaceholderValue(textToSend) {
5
- if (textToSend.includes('&&')) {
6
- return '&&';
7
- }
8
- if (textToSend.includes('&&')) {
9
- return '&&';
10
- }
11
- return '';
12
- }
13
- //# sourceMappingURL=appUtilsString.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"appUtilsString.js","sourceRoot":"","sources":["../../../src/lib/appUtilsString.ts"],"names":[],"mappings":";;AAAA,kDAQC;AARD,SAAgB,mBAAmB,CAAC,UAAkB;IAClD,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,OAAO,YAAY,CAAC;IACxB,CAAC;IACD,OAAO,EAAE,CAAC;AACd,CAAC"}
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toJson = exports.makeValidJson = exports.escapeJsonString = void 0;
4
- const logging_1 = require("../app/logging");
5
- const escapeJsonString = (input) => {
6
- return input
7
- .replace(/\\/g, '\\\\') // Escape Backslashes
8
- .replace(/"/g, '\\"') // Escape doppelte Anführungszeichen
9
- .replace(/'/g, '"'); // Ersetze einfache Anführungszeichen durch doppelte
10
- };
11
- exports.escapeJsonString = escapeJsonString;
12
- const makeValidJson = (input, adapter) => {
13
- try {
14
- // Entferne unnötige Leerzeichen und überprüfe die Struktur
15
- const sanitizedInput = input.trim();
16
- // Versuche, den String direkt zu parsen
17
- const parsed = JSON.parse(sanitizedInput);
18
- return { validJson: JSON.stringify(parsed), error: false };
19
- }
20
- catch (error) {
21
- console.log(error);
22
- // Wenn der direkte Parse-Versuch fehlschlägt, wende Escaping an
23
- try {
24
- const escapedString = (0, exports.escapeJsonString)(input);
25
- const parsed = JSON.parse(escapedString);
26
- return { validJson: JSON.stringify(parsed), error: false };
27
- }
28
- catch (innerError) {
29
- (0, logging_1.errorLogger)('Error makeValidJson:', innerError, adapter);
30
- return { validJson: input, error: true };
31
- }
32
- }
33
- };
34
- exports.makeValidJson = makeValidJson;
35
- const toJson = (val) => JSON.stringify(val, null, 2);
36
- exports.toJson = toJson;
37
- //# sourceMappingURL=json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../../src/lib/json.ts"],"names":[],"mappings":";;;AAAA,4CAA6C;AAGtC,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAU,EAAE;IACtD,OAAO,KAAK;SACP,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,qBAAqB;SAC5C,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,oCAAoC;SACzD,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,oDAAoD;AACjF,CAAC,CAAC;AALW,QAAA,gBAAgB,oBAK3B;AAEK,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,OAAgB,EAAyC,EAAE;IACpG,IAAI,CAAC;QACD,2DAA2D;QAC3D,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAEpC,wCAAwC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAC1C,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC/D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,gEAAgE;QAChE,IAAI,CAAC;YACD,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACzC,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC/D,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YAClB,IAAA,qBAAW,EAAC,sBAAsB,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YACzD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAC7C,CAAC;IACL,CAAC;AACL,CAAC,CAAC;AApBW,QAAA,aAAa,iBAoBxB;AAEK,MAAM,MAAM,GAAG,CAAC,GAAuC,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAA3F,QAAA,MAAM,UAAqF"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.evaluate = evaluate;
4
- const logging_1 = require("../app/logging");
5
- function evaluate(val, adapter) {
6
- try {
7
- if (Array.isArray(val)) {
8
- return { val: eval(val.join(' ')) ?? '', error: false };
9
- }
10
- return { val: eval(val), error: false };
11
- }
12
- catch (e) {
13
- (0, logging_1.errorLogger)('Error Eval:', e, adapter);
14
- return { val: '', error: true };
15
- }
16
- }
17
- //# sourceMappingURL=math.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"math.js","sourceRoot":"","sources":["../../../src/lib/math.ts"],"names":[],"mappings":";;AAGA,4BAUC;AAZD,4CAA6C;AAE7C,SAAgB,QAAQ,CAAC,GAAsB,EAAE,OAAgB;IAC7D,IAAI,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC5D,CAAC;QACD,OAAO,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QACd,IAAA,qBAAW,EAAC,aAAa,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;QACvC,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;AACL,CAAC"}
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setStateIdsToIdArray = exports.trimAllItems = exports.removeDuplicates = void 0;
4
- const removeDuplicates = (arr) => arr.filter((item, index) => arr.indexOf(item) === index);
5
- exports.removeDuplicates = removeDuplicates;
6
- const trimAllItems = (array) => array.map(item => item.trim());
7
- exports.trimAllItems = trimAllItems;
8
- const setStateIdsToIdArray = (setStateIds) => setStateIds.map(obj => obj.id);
9
- exports.setStateIdsToIdArray = setStateIdsToIdArray;
10
- //# sourceMappingURL=object.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"object.js","sourceRoot":"","sources":["../../../src/lib/object.ts"],"names":[],"mappings":";;;AAEO,MAAM,gBAAgB,GAAG,CAAC,GAAa,EAAY,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;AAAzG,QAAA,gBAAgB,oBAAyF;AAE/G,MAAM,YAAY,GAAG,CAAC,KAAe,EAAY,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;AAA7E,QAAA,YAAY,gBAAiE;AAEnF,MAAM,oBAAoB,GAAG,CAAC,WAA0B,EAAY,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAAhG,QAAA,oBAAoB,wBAA4E"}
@@ -1,35 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEchartsValues = exports.getSubmenuNumberValues = exports.getMenuValues = void 0;
4
- exports.getProcessTimeValues = getProcessTimeValues;
5
- exports.getBindingValues = getBindingValues;
6
- const string_1 = require("./string");
7
- const appUtils_1 = require("./appUtils");
8
- const getMenuValues = (str) => {
9
- const splitText = str.split(':');
10
- return { cbData: splitText[1], menuToHandle: splitText[2], val: splitText[3] };
11
- };
12
- exports.getMenuValues = getMenuValues;
13
- function getProcessTimeValues(substringExcludeSearch) {
14
- const array = substringExcludeSearch.split(','); //["lc","(DD MM YYYY hh:mm:ss:sss)","id:'ID'"]
15
- return {
16
- typeofTimestamp: (0, appUtils_1.getTypeofTimestamp)(array[0]),
17
- timeString: array[1] ?? '',
18
- idString: (0, string_1.replaceAllItems)(array[2] ?? '', ['id:', '}', "'"]),
19
- };
20
- }
21
- function getBindingValues(item) {
22
- const array = item.split(':');
23
- return { key: array[0], id: array[1] };
24
- }
25
- const getSubmenuNumberValues = (str) => {
26
- const splitText = str.split(':'); // submenu:number2-8-1-°C:SetMenuNumber:3
27
- return { callbackData: splitText[1], device: splitText[2], value: parseFloat(splitText[3]) };
28
- };
29
- exports.getSubmenuNumberValues = getSubmenuNumberValues;
30
- const getEchartsValues = (preset) => {
31
- const splitPreset = preset.split('.');
32
- return `${splitPreset[0]}.${splitPreset[1]}`;
33
- };
34
- exports.getEchartsValues = getEchartsValues;
35
- //# sourceMappingURL=splitValues.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"splitValues.js","sourceRoot":"","sources":["../../../src/lib/splitValues.ts"],"names":[],"mappings":";;;AAQA,oDAWC;AAED,4CAIC;AAzBD,qCAA2C;AAC3C,yCAAgD;AAEzC,MAAM,aAAa,GAAG,CAAC,GAAW,EAA2D,EAAE;IAClG,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;AACnF,CAAC,CAAC;AAHW,QAAA,aAAa,iBAGxB;AAEF,SAAgB,oBAAoB,CAAC,sBAA8B;IAK/D,MAAM,KAAK,GAAG,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,8CAA8C;IAC/F,OAAO;QACH,eAAe,EAAE,IAAA,6BAAkB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC7C,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE;QAC1B,QAAQ,EAAE,IAAA,wBAAe,EAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;KAC/D,CAAC;AACN,CAAC;AAED,SAAgB,gBAAgB,CAAC,IAAY;IACzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9B,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC3C,CAAC;AAEM,MAAM,sBAAsB,GAAG,CAAC,GAAW,EAA2D,EAAE;IAC3G,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,yCAAyC;IAC3E,OAAO,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACjG,CAAC,CAAC;AAHW,QAAA,sBAAsB,0BAGjC;AAEK,MAAM,gBAAgB,GAAG,CAAC,MAAc,EAAU,EAAE;IACvD,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACtC,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;AACjD,CAAC,CAAC;AAHW,QAAA,gBAAgB,oBAG3B"}
@@ -1,121 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEmptyString = exports.isNonEmptyString = exports.pad = exports.isString = exports.getValueToExchange = exports.cleanUpString = exports.removeQuotes = exports.replaceAllItems = exports.replaceAll = exports.jsonString = void 0;
4
- exports.parseJSON = parseJSON;
5
- exports.decomposeText = decomposeText;
6
- exports.stringReplacer = stringReplacer;
7
- exports.getNewline = getNewline;
8
- exports.isBooleanString = isBooleanString;
9
- const config_1 = require("../config/config");
10
- const utils_1 = require("./utils");
11
- const logging_1 = require("../app/logging");
12
- const jsonString = (val) => JSON.stringify(val);
13
- exports.jsonString = jsonString;
14
- function parseJSON(val, adapter) {
15
- try {
16
- return { json: JSON.parse(val), isValidJson: true };
17
- }
18
- catch (e) {
19
- if (adapter) {
20
- (0, logging_1.errorLogger)('Error parseJSON:', e, adapter);
21
- }
22
- return { json: val, isValidJson: false };
23
- }
24
- }
25
- const replaceAll = (text, searchValue, replaceValue) => {
26
- const escapedSearchValue = searchValue.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); // Escape-Sonderzeichen
27
- return text.replace(new RegExp(escapedSearchValue, 'g'), replaceValue);
28
- };
29
- exports.replaceAll = replaceAll;
30
- const replaceAllItems = (text, searched) => {
31
- searched.forEach(item => {
32
- if (typeof item === 'string') {
33
- text = (0, exports.replaceAll)(text, item, '');
34
- }
35
- else {
36
- text = (0, exports.replaceAll)(text, item.search, item.val);
37
- }
38
- });
39
- return text;
40
- };
41
- exports.replaceAllItems = replaceAllItems;
42
- const removeQuotes = (text) => text.replace(/['"]/g, '');
43
- exports.removeQuotes = removeQuotes;
44
- const cleanUpString = (text) => {
45
- if (!text) {
46
- return '';
47
- }
48
- return text
49
- .replace(/^['"]|['"]$/g, '') // Entferne Anführungszeichen am Anfang/Ende
50
- .replace(/\\n/g, '\n') // Ersetze \n durch einen echten Zeilenumbruch
51
- .replace(/ \\\n/g, '\n') // Ersetze \n mit Leerzeichen davor durch einen echten Zeilenumbruch
52
- .replace(/\\(?!n)/g, ''); // Entferne alle Backslashes, die nicht von einem 'n' gefolgt werden
53
- };
54
- exports.cleanUpString = cleanUpString;
55
- function decomposeText(text, firstSearch, secondSearch) {
56
- const startindex = text.indexOf(firstSearch);
57
- const endindex = text.indexOf(secondSearch, startindex);
58
- const substring = text.substring(startindex, endindex + secondSearch.length);
59
- const substringExcludedSearch = stringReplacer(substring, [firstSearch, secondSearch]);
60
- const textWithoutSubstring = text.replace(substring, '').trim();
61
- return {
62
- startindex,
63
- endindex,
64
- substring,
65
- textExcludeSubstring: textWithoutSubstring,
66
- substringExcludeSearch: substringExcludedSearch,
67
- };
68
- }
69
- // TODO : Move to utils
70
- const getValueToExchange = (adapter, textToSend, val) => {
71
- //TODO Use JSON => change{"true":"Wärmepumpe ist verbunden","false":"Wärmepumpe ist nicht verbunden"}
72
- if (textToSend.includes(config_1.config.change.start)) {
73
- const { start, end, command } = config_1.config.change;
74
- const { startindex, endindex, substring } = decomposeText(textToSend, start, end); // change{"true":"an","false":"aus"}
75
- const modifiedString = (0, exports.replaceAll)(substring, "'", '"').replace(command, ''); // {"true":"an","false":"aus"}
76
- const { json, isValidJson } = parseJSON(modifiedString);
77
- if (isValidJson) {
78
- return {
79
- newValue: json[String(val)] ?? val,
80
- textToSend: textToSend.substring(0, startindex) + textToSend.substring(endindex + 1),
81
- error: false,
82
- };
83
- }
84
- adapter.log.error(`There is a error in your input: ${modifiedString}`);
85
- return { newValue: val, textToSend, error: true };
86
- }
87
- return { textToSend, newValue: val, error: false };
88
- };
89
- exports.getValueToExchange = getValueToExchange;
90
- const isString = (value) => typeof value === 'string';
91
- exports.isString = isString;
92
- function stringReplacer(substring, valueToReplace) {
93
- if (typeof valueToReplace[0] === 'string') {
94
- valueToReplace.forEach(item => {
95
- substring = substring.replace(item, '');
96
- });
97
- return substring;
98
- }
99
- valueToReplace.forEach(({ val, newValue }) => {
100
- substring = substring.replace(val, newValue);
101
- });
102
- return substring;
103
- }
104
- const pad = (value, length = 2) => {
105
- if (value < 0) {
106
- return `-${(value * -1).toString().padStart(length - 1, '0')}`;
107
- }
108
- return value.toString().padStart(length, '0');
109
- };
110
- exports.pad = pad;
111
- function getNewline(newline) {
112
- return (0, utils_1.isTruthy)(newline) ? '\n' : '';
113
- }
114
- function isBooleanString(str) {
115
- return str === 'true' || str === 'false';
116
- }
117
- const isNonEmptyString = (str) => str.trim() !== '';
118
- exports.isNonEmptyString = isNonEmptyString;
119
- const isEmptyString = (str) => str.trim() === '';
120
- exports.isEmptyString = isEmptyString;
121
- //# sourceMappingURL=string.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../../../src/lib/string.ts"],"names":[],"mappings":"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"}
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.integrateTimeIntoText = exports.toLocaleDate = void 0;
4
- exports.extractTimeValues = extractTimeValues;
5
- exports.getTimeWithPad = getTimeWithPad;
6
- const config_1 = require("../config/config");
7
- const string_1 = require("./string");
8
- const toLocaleDate = (ts, options) => {
9
- return ts.toLocaleDateString(options?.locale ?? config_1.defaultLocale, {
10
- hour: '2-digit',
11
- minute: '2-digit',
12
- second: '2-digit',
13
- hour12: false,
14
- timeZone: options?.tz ?? config_1.timezone,
15
- });
16
- };
17
- exports.toLocaleDate = toLocaleDate;
18
- const integrateTimeIntoText = (text, val) => {
19
- if (!val) {
20
- return text.replace(config_1.config.time, '"Invalid Date"');
21
- }
22
- const date = new Date(Number(String(val)));
23
- return text.replace(config_1.config.time, isNaN(date.getTime()) ? '"Invalid Date"' : (0, exports.toLocaleDate)(date));
24
- };
25
- exports.integrateTimeIntoText = integrateTimeIntoText;
26
- function extractTimeValues(tsInMs) {
27
- if (isNaN(tsInMs) || tsInMs < 0) {
28
- return { milliseconds: NaN, seconds: NaN, minutes: NaN, hours: NaN, day: NaN, month: NaN, year: NaN };
29
- }
30
- const date = new Date(tsInMs); //https://it-tools.tech/date-converter
31
- const milliseconds = date.getMilliseconds();
32
- const seconds = date.getSeconds();
33
- const minutes = date.getMinutes();
34
- const hours = Number(new Intl.DateTimeFormat(config_1.defaultLocale, {
35
- hour: '2-digit',
36
- hour12: false,
37
- timeZone: config_1.timezone,
38
- })
39
- .formatToParts(new Date(tsInMs))
40
- .find(part => part.type === 'hour')?.value);
41
- const day = Number(date.toLocaleString(config_1.defaultLocale, { day: '2-digit' }));
42
- const month = Number(date.toLocaleString(config_1.defaultLocale, { month: '2-digit' }));
43
- const year = Number(date.toLocaleString(config_1.defaultLocale, { year: 'numeric' }));
44
- return { milliseconds, seconds, minutes, hours, day, month, year };
45
- }
46
- function getTimeWithPad({ milliseconds, seconds, day, minutes, year, month, hours, }) {
47
- return {
48
- ms: (0, string_1.pad)(milliseconds, 3),
49
- s: (0, string_1.pad)(seconds),
50
- m: (0, string_1.pad)(minutes),
51
- h: (0, string_1.pad)(hours),
52
- d: (0, string_1.pad)(day),
53
- mo: (0, string_1.pad)(month),
54
- y: year.toString(),
55
- };
56
- }
57
- //# sourceMappingURL=time.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"time.js","sourceRoot":"","sources":["../../../src/lib/time.ts"],"names":[],"mappings":";;;AAuBA,8CAqBC;AAED,wCAkBC;AAhED,6CAAmE;AAEnE,qCAA+B;AAExB,MAAM,YAAY,GAAG,CAAC,EAAQ,EAAE,OAA0C,EAAU,EAAE;IACzF,OAAO,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,IAAI,sBAAa,EAAE;QAC3D,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,SAAS;QACjB,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,iBAAQ;KACpC,CAAC,CAAC;AACP,CAAC,CAAC;AARW,QAAA,YAAY,gBAQvB;AAEK,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAE,GAAyB,EAAU,EAAE;IACrF,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,eAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAE3C,OAAO,IAAI,CAAC,OAAO,CAAC,eAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAA,oBAAY,EAAC,IAAI,CAAC,CAAC,CAAC;AACpG,CAAC,CAAC;AAPW,QAAA,qBAAqB,yBAOhC;AAEF,SAAgB,iBAAiB,CAAC,MAAc;IAC5C,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAC1G,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,sCAAsC;IACrE,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;IAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAClC,MAAM,KAAK,GAAG,MAAM,CAChB,IAAI,IAAI,CAAC,cAAc,CAAC,sBAAa,EAAE;QACnC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,iBAAQ;KACrB,CAAC;SACG,aAAa,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC;SAC/B,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE,KAAK,CACjD,CAAC;IACF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,sBAAa,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,sBAAa,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC/E,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,sBAAa,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;IAC7E,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACvE,CAAC;AAED,SAAgB,cAAc,CAAC,EAC3B,YAAY,EACZ,OAAO,EACP,GAAG,EACH,OAAO,EACP,IAAI,EACJ,KAAK,EACL,KAAK,GACW;IAChB,OAAO;QACH,EAAE,EAAE,IAAA,YAAG,EAAC,YAAY,EAAE,CAAC,CAAC;QACxB,CAAC,EAAE,IAAA,YAAG,EAAC,OAAO,CAAC;QACf,CAAC,EAAE,IAAA,YAAG,EAAC,OAAO,CAAC;QACf,CAAC,EAAE,IAAA,YAAG,EAAC,KAAK,CAAC;QACb,CAAC,EAAE,IAAA,YAAG,EAAC,GAAG,CAAC;QACX,EAAE,EAAE,IAAA,YAAG,EAAC,KAAK,CAAC;QACd,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE;KACrB,CAAC;AACN,CAAC"}