iobroker.imap 0.2.2 → 0.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 CHANGED
@@ -24,24 +24,24 @@
24
24
 
25
25
  ## imap adapter for ioBroker
26
26
 
27
- - Monitor your email accounts via IMAP (Internet Message Access Protocol)
28
- - Receive notification of new emails or updates (e. g. marked unseen)
29
- - Simple login with password and username (without xoauth2 or xoauth).
27
+ - Monitor your email accounts via IMAP (Internet Message Access Protocol)
28
+ - Receive notification of new emails or updates (e. g. marked unseen)
29
+ - Simple login with password and username (without xoauth2 or xoauth).
30
30
 
31
31
  ## Requirements
32
32
 
33
- - Node 18 or 20
34
- - JS-Controller >= 5.0.19
35
- - Admin >= 6.13.16
36
- - ~150 MB free ram
33
+ - Node 18 or 20
34
+ - JS-Controller >= 5.0.19
35
+ - Admin >= 6.13.16
36
+ - ~150 MB free ram
37
37
 
38
38
  ## Tested with
39
39
 
40
- - 1und1
41
- - gmail [app-password](https://support.google.com/mail/answer/185833?hl=de)
42
- - vodafone
43
- - strato
44
- - outlook (e. g. [outlook 2Factor authentication](https://mcuiobroker.gitbook.io/jarvis-infos/tipps/allgemein/microsoft-windows/2-fach-authentifizierung))
40
+ - 1und1
41
+ - gmail [app-password](https://support.google.com/mail/answer/185833?hl=de)
42
+ - vodafone
43
+ - strato
44
+ - outlook (e. g. [outlook 2Factor authentication](https://mcuiobroker.gitbook.io/jarvis-infos/tipps/allgemein/microsoft-windows/2-fach-authentifizierung))
45
45
 
46
46
  ## Description
47
47
 
@@ -58,98 +58,106 @@
58
58
  -->
59
59
 
60
60
  ## Changelog
61
+ ### 0.3.0 (2024-12-07)
62
+
63
+ - (Lucky-ESA) Mailbox folder delete added
64
+ - (Lucky-ESA) Mailbox folder create added
65
+ - (Lucky-ESA) Change Mailbox Folder name added
66
+ - (Lucky-ESA) IMAP package changed
67
+ - (Lucky-ESA) Migration to ESLint9
68
+
61
69
  ### 0.2.2 (2024-11-07)
62
70
 
63
- - (Lucky-ESA) New design for settings page added
64
- - (Lucky-ESA) Crash if uid is empty for new emails
71
+ - (Lucky-ESA) New design for settings page added
72
+ - (Lucky-ESA) Crash if uid is empty for new emails
65
73
 
66
74
  ### 0.2.1 (2024-09-16)
67
75
 
68
- - (Lucky-ESA) Update dependencies
69
- - (Lucky-ESA) Changed Log info to debug
70
- - (Lucky-ESA) Fixed blockly setFlag crash
76
+ - (Lucky-ESA) Update dependencies
77
+ - (Lucky-ESA) Changed Log info to debug
78
+ - (Lucky-ESA) Fixed blockly setFlag crash
71
79
 
72
80
  ### 0.2.0 (2024-06-15)
73
81
 
74
- - (Lucky-ESA) Updated Blockly definitions
75
- - (Lucky-ESA) JS-Controller >= 5.0.19 required
76
- - (Lucky-ESA) Admin >=6.13.16 required
82
+ - (Lucky-ESA) Updated Blockly definitions
83
+ - (Lucky-ESA) JS-Controller >= 5.0.19 required
84
+ - (Lucky-ESA) Admin >=6.13.16 required
77
85
 
78
86
  ### 0.1.3 (2024-03-06)
79
87
 
80
- - (Lucky-ESA) Fixed setFlag
81
- - (Lucky-ESA) Fixed sendTo error during instance deletion ([#57](https://github.com/Lucky-ESA/ioBroker.imap/issues/57))
82
- - (Lucky-ESA) Mass email shift intercepted
88
+ - (Lucky-ESA) Fixed setFlag
89
+ - (Lucky-ESA) Fixed sendTo error during instance deletion ([#57](https://github.com/Lucky-ESA/ioBroker.imap/issues/57))
90
+ - (Lucky-ESA) Mass email shift intercepted
83
91
 
84
92
  ### 0.1.2 (2024-01-24)
85
93
 
86
- - (Lucky-ESA) Added missing translate
87
- - (Lucky-ESA) Updated package
88
- - (Lucky-ESA) Bug fixes
94
+ - (Lucky-ESA) Added missing translate
95
+ - (Lucky-ESA) Updated package
96
+ - (Lucky-ESA) Bug fixes
89
97
 
90
98
  ### 0.1.1 (2023-09-11)
91
99
 
92
- - (Lucky-ESA) Delete wrong error parse message
100
+ - (Lucky-ESA) Delete wrong error parse message
93
101
 
94
102
  ### 0.1.0 (2023-09-06)
95
103
 
96
- - (Lucky-ESA) Added RAM consumption - Instance Settings
97
- - (Lucky-ESA) Added german documention
98
- - (Lucky-ESA) Added Mailparser options
99
- - (Lucky-ESA) Added counter history
100
- - (Lucky-ESA) Bug fixes
104
+ - (Lucky-ESA) Added RAM consumption - Instance Settings
105
+ - (Lucky-ESA) Added german documention
106
+ - (Lucky-ESA) Added Mailparser options
107
+ - (Lucky-ESA) Added counter history
108
+ - (Lucky-ESA) Bug fixes
101
109
 
102
110
  ### 0.0.9 (2023-07-26)
103
111
 
104
- - (Lucky-ESA) Fixed RAM consumption of new emails
105
- - (Lucky-ESA) Added counter attachments in JSON
112
+ - (Lucky-ESA) Fixed RAM consumption of new emails
113
+ - (Lucky-ESA) Added counter attachments in JSON
106
114
 
107
115
  ### 0.0.8 (2023-07-13)
108
116
 
109
- - (Lucky-ESA) Fix refresh crash
110
- - (Lucky-ESA) Added MB threshold
117
+ - (Lucky-ESA) Fix refresh crash
118
+ - (Lucky-ESA) Added MB threshold
111
119
 
112
120
  ### 0.0.7 (2023-04-25)
113
121
 
114
- - (Lucky-ESA) Fix correct counter for seen and unseen
115
- - (Lucky-ESA) Added capabilities
116
- - (Lucky-ESA) Criteria change without restart
117
- - (Lucky-ESA) Added outlook.office365.com oauth2 login
118
- - (Lucky-ESA) Added Connection.js from Module to Adapter
119
- - (Lucky-ESA) Bug fixes
122
+ - (Lucky-ESA) Fix correct counter for seen and unseen
123
+ - (Lucky-ESA) Added capabilities
124
+ - (Lucky-ESA) Criteria change without restart
125
+ - (Lucky-ESA) Added outlook.office365.com oauth2 login
126
+ - (Lucky-ESA) Added Connection.js from Module to Adapter
127
+ - (Lucky-ESA) Bug fixes
120
128
 
121
129
  ### 0.0.6 (2023-03-17)
122
130
 
123
- - (Lucky-ESA) Added trigger move or copy emails
124
- - (Lucky-ESA) Added JSON for multiple IMAP accounts
125
- - (Lucky-ESA) Bug fixes
131
+ - (Lucky-ESA) Added trigger move or copy emails
132
+ - (Lucky-ESA) Added JSON for multiple IMAP accounts
133
+ - (Lucky-ESA) Bug fixes
126
134
 
127
135
  ### 0.0.5 (2023-03-15)
128
136
 
129
- - (Lucky-ESA) Added: Limited reconnected (5 max)
130
- - (Lucky-ESA) Added: into datapoints
131
- - (Lucky-ESA) Added: Password entry not possible without an active instance
132
- - (Lucky-ESA) Added: Added description to readme
133
- - (Lucky-ESA) Added: Added move or copy
134
- - (Lucky-ESA) Added: Set flag with datapoints
135
- - (Lucky-ESA) Fix: debug output without attachments
136
- - (Lucky-ESA) Fix: wrong json_table
137
- - (Lucky-ESA) Fix: value null
138
- - (Lucky-ESA) Change: Reconnected change info level to debug level
139
- - (Lucky-ESA) Change: correct dp roles
140
- - (Lucky-ESA) Change: delete attachments (too much RAM usage)
137
+ - (Lucky-ESA) Added: Limited reconnected (5 max)
138
+ - (Lucky-ESA) Added: into datapoints
139
+ - (Lucky-ESA) Added: Password entry not possible without an active instance
140
+ - (Lucky-ESA) Added: Added description to readme
141
+ - (Lucky-ESA) Added: Added move or copy
142
+ - (Lucky-ESA) Added: Set flag with datapoints
143
+ - (Lucky-ESA) Fix: debug output without attachments
144
+ - (Lucky-ESA) Fix: wrong json_table
145
+ - (Lucky-ESA) Fix: value null
146
+ - (Lucky-ESA) Change: Reconnected change info level to debug level
147
+ - (Lucky-ESA) Change: correct dp roles
148
+ - (Lucky-ESA) Change: delete attachments (too much RAM usage)
141
149
 
142
150
  ### 0.0.4 (2023-03-03)
143
151
 
144
- - (Lucky-ESA) Fix json_table
152
+ - (Lucky-ESA) Fix json_table
145
153
 
146
154
  ### 0.0.3 (2023-03-03)
147
155
 
148
- - (Lucky-ESA) Beta release
156
+ - (Lucky-ESA) Beta release
149
157
 
150
158
  ### 0.0.2 (2023-03-03)
151
159
 
152
- - (Lucky-ESA) initial release
160
+ - (Lucky-ESA) initial release
153
161
 
154
162
  ## License
155
163
 
package/admin/blockly.js CHANGED
@@ -632,7 +632,7 @@ Blockly.JavaScript['imap_request'] = function (block) {
632
632
  ` search: ${value_search},\n` +
633
633
  ` fetch: ${para_fetch || 'null'},\n` +
634
634
  ` bodie: ${value_bodie},\n` +
635
- ` parse: ${value_bodie},\n` +
635
+ ` parse: ${value_parse},\n` +
636
636
  `}, async (result) => {\n` +
637
637
  statement +
638
638
  `});\n${logText}`;
@@ -59,10 +59,10 @@
59
59
  "NAME": "Name",
60
60
  "clientid": "Kunden ID",
61
61
  "CLIENTID": "Kunden ID",
62
- "secureid": "Geheime ID",
63
- "SECUREID": "Geheime ID",
64
- "pathid": "Verzeichnis-ID",
65
- "PATHID": "Verzeichnis-ID",
62
+ "secureid": "Token",
63
+ "SECUREID": "Token",
64
+ "pathid": "Mandanten-ID",
65
+ "PATHID": "Mandanten-ID",
66
66
  "MAX_MB": "max. MEMRSS-Limit für einen Adapterneustart (100-600 MB - 24h-Check)",
67
67
  "objectId": "Objekt Identifikation",
68
68
  "telegram_user": "Instanz Benutzer",
@@ -59,10 +59,10 @@
59
59
  "NAME": "Name",
60
60
  "clientid": "Client ID",
61
61
  "CLIENTID": "Client ID",
62
- "secureid": "Secret ID",
63
- "SECUREID": "Secret ID",
64
- "pathid": "Directory ID",
65
- "PATHID": "Directory ID",
62
+ "secureid": "Token",
63
+ "SECUREID": "Token",
64
+ "pathid": "Tenant ID",
65
+ "PATHID": "Tenant ID",
66
66
  "MAX_MB": "Max. MEMRSS limit for an adapter restart (100-600 MB - 24h check)",
67
67
  "objectId": "Object-ID",
68
68
  "telegram_user": "Instance User",
@@ -255,6 +255,22 @@
255
255
  "style": {
256
256
  "width": 200
257
257
  }
258
+ },
259
+ {
260
+ "type": "selectSendTo",
261
+ "attr": "token",
262
+ "width": 200,
263
+ "title": "token",
264
+ "tooltip": "TOKEN",
265
+ "disabled": "!data.activ",
266
+ "filter": false,
267
+ "sort": false,
268
+ "jsonData": "{\"token\":{\"tokens\":${JSON.stringify(globalData.oauth_token)}}}",
269
+ "command": "getTokenList",
270
+ "alsoDependsOn": ["oauth_token"],
271
+ "style": {
272
+ "width": 200
273
+ }
258
274
  }
259
275
  ]
260
276
  },
@@ -384,7 +400,7 @@
384
400
  "tab3": {
385
401
  "type": "panel",
386
402
  "label": "Tab oauth",
387
- "hidden": "true",
403
+ "hidden": "false",
388
404
  "items": {
389
405
  "_headerAlexa": {
390
406
  "type": "header",
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "imap",
4
- "version": "0.2.2",
4
+ "version": "0.3.0",
5
5
  "news": {
6
+ "0.3.0": {
7
+ "en": "Mailbox folder delete added\nMailbox folder create added\nChange Mailbox Folder name added\nIMAP package changed\nMigration to ESLint9",
8
+ "de": "Mailbox Ordner löschen hinzugefügt\nMailbox Ordner erstellen hinzugefügt\nMailbox ändern Ordnername hinzugefügt\nIMAP Paket geändert\nMigration auf ESLint9",
9
+ "ru": "Папка папки удалена\nПапка папки\nИзменить папку Добавлено имя папки\nIMAP пакет изменился\nМиграция в ESLint9",
10
+ "pt": "Pasta de caixa de correio excluir adicionado\nPasta de caixa de correio criar adicionado\nAlterar caixa de correio Nome da pasta adicionado\nPacote IMAP alterado\nMigração para ESLint9",
11
+ "nl": "Mailbox map verwijderen toegevoegd\nMailbox-map aanmaken\nMailbox wijzigen Mapnaam toegevoegd\nIMAP-pakket gewijzigd\nMigratie naar ESLint9",
12
+ "fr": "Supprimer le dossier Boîte aux lettres ajouté\nBoîte aux lettres créer ajouté\nModifier la boîte aux lettres Nom du dossier ajouté\nPaquet IMAP modifié\nMigration vers ESLint9",
13
+ "it": "Mailbox cartella eliminare aggiunto\nMailbox cartella creare aggiunto\nCambia la casella di posta Nome della cartella aggiunto\nPacchetto IMAP cambiato\nMigrazione a ESLint9",
14
+ "es": "Borrar carpeta de correo añadido\nCarpeta de correo crear añadido\nCambio de correo Nombre de carpeta añadido\nPaquete IMAP cambiado\nMigración a ESLint9",
15
+ "pl": "Katalog skrzynki pocztowej Usuń dodany\nKatalog Mailbox utworzyć dodane\nZmień skrzynkę pocztową Dodano nazwę folderu\nZmieniony pakiet IMAP\nMigracja do ESLint9",
16
+ "uk": "Видалення папки поштових скриньок\nПапка поштових скриньок\nЗміна поштової скриньки Додано назву папки\nЗмінено пакет IMAP\nМіграція в ESLint9",
17
+ "zh-cn": "邮箱文件夹已删除\n已添加邮箱文件夹创建\n更改邮箱 文件夹名称已添加\nIMAP 软件包已更改\n迁移到ESLint9"
18
+ },
6
19
  "0.2.2": {
7
20
  "en": "New design for settings page added\nCrash if uid is empty for new emails",
8
21
  "de": "Neues Design für Einstellungen Seite hinzugefügt\nCrash wenn uid für neue E-Mails leer ist",
@@ -80,19 +93,6 @@
80
93
  "pl": "Delete error pars",
81
94
  "uk": "Видалити неправильне повідомлення про помилку",
82
95
  "zh-cn": "删除错误的信息稀少"
83
- },
84
- "0.1.0": {
85
- "en": "Added RAM consumption - Instance Settings\nAdded german documention\nAdded Mailparser options\nAdded counter history\nBug fixes",
86
- "de": "RAM-Verbrauch hinzugefügt - Instanzeinstellungen\nDeutsche Dokumentation hinzugefügt\nMailparser Optionen hinzugefügt\nHinzufügen der Zählerhistorie\nFehlerbehebungen",
87
- "ru": "Добавлено RAM потребление - Instance Settings\nДобавлен немецкий документ\nДобавлены опции Mailparser\nДобавлена история счетчиков\nИсправления ошибок",
88
- "pt": "Consumo de RAM adicionado - Configurações de instância\nAdicionado documento alemão\nOpções de Mailparser adicionadas\nAdicionado história do contador\nCorreções de bugs",
89
- "nl": "Vertaling:\nVermeldde Duitse documenten\nVermeldde Mailparser opties\nVertaling:\nBug repareert",
90
- "fr": "Ajout de la consommation de RAM - Instance Settings\nAjouté German documention\nAjout des options Mailparser\nAjout de l ' historique\nCorrections",
91
- "it": "Consumi RAM aggiunti - Impostazioni di ubicazione\nAggiunto tedesco documention\nOpzioni Mailparser\nAggiunto contatore storia\nCorrezioni di bug",
92
- "es": "Consumo de RAM añadido - Ajustes de Instance\nSeñalación alemana\nOpciones adicionales de Mailparser\nHistoria del contador\nCorrección de errores",
93
- "pl": "Zużycie pamięci RAM - Instance Settings (ang.)\nDokumentacja germanna\nAdded Mailparser option\nAdded counter history\nBug",
94
- "uk": "Додано споживання оперативної пам'яті - Налаштування\nДодана німецька документація\nДодано параметри парсера електронної пошти\nІсторія лічильника\nВиправлення помилок",
95
- "zh-cn": "增加分期消费-包装\n增 录\n增加无期选择\n增加反历史\nBug fix"
96
96
  }
97
97
  },
98
98
  "titleLang": {
package/lib/helper.js CHANGED
@@ -146,7 +146,9 @@ module.exports = {
146
146
  * @param {object} id
147
147
  */
148
148
  async createMails(id) {
149
- if (id.maxi < 1) id.maxi = 10;
149
+ if (id.maxi < 1) {
150
+ id.maxi = 10;
151
+ }
150
152
  let common = {};
151
153
  let mailid;
152
154
  common = {
@@ -162,7 +164,7 @@ module.exports = {
162
164
  };
163
165
  await this.createDataPoint(`${id.user}.infos`, common, "folder");
164
166
  for (let i = 1; i < id.maxi + 1; i++) {
165
- mailid = ("0" + i).slice(-2);
167
+ mailid = `0${i}`.slice(-2);
166
168
  common = {
167
169
  name: this.helper_translator("e-Mail"),
168
170
  desc: "Create by Adapter",
@@ -316,7 +318,7 @@ module.exports = {
316
318
  type: types,
317
319
  common: common,
318
320
  ...nativvalue,
319
- }).catch((error) => {
321
+ }).catch(error => {
320
322
  this.log.warn(`createDataPoint: ${error}`);
321
323
  });
322
324
  } else {
@@ -1401,7 +1403,9 @@ module.exports = {
1401
1403
  * @param {object|null|undefined} folder
1402
1404
  */
1403
1405
  async createinbox(id, folder) {
1404
- if (folder == null) return;
1406
+ if (folder == null) {
1407
+ return;
1408
+ }
1405
1409
  let common = {};
1406
1410
  const states = {};
1407
1411
  for (const address of folder) {
@@ -1440,6 +1444,36 @@ module.exports = {
1440
1444
  states: states,
1441
1445
  };
1442
1446
  await this.createDataPoint(`${id}.remote.move.folder`, common, "state");
1447
+ common = {
1448
+ type: "string",
1449
+ role: "state",
1450
+ name: this.helper_translator("create mailbox folder"),
1451
+ desc: "Create by Adapter",
1452
+ read: true,
1453
+ write: true,
1454
+ def: "",
1455
+ };
1456
+ await this.createDataPoint(`${id}.remote.mailbox_folder_create`, common, "state");
1457
+ common = {
1458
+ type: "string",
1459
+ role: "state",
1460
+ name: this.helper_translator("delete mailbox folder"),
1461
+ desc: "Create by Adapter",
1462
+ read: true,
1463
+ write: true,
1464
+ def: "",
1465
+ };
1466
+ await this.createDataPoint(`${id}.remote.mailbox_folder_delete`, common, "state");
1467
+ common = {
1468
+ type: "string",
1469
+ role: "state",
1470
+ name: this.helper_translator("change name mailbox folder"),
1471
+ desc: "Create by Adapter",
1472
+ read: true,
1473
+ write: true,
1474
+ def: '["oldname", "newname"]',
1475
+ };
1476
+ await this.createDataPoint(`${id}.remote.mailbox_folder_change_name`, common, "state");
1443
1477
  },
1444
1478
  async createCounter() {
1445
1479
  let common = {};
@@ -1517,7 +1551,7 @@ module.exports = {
1517
1551
  def: 0,
1518
1552
  };
1519
1553
  await this.createDataPoint(`${id}.infos.storage.storage_usage`, common, "state");
1520
- await this.setStateAsync(`${id}.infos.storage.storage_usage`, {
1554
+ await this.setState(`${id}.infos.storage.storage_usage`, {
1521
1555
  val: info.data.storage.usage,
1522
1556
  ack: true,
1523
1557
  });
@@ -1534,7 +1568,7 @@ module.exports = {
1534
1568
  def: 0,
1535
1569
  };
1536
1570
  await this.createDataPoint(`${id}.infos.storage.storage_limit`, common, "state");
1537
- await this.setStateAsync(`${id}.infos.storage.storage_limit`, {
1571
+ await this.setState(`${id}.infos.storage.storage_limit`, {
1538
1572
  val: info.data.storage.limit,
1539
1573
  ack: true,
1540
1574
  });