iobroker.ical 1.16.0 → 1.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +11 -9
- package/admin/jsonConfig.json +5 -4
- package/io-package.json +27 -27
- package/main.js +8 -7
- package/package.json +13 -13
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2014-
|
|
3
|
+
Copyright (c) 2014-2025, bluefox <dogafox@gmail.com>
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -31,8 +31,17 @@ Sentry reporting, starting with js-controller 3.0, means that this adapter can u
|
|
|
31
31
|
Placeholder for the next version (at the beginning of the line):
|
|
32
32
|
### **WORK IN PROGRESS**
|
|
33
33
|
-->
|
|
34
|
+
### 1.16.2 (2025-06-16)
|
|
35
|
+
|
|
36
|
+
* (@GermanBluefox) Small fix in the configuration dialog
|
|
37
|
+
|
|
38
|
+
### 1.16.1 (2024-11-01)
|
|
39
|
+
* (jens-maus) fix issue with handling rrule timezones incorrect with the latest node-ical (#708).
|
|
40
|
+
* (jens-maus) update node-ical to latest 0.20.1
|
|
41
|
+
* (jens-maus) save cached files to os tmpdir instead.
|
|
42
|
+
|
|
34
43
|
### 1.16.0 (2024-10-29)
|
|
35
|
-
* (cvoelkel76)
|
|
44
|
+
* (cvoelkel76) added checkbox to allow exactly matching of a calendar event.
|
|
36
45
|
* (jens-maus) update node-ical to latest 0.20.0
|
|
37
46
|
* (klein0r) Breaking change: Removed trigger state (subscribe is deprecated in js-controller 6.x)
|
|
38
47
|
* (simatec) Responsive design added
|
|
@@ -44,18 +53,11 @@ Sentry reporting, starting with js-controller 3.0, means that this adapter can u
|
|
|
44
53
|
### 1.14.3 (2024-02-28)
|
|
45
54
|
* (jens-maus) update node-ical to latest 0.18.0
|
|
46
55
|
|
|
47
|
-
### 1.14.2 (2024-01-29)
|
|
48
|
-
* (jens-maus) update node-ical to latest 0.17.2
|
|
49
|
-
|
|
50
|
-
### 1.14.1 (2024-01-29)
|
|
51
|
-
* (klein0r) Create dummy file in files tab
|
|
52
|
-
* (klein0r) Fixed recurring events
|
|
53
|
-
|
|
54
56
|
## License
|
|
55
57
|
|
|
56
58
|
The MIT License (MIT)
|
|
57
59
|
|
|
58
|
-
Copyright (c) 2014-
|
|
60
|
+
Copyright (c) 2014-2025, bluefox <dogafox@gmail.com>
|
|
59
61
|
|
|
60
62
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
61
63
|
of this software and associated documentation files (the "Software"), to deal
|
package/admin/jsonConfig.json
CHANGED
|
@@ -59,6 +59,7 @@
|
|
|
59
59
|
"sm": 12,
|
|
60
60
|
"md": 4,
|
|
61
61
|
"lg": 4,
|
|
62
|
+
"noTranslation": true,
|
|
62
63
|
"options": [
|
|
63
64
|
{
|
|
64
65
|
"label": "English",
|
|
@@ -69,11 +70,11 @@
|
|
|
69
70
|
"value": "de"
|
|
70
71
|
},
|
|
71
72
|
{
|
|
72
|
-
"label": "
|
|
73
|
+
"label": "Русский",
|
|
73
74
|
"value": "ru"
|
|
74
75
|
},
|
|
75
76
|
{
|
|
76
|
-
"label": "
|
|
77
|
+
"label": "Português",
|
|
77
78
|
"value": "pt"
|
|
78
79
|
},
|
|
79
80
|
{
|
|
@@ -81,7 +82,7 @@
|
|
|
81
82
|
"value": "nl"
|
|
82
83
|
},
|
|
83
84
|
{
|
|
84
|
-
"label": "
|
|
85
|
+
"label": "Français",
|
|
85
86
|
"value": "fr"
|
|
86
87
|
},
|
|
87
88
|
{
|
|
@@ -89,7 +90,7 @@
|
|
|
89
90
|
"value": "it"
|
|
90
91
|
},
|
|
91
92
|
{
|
|
92
|
-
"label": "
|
|
93
|
+
"label": "Español",
|
|
93
94
|
"value": "es"
|
|
94
95
|
}
|
|
95
96
|
],
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "ical",
|
|
4
|
-
"version": "1.16.
|
|
4
|
+
"version": "1.16.2",
|
|
5
5
|
"news": {
|
|
6
|
+
"1.16.2": {
|
|
7
|
+
"en": "Small fix in the configuration dialog",
|
|
8
|
+
"de": "Kleine Fixierung im Konfigurationsdialog",
|
|
9
|
+
"ru": "Небольшое исправление в диалоге конфигурации",
|
|
10
|
+
"pt": "Pequena correção na janela de configuração",
|
|
11
|
+
"nl": "Kleine correctie in het configuratievenster",
|
|
12
|
+
"fr": "Petite correction dans la boîte de dialogue de configuration",
|
|
13
|
+
"it": "Piccola correzione nella finestra di dialogo di configurazione",
|
|
14
|
+
"es": "Ajuste pequeño en el diálogo de configuración",
|
|
15
|
+
"pl": "Małe poprawki w oknie konfiguracji",
|
|
16
|
+
"uk": "Невелика фіксація в діалоговому вікні конфігурації",
|
|
17
|
+
"zh-cn": "配置对话框中的小修补"
|
|
18
|
+
},
|
|
19
|
+
"1.16.1": {
|
|
20
|
+
"en": "fix issue with handling rrule timezones incorrect with latest node-ical (#708).\nupdate node-ical to latest 0.20.1\nsave cached files to os tmpdir instead.",
|
|
21
|
+
"de": "problem mit dem umgang mit rrule zeitzonen falsch mit neusten node-ical (#708).\nupdate node-ical bis neueste 0.20.1\nspeichern sie cache-dateien auf os tmpdir statt.",
|
|
22
|
+
"ru": "исправить проблему с обработкой часовых поясов правила некорректно с последними узлами (#708).\nобновление узла к последним 0.20.1\nвместо этого сохранить кэшированные файлы в os tmpdir.",
|
|
23
|
+
"pt": "corrigir problema com manipulação rrule fusos horários incorreta com o mais recente node-ical (#708).\natualização node-ical para mais recente 0.20.1\nsalvar arquivos em cache para os tmpdir em vez disso.",
|
|
24
|
+
"nl": "fix probleem met de behandeling rrule tijdzones incorrect met de laatste node-ical (#708).\nnode-ical updaten naar de laatste 0.20.1\nbewaar gecachede bestanden in plaats daarvan in os tmpdir.",
|
|
25
|
+
"fr": "corriger le problème avec la manipulation des fuseaux horaires rrule incorrecte avec le dernier nœud (#708).\nmettre à jour node-ical au dernier 0.20.1\nenregistrer les fichiers mis en cache dans os tmpdir à la place.",
|
|
26
|
+
"it": "risolvere il problema con la gestione di fusi orari non corretto con ultimo nodo-ical (#708).\naggiornamento nodo-ical al più recente 0.20.1\nsalvare i file memorizzati in cache a os tmpdir invece.",
|
|
27
|
+
"es": "solucionar problema con el manejo rrule timezones incorrecto con el último node-ical (#708).\nactualización node-ical al último 0.20.1\nguardar archivos en caché a os tmpdir en su lugar.",
|
|
28
|
+
"pl": "problem z obsługą rrule strefy czasu nieprawidłowy z najnowszym nodeical (# 708).\nupdate node- ical do najnowszej wersji 0.20.1\nzapisać pliki cached do os tmpdir zamiast.",
|
|
29
|
+
"uk": "виправлено проблему з використанням rrule timezones, некоректних з найновішою вершиною (#708).\nоновлення вершини-ical до останньої 0.20.1\nзберегти кешовані файли на os tmpdir замість.",
|
|
30
|
+
"zh-cn": "将处理rrule时区的问题与最新节点错误(# 708).\n将节点更新为最新的0.20.1\n将缓存的文件保存到 os tmpdir ."
|
|
31
|
+
},
|
|
6
32
|
"1.16.0": {
|
|
7
33
|
"en": "add checkbox to allow to exactly match a calender event.\nupdate node-ical to latest 0.20.0\nBreaking change: Removed trigger state (subscribe is deprecated in js-controller 6.x)\nResponsive design added",
|
|
8
34
|
"de": "fügen sie checkbox hinzu, um ein kalenderereignis genau zu vereinbaren.\nupdate node-ical bis neueste 0.20.0\nBruchänderung: Entfernter Triggerzustand (Abonnent wird in js-Controller 6.x abgeschrieben)\nResponsive Design hinzugefügt",
|
|
@@ -67,32 +93,6 @@
|
|
|
67
93
|
"pl": "Utwórz plik atrapy w zakładce pliki\nNaprawiono powtarzające się zdarzenia",
|
|
68
94
|
"uk": "Створіть файл dummy у вкладці файлів\nВиправлено повторювані події",
|
|
69
95
|
"zh-cn": "在文件标签中创建模拟文件\n固定经常性活动"
|
|
70
|
-
},
|
|
71
|
-
"1.14.0": {
|
|
72
|
-
"en": "Allow to set custom http user agent\nAdded option to use files tab for calendar files",
|
|
73
|
-
"de": "Erlauben Sie, benutzerdefinierte http-Benutzer-Agent\nOption hinzugefügt, um Dateien Tab für Kalenderdateien zu verwenden",
|
|
74
|
-
"ru": "Разрешить настроить пользовательский\nДобавлена возможность использования вкладки файлов для календарных файлов",
|
|
75
|
-
"pt": "Permitir definir agente de usuário http personalizado\nOpção adicionada para usar a guia de arquivos para arquivos de calendário",
|
|
76
|
-
"nl": "Aangepaste http-gebruikeragent instellen\nToegevoegd optie om bestanden te gebruiken tabblad voor agendabestanden",
|
|
77
|
-
"fr": "Permettre de définir un agent utilisateur http personnalisé\nAjout d'une option pour utiliser l'onglet fichiers pour les fichiers calendrier",
|
|
78
|
-
"it": "Consentire di impostare personalizzato http user agent\nAggiunta opzione per utilizzare scheda file per i file del calendario",
|
|
79
|
-
"es": "Permitir establecer un agente de usuario http personalizado\nOpción adicional para usar la pestaña de archivos para archivos de calendario",
|
|
80
|
-
"pl": "Zezwalaj na ustawianie niestandardowych użytkowników http\nDodano opcję użycia zakładki plików do plików kalendarza",
|
|
81
|
-
"uk": "Дозвольте встановити користувальницький агент\nДодана можливість використовувати вкладку файлів для календарних файлів",
|
|
82
|
-
"zh-cn": "允许设置自定义 http 用户代理\n为日历文件使用文件标签添加了选项"
|
|
83
|
-
},
|
|
84
|
-
"1.13.6": {
|
|
85
|
-
"en": "Incorrect jsonConfig has been fixed [#602]\nDependencies have been updated",
|
|
86
|
-
"de": "Fehler in jsonConfig wurde behoben [#602]\nAbhängigkeiten wurden aktualisiert",
|
|
87
|
-
"ru": "Неправильный jsonConfig был исправлен [#602]\nВ зависимости были обновлены",
|
|
88
|
-
"pt": "JsonConfig incorreto foi corrigido [#602]\nAs dependências foram atualizadas",
|
|
89
|
-
"nl": "Incorrect JsonConfig is gerepareerd\nAfhankelijkheid",
|
|
90
|
-
"fr": "Incorrect jsonConfig a été corrigé [#602]\nLes dépendances ont été mises à jour",
|
|
91
|
-
"it": "JsonConfig non corretto è stato fissato [#602]\nLe dipendenze sono state aggiornate",
|
|
92
|
-
"es": "JsonConfig incorrecto ha sido fijado [#602]\nSe han actualizado las dependencias",
|
|
93
|
-
"pl": "Incorrect jsonConfig został ustalony jako #602\nZależności zostały zaktualizowane",
|
|
94
|
-
"uk": "[#602]\nОновлено залежність",
|
|
95
|
-
"zh-cn": "错误的 json Config已确定[第602号]\n已更新了属地"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
package/main.js
CHANGED
|
@@ -5,6 +5,7 @@ const crypto = require('node:crypto');
|
|
|
5
5
|
const fs = require('node:fs');
|
|
6
6
|
const path = require('node:path');
|
|
7
7
|
const https = require('node:https');
|
|
8
|
+
const os = require('node:os');
|
|
8
9
|
|
|
9
10
|
const utils = require('@iobroker/adapter-core');
|
|
10
11
|
const adapterName = require('./package.json').name.split('.').pop();
|
|
@@ -157,7 +158,7 @@ async function getICal(urlOrFile, user, pass, sslignore, calName, cb) {
|
|
|
157
158
|
}
|
|
158
159
|
|
|
159
160
|
const calHash = crypto.createHash('md5').update(user + pass + urlOrFile).digest('hex');
|
|
160
|
-
const cachedFilename = path.join(
|
|
161
|
+
const cachedFilename = path.join(os.tmpdir(), 'iob-' + calHash + '.ics');
|
|
161
162
|
|
|
162
163
|
axios(options).then(function (response) {
|
|
163
164
|
if (response.data) {
|
|
@@ -283,7 +284,7 @@ async function processData(data, realnow, startpreview, endpreview, now2, calNam
|
|
|
283
284
|
|
|
284
285
|
// only events with summary and a start date are interesting
|
|
285
286
|
if ((ev.summary !== undefined) && (ev.type === 'VEVENT') && ev.start && ev.start instanceof Date) {
|
|
286
|
-
adapter.log.debug(`ev: ${JSON.stringify(ev)}`);
|
|
287
|
+
adapter.log.debug(`ev[${k}]: ${JSON.stringify(ev)}`);
|
|
287
288
|
if (!ev.end || !(ev.end instanceof Date)) {
|
|
288
289
|
ev.end = new Date(ev.start.getTime());
|
|
289
290
|
if (ev.start.getHours() === 0 && ev.start.getMinutes() === 0 && ev.start.getSeconds() === 0) {
|
|
@@ -363,11 +364,11 @@ options: ${JSON.stringify(options)}`
|
|
|
363
364
|
// this event will be recognized as a date event
|
|
364
365
|
ev2.start.setHours(0,0,0,0);
|
|
365
366
|
} else if (ev.datetype === 'date-time') {
|
|
366
|
-
//
|
|
367
|
-
//
|
|
368
|
-
//
|
|
369
|
-
//
|
|
370
|
-
ev2.start = addOffset(ev2.start, ev2.start.getTimezoneOffset()
|
|
367
|
+
// rrule only knows about local time but stores the
|
|
368
|
+
// datetime in zulu (Z) UTC time strings. Thus we need
|
|
369
|
+
// to convert it to local time carrying objects, thus
|
|
370
|
+
// add the ev2.start tz offset
|
|
371
|
+
ev2.start = addOffset(ev2.start, ev2.start.getTimezoneOffset());
|
|
371
372
|
}
|
|
372
373
|
|
|
373
374
|
// Set end date based on length in ms
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.ical",
|
|
3
|
-
"version": "1.16.
|
|
3
|
+
"version": "1.16.2",
|
|
4
4
|
"description": "Allows read information from google calender and from iCal.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "bluefox",
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
"node": ">=18"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@iobroker/adapter-core": "^3.2.
|
|
43
|
-
"axios": "^1.
|
|
42
|
+
"@iobroker/adapter-core": "^3.2.3",
|
|
43
|
+
"axios": "^1.10.0",
|
|
44
44
|
"cloneextend": "^0.0.3",
|
|
45
45
|
"json-schema": "^0.4.0",
|
|
46
|
-
"node-ical": "^0.20.
|
|
46
|
+
"node-ical": "^0.20.1",
|
|
47
47
|
"rrule": "2.8.1"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
@@ -51,25 +51,25 @@
|
|
|
51
51
|
"@alcalzone/release-script-plugin-iobroker": "^3.7.2",
|
|
52
52
|
"@alcalzone/release-script-plugin-license": "^3.7.0",
|
|
53
53
|
"@alcalzone/release-script-plugin-manual-review": "^3.7.0",
|
|
54
|
-
"@iobroker/adapter-dev": "^1.
|
|
55
|
-
"@iobroker/testing": "^5.0.
|
|
54
|
+
"@iobroker/adapter-dev": "^1.4.0",
|
|
55
|
+
"@iobroker/testing": "^5.0.4",
|
|
56
56
|
"@types/chai": "^4.3.19",
|
|
57
57
|
"@types/chai-as-promised": "^7.1.8",
|
|
58
|
-
"@types/mocha": "^10.0.
|
|
59
|
-
"@types/node": "^22.
|
|
58
|
+
"@types/mocha": "^10.0.10",
|
|
59
|
+
"@types/node": "^22.15.29",
|
|
60
60
|
"@types/proxyquire": "^1.3.31",
|
|
61
|
-
"@types/sinon": "^17.0.
|
|
61
|
+
"@types/sinon": "^17.0.4",
|
|
62
62
|
"@types/sinon-chai": "^3.2.12",
|
|
63
63
|
"chai": "^4.5.0",
|
|
64
64
|
"chai-as-promised": "^7.1.2",
|
|
65
|
-
"chai-string": "^1.
|
|
65
|
+
"chai-string": "^1.6.0",
|
|
66
66
|
"eslint": "^8.56.0",
|
|
67
|
-
"luxon": "^3.
|
|
68
|
-
"mocha": "^10.
|
|
67
|
+
"luxon": "^3.6.1",
|
|
68
|
+
"mocha": "^10.8.2",
|
|
69
69
|
"proxyquire": "^2.1.3",
|
|
70
70
|
"sinon": "^19.0.2",
|
|
71
71
|
"sinon-chai": "^3.7.0",
|
|
72
|
-
"typescript": "~5.
|
|
72
|
+
"typescript": "~5.8.3"
|
|
73
73
|
},
|
|
74
74
|
"bugs": {
|
|
75
75
|
"url": "https://github.com/iobroker-community-adapters/ioBroker.ical/issues"
|