iobroker.javascript 9.0.7 → 9.0.9

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 (97) hide show
  1. package/README.md +4 -7
  2. package/admin/assets/OpenAiDialog-CDDsvlCe.js +36 -0
  3. package/admin/assets/{Save-DgI3b32B.js → Save-D3ZQadHC.js} +1 -1
  4. package/admin/assets/{ScriptEditor-CXV4FkqA.js → ScriptEditor-Ciz-_SvX.js} +1 -1
  5. package/admin/assets/{ScriptEditorVanillaMonaco-D-2WOvcn.js → ScriptEditorVanillaMonaco-Cs6PL8eZ.js} +1 -1
  6. package/admin/assets/createSvgIcon-BDXN8whp.js +30 -0
  7. package/admin/assets/hostInit-fzxL8JAx.js +1 -1
  8. package/admin/assets/index-BZGWELt0.js +930 -0
  9. package/admin/assets/index-BompUVvy.js +1 -0
  10. package/admin/assets/{index-Del0XJb9.js → index-BxkzUxCi.js} +1 -1
  11. package/admin/assets/index-DOeHpve2.js +193 -0
  12. package/admin/assets/{index-x0m5vR1T.js → index-DmpUKunr.js} +1 -1
  13. package/admin/assets/{index-C5V5CZI4.js → index-DsS-er0h.js} +1 -1
  14. package/admin/assets/{index-D_7ZHRw9.js → index-PhbDiVdG.js} +1 -1
  15. package/admin/assets/{index-DLBeMhRC.js → index-quKi7QsD.js} +80 -80
  16. package/admin/assets/inheritsLoose-BLb-YnoJ.js +36 -0
  17. package/admin/assets/{iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js → iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js} +1 -1
  18. package/admin/assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js +5 -0
  19. package/admin/assets/useTheme-BbFVG4-1.js +1 -0
  20. package/admin/custom/assets/Components-za_0yG9W.js +1 -0
  21. package/admin/custom/assets/ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-BHJt30My.js +1 -0
  22. package/admin/custom/assets/ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-WrqdT1Hz.js +1 -0
  23. package/admin/custom/assets/{ConfigCustomJavascriptSet__loadShare__react__loadShare__-CzzIM-HW.js → ConfigCustomJavascriptSet__loadShare__react__loadShare__-B_YWmFeG.js} +1 -1
  24. package/admin/custom/assets/{ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-DibxNPKw.js → ConfigCustomJavascriptSet__loadShare__react_mf_2_dom__loadShare__-DYzjQQsF.js} +1 -1
  25. package/admin/custom/assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-Cib3-eWa.js +5 -0
  26. package/admin/custom/assets/DefaultPropsProvider-B41fRCEO.js +1 -0
  27. package/admin/custom/assets/DefaultPropsProvider-CfXkmG16.js +7 -0
  28. package/admin/custom/assets/FilledInput-BGGUNS4j.js +2 -0
  29. package/admin/custom/assets/Tabs-DjdFNknI.js +138 -0
  30. package/admin/custom/assets/ThemeProvider-Uan4kCQd.js +29 -0
  31. package/admin/custom/assets/{createSvgIcon-BQThUM-f.js → createSvgIcon-BxCMHFh5.js} +1 -1
  32. package/admin/custom/assets/createTheme-Ajie0adn.js +16 -0
  33. package/admin/custom/assets/defaultTheme-C_aSR-NR.js +1 -0
  34. package/admin/custom/assets/hostInit-CrAs5YZS.js +1 -1
  35. package/admin/custom/assets/index-7YkEnLQM.js +1 -0
  36. package/admin/custom/assets/index-B2rBO0oC.js +1 -0
  37. package/admin/custom/assets/{index-B8sZ2j0S.js → index-BkKMt4bp.js} +1 -1
  38. package/admin/custom/assets/{index-CoMexdpH.js → index-Bw5ZKbIF.js} +59 -59
  39. package/admin/custom/assets/index-ClFSKKDu.js +7 -0
  40. package/admin/custom/assets/index-DOnIDI_a.js +1 -0
  41. package/admin/custom/assets/{index-DIWNdd4a.js → index-DXg_kRe6.js} +1 -1
  42. package/admin/custom/assets/index-FOcWxrRT.js +904 -0
  43. package/admin/custom/assets/index-UhQfKbTz.js +55 -0
  44. package/admin/custom/assets/{index-CWXHfC2L.js → index-bxilEzdP.js} +1 -1
  45. package/admin/custom/assets/{index-CUcoXT75.js → index-yiPj_-Rb.js} +1 -1
  46. package/admin/custom/assets/{jsx-runtime-o-xyxrOj.js → jsx-runtime-lE4rOet2.js} +1 -1
  47. package/admin/custom/assets/useEnhancedEffect-DSK35Rma.js +8 -0
  48. package/admin/custom/assets/useTheme-CpiJlUE9.js +1 -0
  49. package/admin/custom/assets/useTheme-DWmRkwMP.js +1 -0
  50. package/admin/custom/assets/virtualExposes-4pgHXHfp.js +2 -0
  51. package/admin/custom/customComponents.js +2 -2
  52. package/admin/google-blockly/own/blocks_action.js +12 -2
  53. package/admin/google-blockly/own/blocks_convert.js +17 -3
  54. package/admin/google-blockly/own/blocks_logic.js +48 -15
  55. package/admin/google-blockly/own/blocks_object.js +20 -7
  56. package/admin/google-blockly/own/blocks_sendto.js +48 -11
  57. package/admin/google-blockly/own/blocks_switch.js +18 -8
  58. package/admin/google-blockly/own/blocks_system.js +33 -6
  59. package/admin/google-blockly/own/blocks_text.js +43 -0
  60. package/admin/google-blockly/own/blocks_time.js +33 -6
  61. package/admin/google-blockly/own/blocks_trigger.js +60 -22
  62. package/admin/google-blockly/own/blocks_words.js +4 -0
  63. package/admin/i18n/pl.json +60 -60
  64. package/admin/mf-manifest.json +1 -1
  65. package/admin/remoteEntry.js +2 -2
  66. package/admin/tab.html +19 -6
  67. package/io-package.json +14 -14
  68. package/package.json +2 -2
  69. package/admin/assets/OpenAiDialog-CVjeP8wR.js +0 -34
  70. package/admin/assets/createSvgIcon-Dtl7HhPO.js +0 -30
  71. package/admin/assets/index-BwNmFzfy.js +0 -193
  72. package/admin/assets/index-C8bcOa64.js +0 -930
  73. package/admin/assets/index-Dm1jc4t6.js +0 -1
  74. package/admin/assets/inheritsLoose-C9MZGDit.js +0 -36
  75. package/admin/assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js +0 -10
  76. package/admin/assets/useTheme-g_P2Itm2.js +0 -1
  77. package/admin/custom/assets/Components-D9kRsHNY.js +0 -1
  78. package/admin/custom/assets/ConfigCustomJavascriptSet__loadShare___mf_0_iobroker_mf_1_adapter_mf_2_react_mf_2_v5__loadShare__-DAwHgdl6.js +0 -1
  79. package/admin/custom/assets/ConfigCustomJavascriptSet__loadShare___mf_0_mui_mf_1_material__loadShare__-BlV79j8y.js +0 -1
  80. package/admin/custom/assets/ConfigCustomJavascriptSet__mf_v__runtimeInit__mf_v__-BaLGCXMi.js +0 -10
  81. package/admin/custom/assets/DefaultPropsProvider-9qubdy-V.js +0 -7
  82. package/admin/custom/assets/DefaultPropsProvider-DbEA5uR6.js +0 -1
  83. package/admin/custom/assets/FilledInput-BpuM_GyB.js +0 -2
  84. package/admin/custom/assets/Tabs-CvEv0KOT.js +0 -138
  85. package/admin/custom/assets/ThemeProvider-DZTpMR8n.js +0 -29
  86. package/admin/custom/assets/createTheme-BwMO3rTt.js +0 -16
  87. package/admin/custom/assets/defaultTheme-avbtL0lf.js +0 -1
  88. package/admin/custom/assets/index-B6ima1M5.js +0 -904
  89. package/admin/custom/assets/index-B7G6Jpdl.js +0 -1
  90. package/admin/custom/assets/index-BzS6q3oS.js +0 -55
  91. package/admin/custom/assets/index-CttBOMyq.js +0 -1
  92. package/admin/custom/assets/index-Dbe-II7_.js +0 -7
  93. package/admin/custom/assets/useEnhancedEffect-CdLBzwyA.js +0 -8
  94. package/admin/custom/assets/useTheme-CDtRWagv.js +0 -1
  95. package/admin/custom/assets/useTheme-MELayQMj.js +0 -1
  96. package/admin/custom/assets/useThemeWithoutDefault-C-hl_s0Z.js +0 -1
  97. package/admin/custom/assets/virtualExposes-BMKIjWrE.js +0 -2
