iobroker.telegram-menu 2.2.3 → 2.3.0
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/README.md +13 -1
- package/admin/build/index.js +49 -49
- package/admin/build/index.js.map +3 -3
- package/admin/css/button.css +3 -0
- package/admin/css/row-editor.css +1 -1
- package/admin/css/style.css +46 -25
- package/admin/css/textarea.css +7 -11
- package/admin/i18n/de/translations.json +124 -123
- package/admin/i18n/en/translations.json +3 -2
- package/admin/i18n/es/translations.json +3 -2
- package/admin/i18n/fr/translations.json +3 -2
- package/admin/i18n/it/translations.json +3 -2
- package/admin/i18n/nl/translations.json +3 -2
- package/admin/i18n/pl/translations.json +3 -2
- package/admin/i18n/pt/translations.json +3 -2
- package/admin/i18n/ru/translations.json +3 -2
- package/admin/i18n/uk/translations.json +3 -2
- package/admin/i18n/zh-cn/translations.json +3 -2
- package/admin/words.js +3 -1
- package/build/admin/src/config/helper.js +178 -0
- package/build/admin/src/config/helper.js.map +1 -0
- package/build/admin/src/lib/Utils.js +64 -0
- package/build/admin/src/lib/Utils.js.map +1 -0
- package/build/admin/src/types/event.js +3 -0
- package/build/admin/src/types/event.js.map +1 -0
- package/build/app/action.js +270 -0
- package/build/app/action.js.map +7 -0
- package/build/app/adapterManager.js +36 -0
- package/build/app/adapterManager.js.map +7 -0
- package/build/app/adapterStartMenuSend.js +59 -0
- package/build/app/adapterStartMenuSend.js.map +7 -0
- package/build/app/backMenu.js +110 -0
- package/build/app/backMenu.js.map +7 -0
- package/build/app/botAction.js +47 -0
- package/build/app/botAction.js.map +7 -0
- package/build/app/configVariables.js +56 -0
- package/build/app/configVariables.js.map +7 -0
- package/build/app/connection.js +42 -0
- package/build/app/connection.js.map +7 -0
- package/build/app/createState.js +42 -0
- package/build/app/createState.js.map +7 -0
- package/build/app/dynamicSwitch.js +69 -0
- package/build/app/dynamicSwitch.js.map +7 -0
- package/build/app/dynamicSwitchMenu.js +69 -0
- package/build/app/dynamicSwitchMenu.js.map +7 -0
- package/build/app/dynamicValue.js +80 -0
- package/build/app/dynamicValue.js.map +7 -0
- package/build/app/echarts.js +60 -0
- package/build/app/echarts.js.map +7 -0
- package/build/app/getstate.js +148 -0
- package/build/app/getstate.js.map +7 -0
- package/build/app/global.js +2 -0
- package/build/app/global.js.map +7 -0
- package/build/app/httpRequest.js +84 -0
- package/build/app/httpRequest.js.map +7 -0
- package/build/app/jsonTable.js +158 -0
- package/build/app/jsonTable.js.map +7 -0
- package/build/app/logging.js +46 -0
- package/build/app/logging.js.map +7 -0
- package/build/app/messageIds.js +116 -0
- package/build/app/messageIds.js.map +7 -0
- package/build/app/processData.js +198 -0
- package/build/app/processData.js.map +7 -0
- package/build/app/sendNav.js +49 -0
- package/build/app/sendNav.js.map +7 -0
- package/build/app/sendpic.js +95 -0
- package/build/app/sendpic.js.map +7 -0
- package/build/app/sentry.js +43 -0
- package/build/app/sentry.js.map +7 -0
- package/build/app/setStateIdsToListenTo.js +42 -0
- package/build/app/setStateIdsToListenTo.js.map +7 -0
- package/build/app/setstate.js +145 -0
- package/build/app/setstate.js.map +7 -0
- package/build/app/shoppingList.js +97 -0
- package/build/app/shoppingList.js.map +7 -0
- package/build/app/subMenu.js +281 -0
- package/build/app/subMenu.js.map +7 -0
- package/build/app/subscribeStates.js +41 -0
- package/build/app/subscribeStates.js.map +7 -0
- package/build/app/telegram.js +131 -0
- package/build/app/telegram.js.map +7 -0
- package/build/app/validateMenus.js +64 -0
- package/build/app/validateMenus.js.map +7 -0
- package/build/build/src/app/action.js +447 -0
- package/build/build/src/app/adapterStartMenuSend.js +37 -0
- package/build/build/src/app/backMenu.js +70 -0
- package/build/build/src/app/botAction.js +25 -0
- package/build/build/src/app/connection.js +19 -0
- package/build/build/src/app/createState.js +19 -0
- package/build/build/src/app/dynamicSwitch.js +51 -0
- package/build/build/src/app/dynamicValue.js +64 -0
- package/build/build/src/app/echarts.js +45 -0
- package/build/build/src/app/getstate.js +157 -0
- package/build/build/src/app/global.js +59 -0
- package/build/build/src/app/httpRequest.js +64 -0
- package/build/build/src/app/jsonTable.js +147 -0
- package/build/build/src/app/logging.js +13 -0
- package/build/build/src/app/messageIds.js +88 -0
- package/build/build/src/app/processData.js +208 -0
- package/build/build/src/app/sendNav.js +30 -0
- package/build/build/src/app/sendpic.js +69 -0
- package/build/build/src/app/setstate.js +126 -0
- package/build/build/src/app/shoppingList.js +72 -0
- package/build/build/src/app/subMenu.js +361 -0
- package/build/build/src/app/subscribeStates.js +25 -0
- package/build/build/src/app/telegram.js +101 -0
- package/build/build/src/lib/string.js +28 -0
- package/build/build/src/lib/time.js +23 -0
- package/build/build/src/lib/utilities.js +263 -0
- package/build/build/src/lib/utils.js +13 -0
- package/build/build/src/main.js +402 -0
- package/build/config/config.js +134 -0
- package/build/config/config.js.map +7 -0
- package/build/io-package.json +87 -87
- package/build/lib/action.js +22 -27
- package/build/lib/action.js.map +2 -2
- package/build/lib/adapterStartMenuSend.js +6 -6
- package/build/lib/adapterStartMenuSend.js.map +2 -2
- package/build/lib/appUtils.js +158 -0
- package/build/lib/appUtils.js.map +7 -0
- package/build/lib/appUtilsString.js +37 -0
- package/build/lib/appUtilsString.js.map +7 -0
- package/build/lib/backMenu.js +6 -6
- package/build/lib/backMenu.js.map +2 -2
- package/build/lib/botAction.js.map +1 -1
- package/build/lib/dynamicSwitch.js +10 -10
- package/build/lib/dynamicSwitch.js.map +2 -2
- package/build/lib/dynamicValue.js +6 -6
- package/build/lib/dynamicValue.js.map +2 -2
- package/build/lib/echarts.js +5 -6
- package/build/lib/echarts.js.map +2 -2
- package/build/lib/getstate.js +29 -30
- package/build/lib/getstate.js.map +2 -2
- package/build/lib/global.js +13 -0
- package/build/lib/global.js.map +2 -2
- package/build/lib/httpRequest.js +6 -7
- package/build/lib/httpRequest.js.map +2 -2
- package/build/lib/json.js +54 -0
- package/build/lib/json.js.map +7 -0
- package/build/lib/jsonTable.js +12 -15
- package/build/lib/jsonTable.js.map +2 -2
- package/build/lib/math.js +41 -0
- package/build/lib/math.js.map +7 -0
- package/build/lib/messageIds.js.map +1 -1
- package/build/lib/object.js +35 -0
- package/build/lib/object.js.map +7 -0
- package/build/lib/processData.js +22 -33
- package/build/lib/processData.js.map +3 -3
- package/build/lib/sendNav.js +7 -7
- package/build/lib/sendNav.js.map +2 -2
- package/build/lib/sendpic.js +23 -22
- package/build/lib/sendpic.js.map +2 -2
- package/build/lib/setstate.js +8 -8
- package/build/lib/setstate.js.map +2 -2
- package/build/lib/shoppingList.js +6 -6
- package/build/lib/shoppingList.js.map +2 -2
- package/build/lib/splitValues.js +63 -0
- package/build/lib/splitValues.js.map +7 -0
- package/build/lib/string.js +125 -3
- package/build/lib/string.js.map +2 -2
- package/build/lib/subMenu.js +66 -50
- package/build/lib/subMenu.js.map +2 -2
- package/build/lib/subscribeStates.js.map +1 -1
- package/build/lib/telegram.js +11 -2
- package/build/lib/telegram.js.map +2 -2
- package/build/lib/time.js +93 -0
- package/build/lib/time.js.map +7 -0
- package/build/lib/utilities.js +85 -281
- package/build/lib/utilities.js.map +3 -3
- package/build/lib/utils.js +66 -0
- package/build/lib/utils.js.map +7 -0
- package/build/main.js +154 -234
- package/build/main.js.map +3 -3
- package/build/src/app/action.js +239 -0
- package/build/src/app/action.js.map +1 -0
- package/build/src/app/adapterManager.js +12 -0
- package/build/src/app/adapterManager.js.map +1 -0
- package/build/src/app/adapterStartMenuSend.js +36 -0
- package/build/src/app/adapterStartMenuSend.js.map +1 -0
- package/build/src/app/backMenu.js +81 -0
- package/build/src/app/backMenu.js.map +1 -0
- package/build/src/app/botAction.js +25 -0
- package/build/src/app/botAction.js.map +1 -0
- package/build/src/app/configVariables.js +32 -0
- package/build/src/app/configVariables.js.map +1 -0
- package/build/src/app/connection.js +20 -0
- package/build/src/app/connection.js.map +1 -0
- package/build/src/app/createState.js +19 -0
- package/build/src/app/createState.js.map +1 -0
- package/build/src/app/dynamicSwitch.js +52 -0
- package/build/src/app/dynamicSwitch.js.map +1 -0
- package/build/src/app/dynamicSwitchMenu.js +52 -0
- package/build/src/app/dynamicSwitchMenu.js.map +1 -0
- package/build/src/app/dynamicValue.js +52 -0
- package/build/src/app/dynamicValue.js.map +1 -0
- package/build/src/app/echarts.js +33 -0
- package/build/src/app/echarts.js.map +1 -0
- package/build/src/app/getstate.js +122 -0
- package/build/src/app/getstate.js.map +1 -0
- package/build/src/app/global.js +8 -0
- package/build/src/app/global.js.map +1 -0
- package/build/src/app/httpRequest.js +55 -0
- package/build/src/app/httpRequest.js.map +1 -0
- package/build/src/app/jsonTable.js +147 -0
- package/build/src/app/jsonTable.js.map +1 -0
- package/build/src/app/logging.js +22 -0
- package/build/src/app/logging.js.map +1 -0
- package/build/src/app/messageIds.js +89 -0
- package/build/src/app/messageIds.js.map +1 -0
- package/build/src/app/processData.js +153 -0
- package/build/src/app/processData.js.map +1 -0
- package/build/src/app/sendNav.js +26 -0
- package/build/src/app/sendNav.js.map +1 -0
- package/build/src/app/sendpic.js +66 -0
- package/build/src/app/sendpic.js.map +1 -0
- package/build/src/app/sentry.js +18 -0
- package/build/src/app/sentry.js.map +1 -0
- package/build/src/app/setStateIdsToListenTo.js +17 -0
- package/build/src/app/setStateIdsToListenTo.js.map +1 -0
- package/build/src/app/setstate.js +114 -0
- package/build/src/app/setstate.js.map +1 -0
- package/build/src/app/shoppingList.js +74 -0
- package/build/src/app/shoppingList.js.map +1 -0
- package/build/src/app/subMenu.js +237 -0
- package/build/src/app/subMenu.js.map +1 -0
- package/build/src/app/subscribeStates.js +17 -0
- package/build/src/app/subscribeStates.js.map +1 -0
- package/build/src/app/telegram.js +83 -0
- package/build/src/app/telegram.js.map +1 -0
- package/build/src/app/validateMenus.js +30 -0
- package/build/src/app/validateMenus.js.map +1 -0
- package/build/src/config/config.js +100 -0
- package/build/src/config/config.js.map +1 -0
- package/build/src/lib/appUtils.js +126 -0
- package/build/src/lib/appUtils.js.map +1 -0
- package/build/src/lib/appUtilsString.js +13 -0
- package/build/src/lib/appUtilsString.js.map +1 -0
- package/build/src/lib/json.js +37 -0
- package/build/src/lib/json.js.map +1 -0
- package/build/src/lib/math.js +17 -0
- package/build/src/lib/math.js.map +1 -0
- package/build/src/lib/object.js +10 -0
- package/build/src/lib/object.js.map +1 -0
- package/build/src/lib/splitValues.js +35 -0
- package/build/src/lib/splitValues.js.map +1 -0
- package/build/src/lib/string.js +121 -0
- package/build/src/lib/string.js.map +1 -0
- package/build/src/lib/time.js +57 -0
- package/build/src/lib/time.js.map +1 -0
- package/build/src/lib/utilities.js +111 -0
- package/build/src/lib/utilities.js.map +1 -0
- package/build/src/lib/utils.js +37 -0
- package/build/src/lib/utils.js.map +1 -0
- package/build/src/main.js +332 -0
- package/build/src/main.js.map +1 -0
- package/build/src/test/setup.js +12 -0
- package/build/src/test/setup.js.map +1 -0
- package/build/src/types/types.js +3 -0
- package/build/src/types/types.js.map +1 -0
- package/build/test/integration.js +0 -1
- package/build/test/integration.js.map +1 -1
- package/build/test/mocha.setup.js +0 -1
- package/build/test/mocha.setup.js.map +1 -1
- package/build/test/package.js +0 -1
- package/build/test/package.js.map +1 -1
- package/build/test/setup.js +12 -0
- package/build/test/setup.js.map +1 -0
- package/build/test/test/appUtils.test.js +507 -0
- package/build/test/test/appUtils.test.js.map +1 -0
- package/build/test/test/appUtilsString.test.js +16 -0
- package/build/test/test/appUtilsString.test.js.map +1 -0
- package/build/test/test/math.test.js +33 -0
- package/build/test/test/math.test.js.map +1 -0
- package/build/test/test/object.test.js +54 -0
- package/build/test/test/object.test.js.map +1 -0
- package/build/test/test/string.test.js +361 -0
- package/build/test/test/string.test.js.map +1 -0
- package/build/test/test/time.test.js +201 -0
- package/build/test/test/time.test.js.map +1 -0
- package/build/test/test/utils.test.js +115 -0
- package/build/test/test/utils.test.js.map +1 -0
- package/build/types/types.js +17 -0
- package/build/types/types.js.map +7 -0
- package/io-package.json +32 -27
- package/package.json +14 -10
- package/build/main.test.js +0 -24
- package/build/main.test.js.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/subscribeStates.ts"],
|
|
4
|
-
"sourcesContent": ["import TelegramMenu from '../main';\nimport { deleteDoubleEntriesInArray } from './global';\nimport { debug } from './logging';\nimport type { SetStateIds } from '
|
|
4
|
+
"sourcesContent": ["import TelegramMenu from '../main';\nimport { deleteDoubleEntriesInArray } from './global';\nimport { debug } from './logging';\nimport type { SetStateIds } from '../types/types';\n\nasync function _subscribeAndUnSubscribeForeignStatesAsync(obj: { array?: SetStateIds[]; id?: string }): Promise<void> {\n const _this = TelegramMenu.getInstance();\n if (obj.id) {\n debug([\n { text: 'ID to subscribe:', val: obj.id },\n { text: 'Subscribe:', val: await _this.subscribeForeignStatesAsync(obj.id) },\n ]);\n } else if (obj.array) {\n for (const element of obj.array) {\n await _this.subscribeForeignStatesAsync(element.id);\n }\n }\n}\n\nasync function _subscribeForeignStatesAsync(array: string[]): Promise<void> {\n const _this = TelegramMenu.getInstance();\n array = deleteDoubleEntriesInArray(array);\n for (const element of array) {\n await _this.subscribeForeignStatesAsync(element);\n }\n debug([{ text: 'Subscribe all States of:', val: array }]);\n}\n\nexport { _subscribeAndUnSubscribeForeignStatesAsync, _subscribeForeignStatesAsync };\n"],
|
|
5
5
|
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAyB;AACzB,oBAA2C;AAC3C,qBAAsB;AAGtB,eAAe,2CAA2C,KAA4D;AAClH,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,MAAI,IAAI,IAAI;AACR,8BAAM;AAAA,MACF,EAAE,MAAM,oBAAoB,KAAK,IAAI,GAAG;AAAA,MACxC,EAAE,MAAM,cAAc,KAAK,MAAM,MAAM,4BAA4B,IAAI,EAAE,EAAE;AAAA,IAC/E,CAAC;AAAA,EACL,WAAW,IAAI,OAAO;AAClB,eAAW,WAAW,IAAI,OAAO;AAC7B,YAAM,MAAM,4BAA4B,QAAQ,EAAE;AAAA,IACtD;AAAA,EACJ;AACJ;AAEA,eAAe,6BAA6B,OAAgC;AACxE,QAAM,QAAQ,YAAAA,QAAa,YAAY;AACvC,cAAQ,0CAA2B,KAAK;AACxC,aAAW,WAAW,OAAO;AACzB,UAAM,MAAM,4BAA4B,OAAO;AAAA,EACnD;AACA,4BAAM,CAAC,EAAE,MAAM,4BAA4B,KAAK,MAAM,CAAC,CAAC;AAC5D;",
|
|
6
6
|
"names": ["TelegramMenu"]
|
|
7
7
|
}
|
package/build/lib/telegram.js
CHANGED
|
@@ -37,7 +37,16 @@ var import_logging = require("./logging");
|
|
|
37
37
|
var import_utilities = require("./utilities");
|
|
38
38
|
var import_main = __toESM(require("../main"));
|
|
39
39
|
var import_global = require("./global");
|
|
40
|
-
async function sendToTelegram(
|
|
40
|
+
async function sendToTelegram({
|
|
41
|
+
user = "",
|
|
42
|
+
textToSend,
|
|
43
|
+
keyboard,
|
|
44
|
+
instance = "telegram.0",
|
|
45
|
+
resize_keyboard = true,
|
|
46
|
+
one_time_keyboard = true,
|
|
47
|
+
userListWithChatID,
|
|
48
|
+
parse_mode
|
|
49
|
+
}) {
|
|
41
50
|
try {
|
|
42
51
|
const _this = import_main.default.getInstance();
|
|
43
52
|
const chatId = (0, import_utilities.getChatID)(userListWithChatID, user);
|
|
@@ -51,7 +60,7 @@ async function sendToTelegram(user = "", textToSend, keyboard = [], instance = "
|
|
|
51
60
|
{ text: "ParseModeType:", val: parse_modeType }
|
|
52
61
|
]);
|
|
53
62
|
textToSend = (0, import_utilities.newLine)(textToSend);
|
|
54
|
-
if (keyboard
|
|
63
|
+
if (!keyboard) {
|
|
55
64
|
_this.log.debug("No Keyboard");
|
|
56
65
|
_this.sendTo(
|
|
57
66
|
instance,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/lib/telegram.ts"],
|
|
4
|
-
"sourcesContent": ["import { debug, error } from './logging';\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA6B;AAC7B,uBAAoD;AACpD,kBAAyB;AAEzB,oBAAyB;AAEzB,eAAe,
|
|
4
|
+
"sourcesContent": ["import { debug, error } from './logging';\nimport { checkStatusInfo, getChatID, newLine } from './utilities';\nimport TelegramMenu from '../main';\nimport type { BooleanString, Keyboard, Location, ParseModeType, UserListWithChatId } from '../types/types';\nimport { isTruthy } from './global';\n\nasync function sendToTelegram({\n user = '',\n textToSend,\n keyboard,\n instance = 'telegram.0',\n resize_keyboard = true,\n one_time_keyboard = true,\n userListWithChatID,\n parse_mode,\n}: {\n user: string;\n textToSend: string;\n keyboard?: Keyboard;\n instance: string;\n resize_keyboard: boolean;\n one_time_keyboard: boolean;\n userListWithChatID: UserListWithChatId[];\n parse_mode: BooleanString;\n}): Promise<void> {\n try {\n const _this = TelegramMenu.getInstance();\n const chatId = getChatID(userListWithChatID, user);\n const parse_modeType: ParseModeType = getParseMode(parse_mode);\n debug([\n { text: `Send to: ${user} => ${textToSend}` },\n { text: 'Instance:', val: instance },\n { text: 'UserListWithChatID\t:', val: userListWithChatID },\n { text: 'Parse_mode\t:', val: parse_mode },\n { text: 'ChatId\t:', val: chatId },\n { text: 'ParseModeType:', val: parse_modeType },\n ]);\n\n textToSend = newLine(textToSend);\n if (!keyboard) {\n _this.log.debug('No Keyboard');\n _this.sendTo(\n instance,\n 'send',\n {\n text: textToSend,\n chatId: chatId,\n parse_mode: parse_modeType,\n },\n function (res: any) {\n _this.log.debug(`Sent Value to ${JSON.stringify(res)} users!`);\n },\n );\n } else {\n const text = await checkStatusInfo(textToSend);\n _this.sendTo(\n instance,\n 'send',\n {\n chatId: chatId,\n parse_mode: parse_modeType,\n text: text,\n reply_markup: {\n keyboard: keyboard,\n resize_keyboard: resize_keyboard,\n one_time_keyboard: one_time_keyboard,\n },\n },\n function (res: any) {\n debug([{ text: `Sent Value to ${res} users!` }]);\n },\n );\n }\n } catch (e: any) {\n error([\n { text: 'Error sendToTelegram:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nfunction sendToTelegramSubmenu(\n user: string,\n textToSend: string,\n keyboard: Keyboard,\n instance = 'telegram.0',\n userListWithChatID: UserListWithChatId[],\n parse_mode: BooleanString,\n): void {\n const _this = TelegramMenu.getInstance();\n const parseModeType = getParseMode(parse_mode);\n debug([{ text: 'Send this ParseMode:', val: parseModeType }]);\n try {\n const chatId = getChatID(userListWithChatID, user);\n textToSend = newLine(textToSend);\n _this.sendTo(instance, 'send', {\n chatId: chatId,\n parse_mode: parseModeType,\n text: textToSend,\n reply_markup: keyboard,\n });\n } catch (e: any) {\n error([\n { text: 'Error sendToTelegramSubmenu:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n}\n\nconst sendLocationToTelegram = async (\n user: string,\n data: Location[],\n instance: string,\n userListWithChatID: UserListWithChatId[],\n): Promise<void> => {\n const _this = TelegramMenu.getInstance();\n try {\n const chatId = getChatID(userListWithChatID, user);\n for (const element of data) {\n if (!(element.latitude || element.longitude)) {\n continue;\n }\n\n const latitude = await _this.getForeignStateAsync(element.latitude);\n const longitude = await _this.getForeignStateAsync(element.longitude);\n if (!latitude || !longitude) {\n continue;\n }\n _this.sendTo(instance, {\n chatId: chatId,\n latitude: latitude.val,\n longitude: longitude.val,\n disable_notification: true,\n });\n }\n } catch (e: any) {\n error([\n { text: 'Error sendLocationToTelegram:', val: e.message },\n { text: 'Stack:', val: e.stack },\n ]);\n }\n};\n\nfunction getParseMode(val: BooleanString | boolean): ParseModeType {\n if (isTruthy(val)) {\n return 'HTML';\n }\n return 'Markdown';\n}\n\nexport { sendToTelegram, sendToTelegramSubmenu, sendLocationToTelegram };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["TelegramMenu"]
|
|
7
7
|
}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var time_exports = {};
|
|
20
|
+
__export(time_exports, {
|
|
21
|
+
extractTimeValues: () => extractTimeValues,
|
|
22
|
+
getTimeWithPad: () => getTimeWithPad,
|
|
23
|
+
integrateTimeIntoText: () => integrateTimeIntoText,
|
|
24
|
+
toLocaleDate: () => toLocaleDate
|
|
25
|
+
});
|
|
26
|
+
module.exports = __toCommonJS(time_exports);
|
|
27
|
+
var import_config = require("../config/config");
|
|
28
|
+
var import_string = require("./string");
|
|
29
|
+
const toLocaleDate = (ts, options) => {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
return ts.toLocaleDateString((_a = options == null ? void 0 : options.locale) != null ? _a : import_config.defaultLocale, {
|
|
32
|
+
hour: "2-digit",
|
|
33
|
+
minute: "2-digit",
|
|
34
|
+
second: "2-digit",
|
|
35
|
+
hour12: false,
|
|
36
|
+
timeZone: (_b = options == null ? void 0 : options.tz) != null ? _b : import_config.timezone
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
const integrateTimeIntoText = (text, val) => {
|
|
40
|
+
if (!val) {
|
|
41
|
+
return text.replace(import_config.config.time, '"Invalid Date"');
|
|
42
|
+
}
|
|
43
|
+
const date = new Date(Number(String(val)));
|
|
44
|
+
return text.replace(import_config.config.time, isNaN(date.getTime()) ? '"Invalid Date"' : toLocaleDate(date));
|
|
45
|
+
};
|
|
46
|
+
function extractTimeValues(tsInMs) {
|
|
47
|
+
var _a;
|
|
48
|
+
if (isNaN(tsInMs) || tsInMs < 0) {
|
|
49
|
+
return { milliseconds: NaN, seconds: NaN, minutes: NaN, hours: NaN, day: NaN, month: NaN, year: NaN };
|
|
50
|
+
}
|
|
51
|
+
const date = new Date(tsInMs);
|
|
52
|
+
const milliseconds = date.getMilliseconds();
|
|
53
|
+
const seconds = date.getSeconds();
|
|
54
|
+
const minutes = date.getMinutes();
|
|
55
|
+
const hours = Number(
|
|
56
|
+
(_a = new Intl.DateTimeFormat(import_config.defaultLocale, {
|
|
57
|
+
hour: "2-digit",
|
|
58
|
+
hour12: false,
|
|
59
|
+
timeZone: import_config.timezone
|
|
60
|
+
}).formatToParts(new Date(tsInMs)).find((part) => part.type === "hour")) == null ? void 0 : _a.value
|
|
61
|
+
);
|
|
62
|
+
const day = Number(date.toLocaleString(import_config.defaultLocale, { day: "2-digit" }));
|
|
63
|
+
const month = Number(date.toLocaleString(import_config.defaultLocale, { month: "2-digit" }));
|
|
64
|
+
const year = Number(date.toLocaleString(import_config.defaultLocale, { year: "numeric" }));
|
|
65
|
+
return { milliseconds, seconds, minutes, hours, day, month, year };
|
|
66
|
+
}
|
|
67
|
+
function getTimeWithPad({
|
|
68
|
+
milliseconds,
|
|
69
|
+
seconds,
|
|
70
|
+
day,
|
|
71
|
+
minutes,
|
|
72
|
+
year,
|
|
73
|
+
month,
|
|
74
|
+
hours
|
|
75
|
+
}) {
|
|
76
|
+
return {
|
|
77
|
+
ms: (0, import_string.pad)(milliseconds, 3),
|
|
78
|
+
s: (0, import_string.pad)(seconds),
|
|
79
|
+
m: (0, import_string.pad)(minutes),
|
|
80
|
+
h: (0, import_string.pad)(hours),
|
|
81
|
+
d: (0, import_string.pad)(day),
|
|
82
|
+
mo: (0, import_string.pad)(month),
|
|
83
|
+
y: year.toString()
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
87
|
+
0 && (module.exports = {
|
|
88
|
+
extractTimeValues,
|
|
89
|
+
getTimeWithPad,
|
|
90
|
+
integrateTimeIntoText,
|
|
91
|
+
toLocaleDate
|
|
92
|
+
});
|
|
93
|
+
//# sourceMappingURL=time.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/lib/time.ts"],
|
|
4
|
+
"sourcesContent": ["import { config, defaultLocale, timezone } from '../config/config';\nimport type { ExtractTimeValues, GetTimeWithPad } from '../types/types';\nimport { pad } from './string';\n\nexport const toLocaleDate = (ts: Date, options?: { locale?: string; tz?: string }): string => {\n return ts.toLocaleDateString(options?.locale ?? defaultLocale, {\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: false,\n timeZone: options?.tz ?? timezone,\n });\n};\n\nexport const integrateTimeIntoText = (text: string, val?: ioBroker.StateValue): string => {\n if (!val) {\n return text.replace(config.time, '\"Invalid Date\"');\n }\n const date = new Date(Number(String(val)));\n\n return text.replace(config.time, isNaN(date.getTime()) ? '\"Invalid Date\"' : toLocaleDate(date));\n};\n\nexport function extractTimeValues(tsInMs: number): ExtractTimeValues {\n if (isNaN(tsInMs) || tsInMs < 0) {\n return { milliseconds: NaN, seconds: NaN, minutes: NaN, hours: NaN, day: NaN, month: NaN, year: NaN };\n }\n const date = new Date(tsInMs); //https://it-tools.tech/date-converter\n const milliseconds = date.getMilliseconds();\n const seconds = date.getSeconds();\n const minutes = date.getMinutes();\n const hours = Number(\n new Intl.DateTimeFormat(defaultLocale, {\n hour: '2-digit',\n hour12: false,\n timeZone: timezone,\n })\n .formatToParts(new Date(tsInMs))\n .find(part => part.type === 'hour')?.value,\n );\n const day = Number(date.toLocaleString(defaultLocale, { day: '2-digit' }));\n const month = Number(date.toLocaleString(defaultLocale, { month: '2-digit' }));\n const year = Number(date.toLocaleString(defaultLocale, { year: 'numeric' }));\n return { milliseconds, seconds, minutes, hours, day, month, year };\n}\n\nexport function getTimeWithPad({\n milliseconds,\n seconds,\n day,\n minutes,\n year,\n month,\n hours,\n}: ExtractTimeValues): GetTimeWithPad {\n return {\n ms: pad(milliseconds, 3),\n s: pad(seconds),\n m: pad(minutes),\n h: pad(hours),\n d: pad(day),\n mo: pad(month),\n y: year.toString(),\n };\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAgD;AAEhD,oBAAoB;AAEb,MAAM,eAAe,CAAC,IAAU,YAAuD;AAJ9F;AAKI,SAAO,GAAG,oBAAmB,wCAAS,WAAT,YAAmB,6BAAe;AAAA,IAC3D,MAAM;AAAA,IACN,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,QAAQ;AAAA,IACR,WAAU,wCAAS,OAAT,YAAe;AAAA,EAC7B,CAAC;AACL;AAEO,MAAM,wBAAwB,CAAC,MAAc,QAAsC;AACtF,MAAI,CAAC,KAAK;AACN,WAAO,KAAK,QAAQ,qBAAO,MAAM,gBAAgB;AAAA,EACrD;AACA,QAAM,OAAO,IAAI,KAAK,OAAO,OAAO,GAAG,CAAC,CAAC;AAEzC,SAAO,KAAK,QAAQ,qBAAO,MAAM,MAAM,KAAK,QAAQ,CAAC,IAAI,mBAAmB,aAAa,IAAI,CAAC;AAClG;AAEO,SAAS,kBAAkB,QAAmC;AAvBrE;AAwBI,MAAI,MAAM,MAAM,KAAK,SAAS,GAAG;AAC7B,WAAO,EAAE,cAAc,KAAK,SAAS,KAAK,SAAS,KAAK,OAAO,KAAK,KAAK,KAAK,OAAO,KAAK,MAAM,IAAI;AAAA,EACxG;AACA,QAAM,OAAO,IAAI,KAAK,MAAM;AAC5B,QAAM,eAAe,KAAK,gBAAgB;AAC1C,QAAM,UAAU,KAAK,WAAW;AAChC,QAAM,UAAU,KAAK,WAAW;AAChC,QAAM,QAAQ;AAAA,KACV,SAAI,KAAK,eAAe,6BAAe;AAAA,MACnC,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,IACd,CAAC,EACI,cAAc,IAAI,KAAK,MAAM,CAAC,EAC9B,KAAK,UAAQ,KAAK,SAAS,MAAM,MANtC,mBAMyC;AAAA,EAC7C;AACA,QAAM,MAAM,OAAO,KAAK,eAAe,6BAAe,EAAE,KAAK,UAAU,CAAC,CAAC;AACzE,QAAM,QAAQ,OAAO,KAAK,eAAe,6BAAe,EAAE,OAAO,UAAU,CAAC,CAAC;AAC7E,QAAM,OAAO,OAAO,KAAK,eAAe,6BAAe,EAAE,MAAM,UAAU,CAAC,CAAC;AAC3E,SAAO,EAAE,cAAc,SAAS,SAAS,OAAO,KAAK,OAAO,KAAK;AACrE;AAEO,SAAS,eAAe;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAAsC;AAClC,SAAO;AAAA,IACH,QAAI,mBAAI,cAAc,CAAC;AAAA,IACvB,OAAG,mBAAI,OAAO;AAAA,IACd,OAAG,mBAAI,OAAO;AAAA,IACd,OAAG,mBAAI,KAAK;AAAA,IACZ,OAAG,mBAAI,GAAG;AAAA,IACV,QAAI,mBAAI,KAAK;AAAA,IACb,GAAG,KAAK,SAAS;AAAA,EACrB;AACJ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/build/lib/utilities.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __create = Object.create;
|
|
3
2
|
var __defProp = Object.defineProperty;
|
|
4
3
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
4
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
7
5
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
6
|
var __export = (target, all) => {
|
|
9
7
|
for (var name in all)
|
|
@@ -17,322 +15,128 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
-
mod
|
|
27
|
-
));
|
|
28
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
19
|
var utilities_exports = {};
|
|
30
20
|
__export(utilities_exports, {
|
|
31
|
-
|
|
21
|
+
checkStatus: () => checkStatus,
|
|
32
22
|
checkStatusInfo: () => checkStatusInfo,
|
|
33
|
-
checkTypeOfId: () => checkTypeOfId,
|
|
34
|
-
decomposeText: () => decomposeText,
|
|
35
|
-
getChatID: () => getChatID,
|
|
36
|
-
newLine: () => newLine,
|
|
37
23
|
processTimeIdLc: () => processTimeIdLc,
|
|
38
|
-
|
|
39
|
-
replaceAll: () => import_global.replaceAll
|
|
24
|
+
transformValueToTypeOfId: () => transformValueToTypeOfId
|
|
40
25
|
});
|
|
41
26
|
module.exports = __toCommonJS(utilities_exports);
|
|
42
|
-
var
|
|
43
|
-
var
|
|
44
|
-
var import_logging = require("
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
if (isNaN(time.getTime())) {
|
|
52
|
-
(0, import_logging.error)([{ text: "Invalid Date:", val: date }]);
|
|
53
|
-
return textToSend;
|
|
54
|
-
}
|
|
55
|
-
const timeString = time.toLocaleDateString("de-DE", {
|
|
56
|
-
hour: "2-digit",
|
|
57
|
-
minute: "2-digit",
|
|
58
|
-
second: "2-digit",
|
|
59
|
-
hour12: false
|
|
60
|
-
});
|
|
61
|
-
return textToSend.replace("{time}", timeString);
|
|
62
|
-
};
|
|
63
|
-
const getChatID = (userListWithChatID, user) => {
|
|
64
|
-
let chatId = "";
|
|
65
|
-
userListWithChatID.forEach((element) => {
|
|
66
|
-
if (element.name === user) {
|
|
67
|
-
chatId = element.chatID;
|
|
68
|
-
}
|
|
69
|
-
});
|
|
70
|
-
return chatId;
|
|
71
|
-
};
|
|
72
|
-
const exchangeValue = (textToSend, stateVal) => {
|
|
73
|
-
const { startindex, endindex } = decomposeText(textToSend, "change{", "}");
|
|
74
|
-
let match = textToSend.substring(startindex + "change".length + 1, textToSend.indexOf("}", startindex));
|
|
75
|
-
let objChangeValue;
|
|
76
|
-
match = match.replace(/'/g, '"');
|
|
77
|
-
if ((0, import_global.isJSON)(`{${match}}`)) {
|
|
78
|
-
objChangeValue = JSON.parse(`{${match}}`);
|
|
79
|
-
} else {
|
|
80
|
-
(0, import_logging.error)([{ text: `There is a error in your input:`, val: (0, import_global.replaceAll)(match, '"', "'") }]);
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
let newValue;
|
|
84
|
-
objChangeValue[String(stateVal)] ? newValue = objChangeValue[String(stateVal)] : newValue = stateVal;
|
|
85
|
-
return {
|
|
86
|
-
valueChange: newValue,
|
|
87
|
-
textToSend: textToSend.substring(0, startindex) + textToSend.substring(endindex + 1)
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
function decomposeText(text, searchValue, secondValue) {
|
|
91
|
-
const startindex = text.indexOf(searchValue);
|
|
92
|
-
const endindex = text.indexOf(secondValue, startindex);
|
|
93
|
-
const substring = text.substring(startindex, endindex + secondValue.length);
|
|
94
|
-
const textWithoutSubstring = text.replace(substring, "").trim();
|
|
95
|
-
return {
|
|
96
|
-
startindex,
|
|
97
|
-
endindex,
|
|
98
|
-
substring,
|
|
99
|
-
textWithoutSubstring
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
function changeValue(textToSend, val) {
|
|
103
|
-
if (textToSend.includes("change{")) {
|
|
104
|
-
const result = exchangeValue(textToSend, val);
|
|
105
|
-
if (!result) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
if (typeof result === "boolean") {
|
|
109
|
-
return;
|
|
110
|
-
}
|
|
111
|
-
return { textToSend: result.textToSend, val: result.valueChange };
|
|
112
|
-
}
|
|
113
|
-
}
|
|
27
|
+
var import_utils = require("./utils");
|
|
28
|
+
var import_string = require("./string");
|
|
29
|
+
var import_logging = require("../app/logging");
|
|
30
|
+
var import_time = require("./time");
|
|
31
|
+
var import_main = require("../main");
|
|
32
|
+
var import_config = require("../config/config");
|
|
33
|
+
var import_appUtils = require("./appUtils");
|
|
34
|
+
var import_setstate = require("../app/setstate");
|
|
35
|
+
var import_splitValues = require("./splitValues");
|
|
114
36
|
const processTimeIdLc = async (textToSend, id) => {
|
|
115
|
-
const
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if (
|
|
122
|
-
|
|
123
|
-
} else if (array[0].includes("ts")) {
|
|
124
|
-
key = "ts";
|
|
37
|
+
const { substring, substringExcludeSearch } = (0, import_string.decomposeText)(
|
|
38
|
+
textToSend,
|
|
39
|
+
import_config.config.timestamp.start,
|
|
40
|
+
import_config.config.timestamp.end
|
|
41
|
+
);
|
|
42
|
+
const { typeofTimestamp, timeString, idString } = (0, import_splitValues.getProcessTimeValues)(substringExcludeSearch);
|
|
43
|
+
if (!id && (!idString || idString.length < 5)) {
|
|
44
|
+
return textToSend.replace(substring, "Invalid ID");
|
|
125
45
|
}
|
|
126
|
-
|
|
127
|
-
if (!
|
|
128
|
-
|
|
129
|
-
(0, import_logging.debug)([{ text: "Error processTimeIdLc: id not found in:", val: changedSubstring }]);
|
|
130
|
-
return;
|
|
131
|
-
}
|
|
132
|
-
if (array[2]) {
|
|
133
|
-
idFromText = array[2].replace("id:", "").replace("}", "").replace(/'/g, "");
|
|
134
|
-
changedSubstring = changedSubstring.replace(array[2], "").replace(/,/g, "");
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
if (!id && !idFromText) {
|
|
138
|
-
return;
|
|
46
|
+
const value = await import_main.adapter.getForeignStateAsync(id != null ? id : idString);
|
|
47
|
+
if (!value) {
|
|
48
|
+
return textToSend.replace(substring, "Invalid ID");
|
|
139
49
|
}
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
50
|
+
const timeStringUser = (0, import_string.replaceAllItems)(timeString, [",(", ")", "}"]);
|
|
51
|
+
const unixTs = value[typeofTimestamp];
|
|
52
|
+
const timeWithPad = (0, import_time.getTimeWithPad)((0, import_time.extractTimeValues)(unixTs));
|
|
53
|
+
const timeStringReplaced = (0, import_appUtils.timeStringReplacer)(timeWithPad, timeStringUser);
|
|
54
|
+
return timeStringReplaced != null ? timeStringReplaced : textToSend;
|
|
55
|
+
};
|
|
56
|
+
const checkStatus = async (text) => {
|
|
57
|
+
const { substring, substringExcludeSearch, textExcludeSubstring } = (0, import_string.decomposeText)(
|
|
58
|
+
text,
|
|
59
|
+
import_config.config.status.start,
|
|
60
|
+
import_config.config.status.end
|
|
61
|
+
);
|
|
62
|
+
const { id, shouldChange } = (0, import_appUtils.statusIdAndParams)(substringExcludeSearch);
|
|
63
|
+
const stateValue = await import_main.adapter.getForeignStateAsync(id);
|
|
64
|
+
if (!(0, import_utils.isDefined)(stateValue == null ? void 0 : stateValue.val)) {
|
|
65
|
+
import_main.adapter.log.debug(`State not found: ${id}`);
|
|
66
|
+
return text.replace(substring, "");
|
|
149
67
|
}
|
|
150
|
-
const
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
const minutes = timeObj.getMinutes();
|
|
154
|
-
const hours = timeObj.getHours();
|
|
155
|
-
const day = timeObj.getDate();
|
|
156
|
-
const month = timeObj.getMonth() + 1;
|
|
157
|
-
const year = timeObj.getFullYear();
|
|
158
|
-
const time = {
|
|
159
|
-
ms: milliseconds < 10 ? `00${milliseconds}` : milliseconds < 100 ? `0${milliseconds}` : milliseconds,
|
|
160
|
-
s: seconds < 10 ? `0${seconds}` : seconds,
|
|
161
|
-
m: minutes < 10 ? `0${minutes}` : minutes,
|
|
162
|
-
h: hours < 10 ? `0${hours}` : hours,
|
|
163
|
-
d: day < 10 ? `0${day}` : day,
|
|
164
|
-
mo: month < 10 ? `0${month}` : month,
|
|
165
|
-
y: year
|
|
166
|
-
};
|
|
167
|
-
if (timeStringUser) {
|
|
168
|
-
if (timeStringUser.includes("sss")) {
|
|
169
|
-
timeStringUser = timeStringUser.replace("sss", time.ms.toString());
|
|
170
|
-
}
|
|
171
|
-
if (timeStringUser.includes("ss")) {
|
|
172
|
-
timeStringUser = timeStringUser.replace("ss", time.s.toString());
|
|
173
|
-
}
|
|
174
|
-
if (timeStringUser.includes("mm")) {
|
|
175
|
-
timeStringUser = timeStringUser.replace("mm", time.m.toString());
|
|
176
|
-
}
|
|
177
|
-
if (timeStringUser.includes("hh")) {
|
|
178
|
-
timeStringUser = timeStringUser.replace("hh", time.h.toString());
|
|
179
|
-
}
|
|
180
|
-
if (timeStringUser.includes("DD")) {
|
|
181
|
-
timeStringUser = timeStringUser.replace("DD", time.d.toString());
|
|
182
|
-
}
|
|
183
|
-
if (timeStringUser.includes("MM")) {
|
|
184
|
-
timeStringUser = timeStringUser.replace("MM", time.mo.toString());
|
|
185
|
-
}
|
|
186
|
-
if (timeStringUser.includes("YYYY")) {
|
|
187
|
-
timeStringUser = timeStringUser.replace("YYYY", time.y.toString());
|
|
188
|
-
}
|
|
189
|
-
if (timeStringUser.includes("YY")) {
|
|
190
|
-
timeStringUser = timeStringUser.replace("YY", time.y.toString().slice(-2));
|
|
191
|
-
}
|
|
192
|
-
timeStringUser = timeStringUser.replace("(", "").replace(")", "");
|
|
193
|
-
return textToSend.replace(substring, timeStringUser);
|
|
68
|
+
const stateValueString = String(stateValue.val);
|
|
69
|
+
if (text.includes(import_config.config.time)) {
|
|
70
|
+
return (0, import_time.integrateTimeIntoText)(textExcludeSubstring, stateValueString).replace(stateValueString, "");
|
|
194
71
|
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
const checkStatus = async (text, processTimeValue2) => {
|
|
198
|
-
try {
|
|
199
|
-
const _this = import_main.default.getInstance();
|
|
200
|
-
(0, import_logging.debug)([{ text: "CheckStatusInfo:", val: text }]);
|
|
201
|
-
const substring = decomposeText(text, "{status:", "}").substring;
|
|
202
|
-
let id, valueChange;
|
|
203
|
-
if (substring.includes("status:'id':")) {
|
|
204
|
-
id = substring.split(":")[2].replace("'}", "").replace(/'/g, "").replace(/}/g, "");
|
|
205
|
-
valueChange = substring.split(":")[3] ? substring.split(":")[3].replace("}", "") !== "false" : true;
|
|
206
|
-
} else {
|
|
207
|
-
id = substring.split(":")[1].replace("'}", "").replace(/'/g, "").replace(/}/g, "");
|
|
208
|
-
valueChange = substring.split(":")[2] ? substring.split(":")[2].replace("}", "") !== "false" : true;
|
|
209
|
-
}
|
|
210
|
-
const stateValue = await _this.getForeignStateAsync(id);
|
|
211
|
-
if (!stateValue) {
|
|
212
|
-
(0, import_logging.debug)([{ text: "Error getting Value from:", val: id }]);
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
if (text.includes("{time}") && processTimeValue2) {
|
|
216
|
-
text = text.replace(substring, "");
|
|
217
|
-
if (stateValue.val && typeof stateValue.val === "string") {
|
|
218
|
-
return processTimeValue2(text, stateValue).replace(stateValue.val, "");
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
if (stateValue.val === void 0 || stateValue.val === null) {
|
|
222
|
-
(0, import_logging.debug)([{ text: "Id", val: id }, { text: "Value is null or undefined!" }]);
|
|
223
|
-
return text.replace(substring, "");
|
|
224
|
-
}
|
|
225
|
-
if (!valueChange) {
|
|
226
|
-
return text.replace(substring, stateValue.val.toString());
|
|
227
|
-
}
|
|
228
|
-
const changedResult = changeValue(text, stateValue.val);
|
|
229
|
-
let newValue;
|
|
230
|
-
if (changedResult) {
|
|
231
|
-
text = changedResult.textToSend;
|
|
232
|
-
newValue = changedResult.val;
|
|
233
|
-
} else {
|
|
234
|
-
newValue = stateValue.val;
|
|
235
|
-
}
|
|
236
|
-
return text.replace(substring, newValue.toString());
|
|
237
|
-
} catch (e) {
|
|
238
|
-
(0, import_logging.error)([
|
|
239
|
-
{ text: "Error checkStatus:", val: e.message },
|
|
240
|
-
{ text: "Stack:", val: e.stack }
|
|
241
|
-
]);
|
|
72
|
+
if (!shouldChange) {
|
|
73
|
+
return text.replace(substring, stateValueString);
|
|
242
74
|
}
|
|
75
|
+
const { newValue: val, textToSend, error } = (0, import_string.getValueToExchange)(import_main.adapter, text, stateValue.val);
|
|
76
|
+
return (!error ? textToSend : text).replace(substring, !error ? val.toString() : stateValueString);
|
|
243
77
|
};
|
|
244
78
|
const checkStatusInfo = async (text) => {
|
|
245
|
-
|
|
79
|
+
if (!text) {
|
|
80
|
+
return "";
|
|
81
|
+
}
|
|
246
82
|
try {
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
if (text.includes("{status:")) {
|
|
252
|
-
while (text.includes("{status:")) {
|
|
253
|
-
const result = await checkStatus(text, processTimeValue);
|
|
254
|
-
text = result ? JSON.stringify(result) : "";
|
|
83
|
+
import_main.adapter.log.debug(`Check status Info: ${text}`);
|
|
84
|
+
if (text.includes(import_config.config.status.start)) {
|
|
85
|
+
while (text.includes(import_config.config.status.start)) {
|
|
86
|
+
text = await checkStatus(text);
|
|
255
87
|
}
|
|
256
88
|
}
|
|
257
|
-
if (text.includes(
|
|
258
|
-
text = await processTimeIdLc(text
|
|
259
|
-
}
|
|
260
|
-
if (text.includes(
|
|
261
|
-
const
|
|
262
|
-
const id =
|
|
263
|
-
const importedValue =
|
|
264
|
-
text =
|
|
265
|
-
const convertedValue = await
|
|
266
|
-
const ack =
|
|
267
|
-
if (
|
|
89
|
+
if (text.includes(import_config.config.timestamp.lc) || text.includes(import_config.config.timestamp.ts)) {
|
|
90
|
+
text = await processTimeIdLc(text);
|
|
91
|
+
}
|
|
92
|
+
if (text.includes(import_config.config.set.start)) {
|
|
93
|
+
const { substring, textExcludeSubstring } = (0, import_string.decomposeText)(text, import_config.config.set.start, import_config.config.set.end);
|
|
94
|
+
const id = substring.split(",")[0].replace("{set:'id':", "").replace(/'/g, "");
|
|
95
|
+
const importedValue = substring.split(",")[1];
|
|
96
|
+
text = textExcludeSubstring;
|
|
97
|
+
const convertedValue = await transformValueToTypeOfId(id, importedValue);
|
|
98
|
+
const ack = substring.split(",")[2].replace("}", "") == "true";
|
|
99
|
+
if ((0, import_string.isEmptyString)(text)) {
|
|
268
100
|
text = "W\xE4hle eine Aktion";
|
|
269
101
|
}
|
|
270
102
|
if (convertedValue) {
|
|
271
|
-
await
|
|
103
|
+
await (0, import_setstate.setstateIobroker)({ id, value: convertedValue, ack });
|
|
272
104
|
}
|
|
273
105
|
}
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
}
|
|
106
|
+
import_main.adapter.log.debug(`CheckStatusInfo: ${text}`);
|
|
107
|
+
return text;
|
|
277
108
|
} catch (e) {
|
|
278
|
-
(0, import_logging.
|
|
279
|
-
|
|
280
|
-
{ text: "Stack:", val: e.stack }
|
|
281
|
-
]);
|
|
109
|
+
(0, import_logging.errorLogger)("Error checkStatusInfo:", e, import_main.adapter);
|
|
110
|
+
return "";
|
|
282
111
|
}
|
|
283
112
|
};
|
|
284
|
-
async function
|
|
285
|
-
const _this = import_main.default.getInstance();
|
|
113
|
+
async function transformValueToTypeOfId(id, value) {
|
|
286
114
|
try {
|
|
287
|
-
(0, import_logging.debug)([{ text: `Check Type of Id: ${id}` }]);
|
|
288
|
-
const obj = await _this.getForeignObjectAsync(id);
|
|
289
115
|
const receivedType = typeof value;
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
}
|
|
293
|
-
if (receivedType === obj.common.type || !obj.common.type) {
|
|
294
|
-
return value;
|
|
295
|
-
}
|
|
296
|
-
(0, import_logging.debug)([{ text: `Change Value type from "${receivedType}" to "${obj.common.type}"` }]);
|
|
297
|
-
if (obj.common.type === "boolean") {
|
|
298
|
-
if (value == "true") {
|
|
299
|
-
value = true;
|
|
300
|
-
}
|
|
301
|
-
if (value == "false") {
|
|
302
|
-
value = false;
|
|
303
|
-
}
|
|
116
|
+
const obj = await import_main.adapter.getForeignObjectAsync(id);
|
|
117
|
+
if (!obj || !(0, import_utils.isDefined)(value) || (0, import_appUtils.isNoTypeDefined)(receivedType, obj)) {
|
|
304
118
|
return value;
|
|
305
119
|
}
|
|
306
|
-
|
|
307
|
-
|
|
120
|
+
import_main.adapter.log.debug(`Change Value type from "${receivedType}" to "${obj.common.type}"`);
|
|
121
|
+
switch (obj.common.type) {
|
|
122
|
+
case "string":
|
|
123
|
+
return String(value);
|
|
124
|
+
case "number":
|
|
125
|
+
return typeof value === "string" ? parseFloat(value) : parseFloat((0, import_string.jsonString)(value));
|
|
126
|
+
case "boolean":
|
|
127
|
+
return (0, import_utils.isTruthy)(value);
|
|
128
|
+
default:
|
|
129
|
+
return value;
|
|
308
130
|
}
|
|
309
|
-
if (obj && obj.common && obj.common.type === "number" && typeof value === "string") {
|
|
310
|
-
return parseFloat(value);
|
|
311
|
-
}
|
|
312
|
-
return value;
|
|
313
131
|
} catch (e) {
|
|
314
|
-
(0, import_logging.
|
|
315
|
-
{ text: "Error checkTypeOfId:", val: e.message },
|
|
316
|
-
{ text: "Stack:", val: e.stack }
|
|
317
|
-
]);
|
|
132
|
+
(0, import_logging.errorLogger)("Error checkTypeOfId:", e, import_main.adapter);
|
|
318
133
|
}
|
|
319
134
|
}
|
|
320
|
-
const newLine = (text) => {
|
|
321
|
-
if ((0, import_global.isJSON)(text)) {
|
|
322
|
-
text = JSON.parse(text);
|
|
323
|
-
}
|
|
324
|
-
return text.replace(/""/g, '"').replace(/\\n/g, "\n");
|
|
325
|
-
};
|
|
326
135
|
// Annotate the CommonJS export names for ESM import in node:
|
|
327
136
|
0 && (module.exports = {
|
|
328
|
-
|
|
137
|
+
checkStatus,
|
|
329
138
|
checkStatusInfo,
|
|
330
|
-
checkTypeOfId,
|
|
331
|
-
decomposeText,
|
|
332
|
-
getChatID,
|
|
333
|
-
newLine,
|
|
334
139
|
processTimeIdLc,
|
|
335
|
-
|
|
336
|
-
replaceAll
|
|
140
|
+
transformValueToTypeOfId
|
|
337
141
|
});
|
|
338
142
|
//# sourceMappingURL=utilities.js.map
|