@@ -85,11 +85,20 @@ Blockly.Blocks['time_compare_ex'] = {
85
85
  isBetween = this.getFieldValue('OPTION') === 'between' || this.getFieldValue('OPTION') === 'not between';
86
86
  }
87
87
  // Add or remove a delay Input.
88
- let inputExists = this.getInput('END_TIME');
88
+ let inputExists;
89
+ try {
90
+ inputExists = this.getInput('END_TIME');
91
+ } catch (e) {
92
+ inputExists = null;
93
+ }
89
94
 
90
95
  if (isBetween) {
91
96
  if (!inputExists) {
92
- inputExists = this.getInput('CUSTOM_TIME');
97
+ try {
98
+ inputExists = this.getInput('CUSTOM_TIME');
99
+ } catch (e) {
100
+ inputExists = null;
101
+ }
93
102
 
94
103
  if (inputExists) {
95
104
  this.removeInput('CUSTOM_TIME');
@@ -130,7 +139,11 @@ Blockly.Blocks['time_compare_ex'] = {
130
139
  }
131
140
 
132
141
  useActualTime = useActualTime === 'true' || useActualTime === 'TRUE' || useActualTime === true;
133
- inputExists = this.getInput('CUSTOM_TIME');
142
+ try {
143
+ inputExists = this.getInput('CUSTOM_TIME');
144
+ } catch (e) {
145
+ inputExists = null;
146
+ }
134
147
 
135
148
  if (!useActualTime) {
136
149
  this.getInput('TIME_TEXT').fieldRow[0].setValue(Blockly.Translate('time_compare_custom_ex'));
@@ -224,7 +237,12 @@ Blockly.Blocks['time_compare'] = {
224
237
  },
225
238
  updateShape_: function (isBetween) {
226
239
  // Add or remove a delay Input.
227
- const inputExists = this.getInput('END_TIME');
240
+ let inputExists;
241
+ try {
242
+ inputExists = this.getInput('END_TIME');
243
+ } catch (e) {
244
+ inputExists = null;
245
+ }
228
246
 
229
247
  if (isBetween) {
230
248
  if (!inputExists) {
@@ -347,7 +365,12 @@ Blockly.Blocks['time_get'] = {
347
365
  },
348
366
  updateShape_: function (isFormat, isLanguage) {
349
367
  // Add or remove a delay Input.
350
- let inputExists = this.getInput('FORMAT');
368
+ let inputExists;
369
+ try {
370
+ inputExists = this.getInput('FORMAT');
371
+ } catch (e) {
372
+ inputExists = null;
373
+ }
351
374
 
352
375
  if (isFormat) {
353
376
  if (!inputExists) {
@@ -359,7 +382,11 @@ Blockly.Blocks['time_get'] = {
359
382
  this.removeInput('FORMAT');
360
383
  }
361
384
 
362
- inputExists = this.getInput('LANGUAGE');
385
+ try {
386
+ inputExists = this.getInput('LANGUAGE');
387
+ } catch (e) {
388
+ inputExists = null;
389
+ }
363
390
 
364
391
  if (isLanguage) {
365
392
  if (!inputExists) {
@@ -140,9 +140,13 @@ Blockly.Blocks['on_ext'] = {
140
140
 
141
141
  // Disconnect any children that don't belong.
142
142
  for (let k = 0; k < this.itemCount_; k++) {
143
- const connection = this.getInput('OID' + k).connection.targetConnection;
144
- if (connection && connections.indexOf(connection) === -1) {
145
- connection.disconnect();
143
+ try {
144
+ const connection = this.getInput('OID' + k).connection.targetConnection;
145
+ if (connection && !connections.includes(connection)) {
146
+ connection.disconnect();
147
+ }
148
+ } catch (e) {
149
+ // Do nothing, input does not exist
146
150
  }
147
151
  }
148
152
 
@@ -167,11 +171,15 @@ Blockly.Blocks['on_ext'] = {
167
171
  let i = 0;
168
172
 
169
173
  while (itemBlock) {
170
- const input = this.getInput('OID' + i);
171
- itemBlock.valueConnection_ = input && input.connection.targetConnection;
174
+ let input;
175
+ try {
176
+ input = this.getInput('OID' + i);
177
+ } catch (e) {
178
+ input = null;
179
+ }
180
+ itemBlock.valueConnection_ = input?.connection.targetConnection;
172
181
  i++;
173
- itemBlock = itemBlock.nextConnection &&
174
- itemBlock.nextConnection.targetBlock();
182
+ itemBlock = itemBlock.nextConnection?.targetBlock();
175
183
  }
176
184
  },
177
185
  /**
@@ -181,15 +189,24 @@ Blockly.Blocks['on_ext'] = {
181
189
  */
182
190
  updateShape_: function () {
183
191
  let conditionValue = undefined;
184
- if (this.getInput('CONDITION')) {
185
- conditionValue = this.getFieldValue('CONDITION');
186
- this.removeInput('CONDITION');
192
+ try {
193
+ if (this.getInput('CONDITION')) {
194
+ conditionValue = this.getFieldValue('CONDITION');
195
+ this.removeInput('CONDITION');
196
+ }
197
+ } catch (e) {
198
+ // Do nothing, input does not exist
187
199
  }
188
200
 
201
+
189
202
  let conditionAckValue = undefined;
190
- if (this.getInput('ACK_CONDITION')) {
191
- conditionAckValue = this.getFieldValue('ACK_CONDITION');
192
- this.removeInput('ACK_CONDITION');
203
+ try {
204
+ if (this.getInput('ACK_CONDITION')) {
205
+ conditionAckValue = this.getFieldValue('ACK_CONDITION');
206
+ this.removeInput('ACK_CONDITION');
207
+ }
208
+ } catch (e) {
209
+ // Do nothing, input does not exist
193
210
  }
194
211
 
195
212
  let input;
@@ -206,7 +223,12 @@ Blockly.Blocks['on_ext'] = {
206
223
 
207
224
  let i;
208
225
  for (i = 0; i < this.itemCount_; i++) {
209
- let _input = this.getInput('OID' + i);
226
+ let _input;
227
+ try {
228
+ _input = this.getInput('OID' + i);
229
+ } catch (e) {
230
+ // Do nothing, input does not exist
231
+ }
210
232
  if (!_input) {
211
233
  _input = this.appendValueInput('OID' + i);
212
234
 
@@ -236,9 +258,13 @@ Blockly.Blocks['on_ext'] = {
236
258
  }
237
259
 
238
260
  // Remove deleted inputs.
239
- while (this.getInput('OID' + i)) {
240
- this.removeInput('OID' + i);
241
- i++;
261
+ try {
262
+ while (this.getInput('OID' + i)) {
263
+ this.removeInput('OID' + i);
264
+ i++;
265
+ }
266
+ } catch (e) {
267
+ // Do nothing, input does not exist
242
268
  }
243
269
 
244
270
  this.appendDummyInput('CONDITION')
@@ -1128,7 +1154,7 @@ Blockly.Blocks['cron_builder'] = {
1128
1154
  this.setTooltip(Blockly.Translate('field_cron_tooltip'));
1129
1155
  },
1130
1156
  /**
1131
- * Create XML to represent number of text inputs.
1157
+ * Create XML to represent the number of text inputs.
1132
1158
  * @return {!Element} XML storage element.
1133
1159
  * @this Blockly.Block
1134
1160
  */
@@ -1154,7 +1180,12 @@ Blockly.Blocks['cron_builder'] = {
1154
1180
  updateShape_: function (withSeconds) {
1155
1181
  this.seconds_ = withSeconds;
1156
1182
  // Add or remove a statement Input.
1157
- const inputExists = this.getInput('SECONDS');
1183
+ let inputExists;
1184
+ try {
1185
+ inputExists = this.getInput('SECONDS');
1186
+ } catch (e) {
1187
+ inputExists = null;
1188
+ }
1158
1189
 
1159
1190
  if (withSeconds) {
1160
1191
  if (!inputExists) {
@@ -1184,8 +1215,15 @@ Blockly.JavaScript.forBlock['cron_builder'] = function (block) {
1184
1215
  const vDays = Blockly.JavaScript.valueToCode(block, 'DAYS', Blockly.JavaScript.ORDER_ATOMIC);
1185
1216
  const vHours = Blockly.JavaScript.valueToCode(block, 'HOURS', Blockly.JavaScript.ORDER_ATOMIC);
1186
1217
  const vMinutes = Blockly.JavaScript.valueToCode(block, 'MINUTES', Blockly.JavaScript.ORDER_ATOMIC);
1187
- const vSeconds = Blockly.JavaScript.valueToCode(block, 'SECONDS', Blockly.JavaScript.ORDER_ATOMIC);
1188
1218
  const fWithSeconds = block.getFieldValue('WITH_SECONDS');
1219
+ let vSeconds = '0';
1220
+ if (fWithSeconds) {
1221
+ try {
1222
+ vSeconds = Blockly.JavaScript.valueToCode(block, 'SECONDS', Blockly.JavaScript.ORDER_ATOMIC);
1223
+ } catch (e) {
1224
+ // If no seconds input exists, we set it to an empty string
1225
+ }
1226
+ }
1189
1227
 
1190
1228
  const code =
1191
1229
  (fWithSeconds === 'TRUE' || fWithSeconds === 'true' || fWithSeconds === true ?
@@ -1410,7 +1448,7 @@ Blockly.JavaScript.forBlock['onFile'] = function (block) {
1410
1448
  objectName = objectName[systemLang] || objectName.en;
1411
1449
  }
1412
1450
  } catch (error) {
1413
-
1451
+
1414
1452
  }
1415
1453
 
1416
1454
  return `onFile(${vObjId}${objectName ? ` /* ${objectName} */` : ''}, ${vFile}, ${fWithFile === 'TRUE' ? 'true' : 'false'}, ` +
@@ -1543,7 +1581,7 @@ Blockly.JavaScript.forBlock['offFile'] = function (block) {
1543
1581
  objectName = objectName[systemLang] || objectName.en;
1544
1582
  }
1545
1583
  } catch (error) {
1546
-
1584
+
1547
1585
  }
1548
1586
 
1549
1587
  return `offFile(${vObjId}${objectName ? ` /* ${objectName} */` : ''}, ${vFile});\n`;
@@ -339,6 +339,10 @@ Blockly.Words['text_newline_tooltip'] = { en: 'Places new line in
339
339
  Blockly.Words['text_contains'] = { en: 'the text', de: 'der Text', ru: 'текст', pt: 'o texto', nl: 'de tekst', fr: 'le texte', it: 'il testo', es: 'el texto', pl: 'tekst', uk: 'текст', 'zh-cn': '文本' };
340
340
  Blockly.Words['text_contains_value'] = { en: 'contains value', de: 'enthält den Wert', ru: 'содержит значение', pt: 'contém valor', nl: 'bevat waarde', fr: 'contient la valeur', it: 'contiene valore', es: 'contiene valor', pl: 'zawiera wartość', uk: 'містить значення', 'zh-cn': '包含值' };
341
341
 
342
+ Blockly.Words['text_format_value'] = { en: 'value to text', de: 'Wert zu Text', ru: 'значение в текст', pt: 'valor em texto', nl: 'waarde voor tekst', fr: 'valeur/texte', it: 'valore a testo', es: 'valor al texto', pl: 'wartość do tekstu', uk: 'значення до тексту', 'zh-cn': '将值转换为文本' };
343
+ Blockly.Words['text_format_value_format'] = { en: 'with format', de: 'mit Format', ru: 'с форматом', pt: 'com formato', nl: 'met formaat', fr: 'avec format', it: 'in formato', es: 'con formato', pl: 'z formatem', uk: 'з форматом', 'zh-cn': '带格式' };
344
+ Blockly.Words['text_format_value_decimals'] = { en: 'decimal places', de: 'Dezimalstellen', ru: 'десятичные знаки', pt: 'casas decimais', nl: 'cijfers achter de komma', fr: 'décimales', it: 'cifre decimali', es: 'decimales', pl: 'miejsca po przecinku', uk: 'десяткові знаки', 'zh-cn': '小数位数' };
345
+
342
346
  // --- system math --------------------------------------------------
343
347
  Blockly.Words['math_rndfixed_round'] = { en: 'Round', de: 'Runde', ru: 'Раунд', pt: 'Arredondar', nl: 'Afronden', fr: 'Arrondir', it: 'Arrotondare', es: 'Redondea', pl: 'Round', uk: 'Круглий', 'zh-cn': '约' };
344
348
  Blockly.Words['math_rndfixed_to'] = { en: 'to', de: 'auf', ru: 'в', pt: 'para', nl: 'naar', fr: 'à', it: 'a', es: 'a', pl: 'to', uk: 'до', 'zh-cn': '至' };
@@ -1,61 +1,61 @@
1
1
  {
2
- "Activate syntax help for these npm modules": "Aktywuj pomoc dotyczącą składni dla tych modułów npm",
3
- "Add module": "Dodaj moduł",
4
- "Additional npm modules": "Additional npm modules",
5
- "Allow self-signed certificates for URL requests": "Zezwalaj na samopodpisane certyfikaty dla żądań URL",
6
- "And not later": "I nie później",
7
- "Astro settings": "Astro settings",
8
- "But not earlier": "Ale nie wcześniej",
9
- "Create states for all astro times": "Twórz stany dla wszystkich czasów astro",
10
- "Day time settings": "Ustawienia czasu dziennego",
11
- "Do not subscribe all states on start": "Do not subscribe all states on start",
12
- "Enable command \"exec\"": "Enable command \"exec\"",
13
- "Enable command \"sendToHost\"": "Enable command \"sendToHost\"",
14
- "Enable command \"setObject\"": "Enable command \"setObject\"",
15
- "Help": "Use form with 49.1245 and <b>not</b> 49°34'0\". Elsewise it will be converted automatically.",
16
- "Instance, that do mirroring": "Instancja, która wykonuje dublowanie",
17
- "Invalid format. Use A°B'C\"D": "Invalid format. Use A°B'C\"D",
18
- "Javascript scripts adapter settings": "Javascript scripts adapter settings",
19
- "Latitude °": "Latitude °",
20
- "Longitude °": "Longitude °",
21
- "Maximum setState requests per Minute per Script": "Maksymum setState żądań na minutę na skrypt",
22
- "Maximum triggers per Script (until warning)": "Maksymalna liczba wyzwalaczy na skrypt (do ostrzeżenia)",
23
- "Mirror scripts to file path": "Skopiuj skrypty do ścieżki pliku",
24
- "Module names": "Nazwy modułów",
25
- "Next sunrise": "Następny wschód słońca:",
26
- "Next sunset": "Następny zachód słońca:",
27
- "Offset": "Offsetowy",
28
- "Security relevant": "Security relevant",
29
- "Settings": "Ustawienia",
30
- "This path is not allowed for mirroring. Please change it.": "Ta ścieżka nie jest dozwolona do dublowania. Proszę to zmienić.",
31
- "Use system settings:": "Użyj ustawień systemu:",
32
- "Used as end of the daytime": "Używany jako koniec dnia",
33
- "Used as start of the daytime": "Używany jako początek dnia",
34
- "Your home": "Twój dom",
35
- "in minutes": "w minutach",
36
- "info_enableExec": "System security relevant",
37
- "info_enableSendToHost": "Security relevant",
38
- "info_enableSetObject": "Security relevant",
39
- "info_libraries": "Divided by comma",
40
- "sch_astro_dawn": "Świt",
41
- "sch_astro_dusk": "Zmierzch",
42
- "sch_astro_goldenHour": "złota godzina",
43
- "sch_astro_goldenHourEnd": "Koniec złotej godziny",
44
- "sch_astro_nadir": "Nadir",
45
- "sch_astro_nauticalDawn": "Morski świt",
46
- "sch_astro_nauticalDusk": "Morski zmierzch",
47
- "sch_astro_night": "Noc",
48
- "sch_astro_nightEnd": "Koniec nocy",
49
- "sch_astro_solarNoon": "Południe słoneczne",
50
- "sch_astro_sunrise": "wschód słońca",
51
- "sch_astro_sunriseEnd": "Koniec wschodu słońca",
52
- "sch_astro_sunset": "Zachód słońca",
53
- "sch_astro_sunsetStart": "Początek zachodu słońca",
54
- "tooltip_enableExec": "Allow calling of exec in scripts",
55
- "tooltip_enableSendToHost": "Allow to send messages to hosts in scripts",
56
- "tooltip_enableSetObject": "Allow changes of the system objects in scripts",
57
- "tooltip_latitude": "Latitude as 5.345 to use astro functions",
58
- "tooltip_libraries": "Additional NPM libraries divided by comma. You can access them with require('name') in scripts.",
59
- "tooltip_longitude": "Longitude as 5.345 to use astro functions",
60
- "tooltip_useSystemGPS": "Use coordinates from system settings"
61
- }
2
+ "Activate syntax help for these npm modules": "Aktywuj pomoc dotyczącą składni dla tych modułów npm",
3
+ "Add module": "Dodaj moduł NPM",
4
+ "Additional npm modules": "Dodatkowe moduły npm",
5
+ "Allow self-signed certificates for URL requests": "Zezwalaj na samopodpisane certyfikaty dla żądań URL",
6
+ "And not later": "I nie później",
7
+ "Astro settings": "Astro ustawienia",
8
+ "But not earlier": "Ale nie wcześniej",
9
+ "Create states for all astro times": "Twórz stany dla wszystkich czasów astro",
10
+ "Day time settings": "Ustawienia czasu dziennego",
11
+ "Do not subscribe all states on start": "Nie zapisuj wszystkich stanów na początku",
12
+ "Enable command \"exec\"": "Włącz polecenie \"exec\"",
13
+ "Enable command \"sendToHost\"": "Włącz polecenie \"sendToHost\"",
14
+ "Enable command \"setObject\"": "Włącz polecenie \"setObject\"",
15
+ "Help": "Użyj formy 49.1245, a <b>nie</b> 49°34'0\". W przeciwnym razie zostanie on automatycznie przekonwertowany.",
16
+ "Instance, that do mirroring": "Instancja, która wykonuje dublowanie",
17
+ "Invalid format. Use A°B'C\"D": "Nieprawidłowy format. Użyj A°B'C\"D",
18
+ "Javascript scripts adapter settings": "Ustawienia adaptera skryptów JavaScript",
19
+ "Latitude °": "Szerokość °",
20
+ "Longitude °": "Długość °",
21
+ "Maximum setState requests per Minute per Script": "Maksymalna liczba żądań setState na minutę na skrypt",
22
+ "Maximum triggers per Script (until warning)": "Maksymalna liczba wyzwalaczy na skrypt (do ostrzeżenia)",
23
+ "Mirror scripts to file path": "Skopiuj skrypty do ścieżki pliku",
24
+ "Module names": "Nazwy modułów NPM",
25
+ "Next sunrise": "Następny wschód słońca:",
26
+ "Next sunset": "Następny zachód słońca:",
27
+ "Offset": "Offset",
28
+ "Security relevant": "Istotne dla bezpieczeństwa",
29
+ "Settings": "Ustawienia",
30
+ "This path is not allowed for mirroring. Please change it.": "Ta ścieżka nie jest dozwolona do dublowania. Proszę to zmienić.",
31
+ "Use system settings:": "Użyj ustawień systemu:",
32
+ "Used as end of the daytime": "Używany jako koniec dnia",
33
+ "Used as start of the daytime": "Używany jako początek dnia",
34
+ "Your home": "Twój dom",
35
+ "in minutes": "w minutach",
36
+ "info_enableExec": "Istotne dla bezpieczeństwa systemu",
37
+ "info_enableSendToHost": "Istotne dla bezpieczeństwa",
38
+ "info_enableSetObject": "Istotne dla bezpieczeństwa",
39
+ "info_libraries": "Rozdzielone przecinkiem",
40
+ "sch_astro_dawn": "Świt",
41
+ "sch_astro_dusk": "Zmierzch",
42
+ "sch_astro_goldenHour": "Złota godzina",
43
+ "sch_astro_goldenHourEnd": "Koniec złotej godziny",
44
+ "sch_astro_nadir": "Północ",
45
+ "sch_astro_nauticalDawn": "Morski świt",
46
+ "sch_astro_nauticalDusk": "Morski zmierzch",
47
+ "sch_astro_night": "Noc",
48
+ "sch_astro_nightEnd": "Koniec nocy",
49
+ "sch_astro_solarNoon": "Południe słoneczne",
50
+ "sch_astro_sunrise": "Wschód słońca",
51
+ "sch_astro_sunriseEnd": "Koniec wschodu słońca",
52
+ "sch_astro_sunset": "Zachód słońca",
53
+ "sch_astro_sunsetStart": "Początek zachodu słońca",
54
+ "tooltip_enableExec": "Zezwól na wywoływanie exec w skryptach",
55
+ "tooltip_enableSendToHost": "Zezwól na wysyłanie wiadomości do hostów w skryptach",
56
+ "tooltip_enableSetObject": "Zezwól na zmiany obiektów systemowych w skryptach",
57
+ "tooltip_latitude": "Szerokość geograficzna 5.345 przy korzystaniu z funkcji astro",
58
+ "tooltip_libraries": "Dodatkowe biblioteki NPM rozdzielone przecinkiem. Dostęp do nich w skryptach można uzyskać za pomocą require('name')",
59
+ "tooltip_longitude": "Długość geograficzna 5.345 przy korzystaniu funkcji astro",
60
+ "tooltip_useSystemGPS": "Użyj współrzędnych z ustawień systemowych"
61
+ }
@@ -1 +1 @@
1
- {"id":"iobroker_javascript","name":"iobroker_javascript","metaData":{"name":"iobroker_javascript","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"iobroker_javascript"},"remoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"ssrRemoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"iobroker_javascript","pluginVersion":"0.2.5","publicPath":"./"},"shared":[{"id":"iobroker_javascript:@iobroker/adapter-react-v5","name":"@iobroker/adapter-react-v5","version":"7.7.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-C8bcOa64.js","assets/createSvgIcon-Dtl7HhPO.js","assets/iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js","assets/index-C5V5CZI4.js","assets/Save-DgI3b32B.js","assets/useTheme-g_P2Itm2.js","assets/index-Dm1jc4t6.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@mui/material","name":"@mui/material","version":"6.4.12","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-BwNmFzfy.js","assets/createSvgIcon-Dtl7HhPO.js","assets/iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js","assets/inheritsLoose-C9MZGDit.js","assets/useTheme-g_P2Itm2.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react-dom","name":"react-dom","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-x0m5vR1T.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react","name":"react","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Do-nCdWy.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:prop-types","name":"prop-types","version":"15.8.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DQiceR5U.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[]}
1
+ {"id":"iobroker_javascript","name":"iobroker_javascript","metaData":{"name":"iobroker_javascript","type":"app","buildInfo":{"buildVersion":"1.0.0","buildName":"iobroker_javascript"},"remoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"ssrRemoteEntry":{"name":"remoteEntry.js","path":"","type":"module"},"types":{"path":"","name":""},"globalName":"iobroker_javascript","pluginVersion":"0.2.5","publicPath":"./"},"shared":[{"id":"iobroker_javascript:@iobroker/adapter-react-v5","name":"@iobroker/adapter-react-v5","version":"7.7.2","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-BZGWELt0.js","assets/createSvgIcon-BDXN8whp.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","assets/index-DsS-er0h.js","assets/Save-D3ZQadHC.js","assets/useTheme-BbFVG4-1.js","assets/index-BompUVvy.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:@mui/material","name":"@mui/material","version":"6.5.0","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DOeHpve2.js","assets/createSvgIcon-BDXN8whp.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","assets/inheritsLoose-BLb-YnoJ.js","assets/useTheme-BbFVG4-1.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react-dom","name":"react-dom","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DmpUKunr.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:react","name":"react","version":"18.3.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-Do-nCdWy.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}},{"id":"iobroker_javascript:prop-types","name":"prop-types","version":"15.8.1","requiredVersion":"*","assets":{"js":{"async":[],"sync":["assets/index-DQiceR5U.js","assets/_commonjsHelpers-Cpj98o6Y.js"]},"css":{"async":[],"sync":[]}}}],"remotes":[],"exposes":[]}
@@ -1,2 +1,2 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-C8bcOa64.js","./assets/createSvgIcon-Dtl7HhPO.js","./assets/iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js","./assets/_commonjsHelpers-Cpj98o6Y.js","./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js","./assets/index-C5V5CZI4.js","./assets/Save-DgI3b32B.js","./assets/useTheme-g_P2Itm2.js","./assets/index-Dm1jc4t6.js","./assets/index-BwNmFzfy.js","./assets/inheritsLoose-C9MZGDit.js","./assets/index-x0m5vR1T.js","./assets/index-Do-nCdWy.js","./assets/index-DQiceR5U.js"])))=>i.map(i=>d[i]);
2
- import{i as d,a as m}from"./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js";import s from"./assets/virtualExposes-BIHI7g3E.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const i={"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-C8bcOa64.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-BwNmFzfy.js"),__vite__mapDeps([9,1,2,3,4,10,7]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-x0m5vR1T.js").then(t=>t.i),__vite__mapDeps([11,3,2,4]),import.meta.url),react:async()=>await a(()=>import("./assets/index-Do-nCdWy.js").then(t=>t.i),__vite__mapDeps([12,3]),import.meta.url),"prop-types":async()=>await a(()=>import("./assets/index-DQiceR5U.js").then(t=>t.i),__vite__mapDeps([13,3]),import.meta.url)},o={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.7.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.4.12",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o.react.loaded=!0;const{react:e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"prop-types":{name:"prop-types",version:"15.8.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["prop-types"].loaded=!0;const{"prop-types":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},_=[],u={},p="default",c="iobroker_javascript";async function k(e={},t=[]){const r=d.init({name:c,remotes:_,shared:o,plugins:[],shareStrategy:"version-first"});var n=u[p];if(n||(n=u[p]={from:c}),!(t.indexOf(n)>=0)){t.push(n),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(l){console.error(l)}return m.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init};
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./assets/index-BZGWELt0.js","./assets/createSvgIcon-BDXN8whp.js","./assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js","./assets/_commonjsHelpers-Cpj98o6Y.js","./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js","./assets/index-DsS-er0h.js","./assets/Save-D3ZQadHC.js","./assets/useTheme-BbFVG4-1.js","./assets/index-BompUVvy.js","./assets/index-DOeHpve2.js","./assets/inheritsLoose-BLb-YnoJ.js","./assets/index-DmpUKunr.js","./assets/index-Do-nCdWy.js","./assets/index-DQiceR5U.js"])))=>i.map(i=>d[i]);
2
+ import{i as d,a as m}from"./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js";import s from"./assets/virtualExposes-BIHI7g3E.js";import{_ as a}from"./assets/preload-helper-Dp1pzeXC.js";const i={"@iobroker/adapter-react-v5":async()=>await a(()=>import("./assets/index-BZGWELt0.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8]),import.meta.url),"@mui/material":async()=>await a(()=>import("./assets/index-DOeHpve2.js"),__vite__mapDeps([9,1,2,3,4,10,7]),import.meta.url),"react-dom":async()=>await a(()=>import("./assets/index-DmpUKunr.js").then(t=>t.i),__vite__mapDeps([11,3,2,4]),import.meta.url),react:async()=>await a(()=>import("./assets/index-Do-nCdWy.js").then(t=>t.i),__vite__mapDeps([12,3]),import.meta.url),"prop-types":async()=>await a(()=>import("./assets/index-DQiceR5U.js").then(t=>t.i),__vite__mapDeps([13,3]),import.meta.url)},o={"@iobroker/adapter-react-v5":{name:"@iobroker/adapter-react-v5",version:"7.7.2",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@iobroker/adapter-react-v5"].loaded=!0;const{"@iobroker/adapter-react-v5":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"@mui/material":{name:"@mui/material",version:"6.5.0",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["@mui/material"].loaded=!0;const{"@mui/material":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"react-dom":{name:"react-dom",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["react-dom"].loaded=!0;const{"react-dom":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},react:{name:"react",version:"18.3.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o.react.loaded=!0;const{react:e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}},"prop-types":{name:"prop-types",version:"15.8.1",scope:["default"],loaded:!1,from:"iobroker_javascript",async get(){o["prop-types"].loaded=!0;const{"prop-types":e}=i,r={...await e()};return Object.defineProperty(r,"__esModule",{value:!0,enumerable:!1}),function(){return r}},shareConfig:{singleton:!0,requiredVersion:"*"}}},_=[],u={},p="default",c="iobroker_javascript";async function k(e={},t=[]){const r=d({name:c,remotes:_,shared:o,plugins:[],shareStrategy:"version-first"});var n=u[p];if(n||(n=u[p]={from:c}),!(t.indexOf(n)>=0)){t.push(n),r.initShareScopeMap("default",e);try{await Promise.all(await r.initializeSharing("default",{strategy:"version-first",from:"build",initScope:t}))}catch(l){console.error(l)}return m.initResolve(r),r}}function y(e){if(!(e in s))throw new Error(`Module ${e} does not exist in container.`);return s[e]().then(t=>()=>t)}export{y as get,k as init};
package/admin/tab.html CHANGED
@@ -115,13 +115,13 @@
115
115
  type="text/javascript"
116
116
  src="google-blockly/own/blocks_object.js"
117
117
  ></script>
118
- <script type="module" crossorigin src="./assets/index-DLBeMhRC.js"></script>
119
- <link rel="modulepreload" crossorigin href="./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CBQgOKij.js">
118
+ <script type="module" crossorigin src="./assets/index-quKi7QsD.js"></script>
119
+ <link rel="modulepreload" crossorigin href="./assets/iobroker_javascript__mf_v__runtimeInit__mf_v__-CmuPLb0X.js">
120
120
  <link rel="modulepreload" crossorigin href="./assets/_commonjsHelpers-Cpj98o6Y.js">
121
- <link rel="modulepreload" crossorigin href="./assets/iobroker_javascript__loadShare__react__loadShare__-BiJPUKBK.js">
122
- <link rel="modulepreload" crossorigin href="./assets/createSvgIcon-Dtl7HhPO.js">
123
- <link rel="modulepreload" crossorigin href="./assets/inheritsLoose-C9MZGDit.js">
124
- <link rel="modulepreload" crossorigin href="./assets/index-C5V5CZI4.js">
121
+ <link rel="modulepreload" crossorigin href="./assets/iobroker_javascript__loadShare__react__loadShare__-B-pIv4x_.js">
122
+ <link rel="modulepreload" crossorigin href="./assets/createSvgIcon-BDXN8whp.js">
123
+ <link rel="modulepreload" crossorigin href="./assets/inheritsLoose-BLb-YnoJ.js">
124
+ <link rel="modulepreload" crossorigin href="./assets/index-DsS-er0h.js">
125
125
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-Dp1pzeXC.js">
126
126
  <link rel="stylesheet" crossorigin href="./assets/index-Dr_ZFwru.css">
127
127
  </head>
@@ -457,6 +457,19 @@
457
457
  <shadow type="text">text</shadow>
458
458
  </value>
459
459
  </block>
460
+ <block type="text_format_value">
461
+ <value name="VALUE">
462
+ <shadow type="math_number">
463
+ <field name="NUM">1.23</field>
464
+ </shadow>
465
+ </value>
466
+ <field name="FORMAT">system</field>
467
+ <value name="DECIMALS">
468
+ <shadow type="math_number">
469
+ <field name="NUM">2</field>
470
+ </shadow>
471
+ </value>
472
+ </block>
460
473
  </category>
461
474
  <category
462
475
  name="{catLists}"
package/io-package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "javascript",
4
- "version": "9.0.7",
4
+ "version": "9.0.9",
5
5
  "blockedVersions": [
6
6
  "8.0.0",
7
7
  "8.0.1"
@@ -40,6 +40,19 @@
40
40
  "Matthias Kleine <info@haus-automatisierung.com>"
41
41
  ],
42
42
  "news": {
43
+ "9.0.9": {
44
+ "en": "Added Blockly block to format a numeric value\nFixing some blocks in blockly: cron, time",
45
+ "de": "Hinzugefügt Blockly Block, um einen numerischen Wert zu formatieren\nEinige Blöcke blockweise fixieren: cron, time",
46
+ "ru": "Добавлен блок Blockly для форматирования числового значения\nПочинка блоков в блоке: крон, время",
47
+ "pt": "Adicionado Bloco para formatar um valor numérico\nConsertando alguns blocos em bloco: cron, tempo",
48
+ "nl": "Blockly blok toegevoegd om een numerieke waarde te formatteren\nHet repareren van wat blokken in blokjes: cron, tijd",
49
+ "fr": "Ajout d'un bloc bloc bloc pour formater une valeur numérique\nCorrection de quelques blocs en bloc : cron, temps",
50
+ "it": "Aggiunto Blockly per formattare un valore numerico\nFissare alcuni blocchi in blocco: cron, tempo",
51
+ "es": "Añadido Bloqueo bloqueado para formatear un valor numérico\nArreglar algunos bloques en bloque: cron, tiempo",
52
+ "pl": "Dodano Blockly bloku do formatu wartości liczbowej\nNaprawianie niektórych bloków w blokowanych: cron, czas",
53
+ "uk": "Додано блокнот для форматування числового значення\nВиправлення деяких блоків в блокноті: cron, час",
54
+ "zh-cn": "添加块格式化一个数值\n整顿一些街区: cron, time"
55
+ },
43
56
  "9.0.7": {
44
57
  "en": "Fixing some blocks in blockly: time, function",
45
58
  "de": "Einige Blocks blockieren: Zeit, Funktion",
@@ -117,19 +130,6 @@
117
130
  "pl": "Dodano możliwość ucieczki znaków w formacie TimeDiff\nBack- end został przeniesiony do TypeScript\nZmiana: usunięty moduł \"request\"\nDodano ładniejsze dla skryptów",
118
131
  "uk": "Додано можливість втекти chars у форматі Час\nBack-end був мігрований до TypeScript\nЗміна несправностей: видалений модуль \"запит\"\nДодано претtier для скриптів",
119
132
  "zh-cn": "添加格式跳过字符的可能性 时间\n后端已迁移到类型脚本\n中断更改: 删除“ 请求” 模块\n为脚本添加更美的"
120
- },
121
- "8.9.2": {
122
- "en": "Updated packages for GUI\nUsed TypeScript for an admin component",
123
- "de": "Aktualisierte Pakete für GUI\nGebrauchte TypeScript für eine Admin-Komponente",
124
- "ru": "Обновленные пакеты для GUI\nИспользуемый TypeScript для компонента admin",
125
- "pt": "Pacotes atualizados para GUI\nTypeScript usado para um componente admin",
126
- "nl": "Bijgewerkte pakketten voor GUI\nTypeScript gebruikt voor een admin component",
127
- "fr": "Les paquets mis à jour pour GUI\nTypeScript utilisé pour un composant admin",
128
- "it": "Pacchetti aggiornati per GUI\nTipoScript usato per un componente amministratore",
129
- "es": "Paquetes actualizados para GUI\nTipoScript usado para un componente de administración",
130
- "pl": "Aktualizacja pakietów dla GUI\nUżywany TypeScript dla komponentu admin",
131
- "uk": "Оновлені пакети для GUI\nВикористовується TypeScript для компонента адміністратора",
132
- "zh-cn": "更新的图形用户界面软件包\n管理员组件所用的类型脚本"
133
133
  }
134
134
  },
135
135
  "platform": "Javascript/Node.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.javascript",
3
- "version": "9.0.7",
3
+ "version": "9.0.9",
4
4
  "description": "Rules Engine for ioBroker",
5
5
  "author": "bluefox <dogafox@gmail.com>",
6
6
  "contributors": [
@@ -43,7 +43,7 @@
43
43
  "dependencies": {
44
44
  "@iobroker/adapter-core": "^3.2.3",
45
45
  "@iobroker/types": "^7.0.7",
46
- "@types/node": "^24.0.3",
46
+ "@types/node": "^24.0.8",
47
47
  "axios": "^1.10.0",
48
48
  "jsonata": "^2.0.6",
49
49
  "jszip": "^3.10.1",