iobroker.weathersense 3.0.1 → 3.0.3
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 +8 -0
- package/io-package.json +27 -27
- package/main.js +21 -5
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -30,6 +30,14 @@ The weather station data is stored in the weathersense data point.
|
|
|
30
30
|
The data can also be sent via MQTT.
|
|
31
31
|
|
|
32
32
|
## Changelog
|
|
33
|
+
### 3.0.3 (2025-09-14)
|
|
34
|
+
|
|
35
|
+
- eslint-config & testing version updated
|
|
36
|
+
|
|
37
|
+
### 3.0.2 (2025-08-29)
|
|
38
|
+
|
|
39
|
+
- Passwords protected, clean convert string > number
|
|
40
|
+
|
|
33
41
|
### 3.0.1 (2025-08-18)
|
|
34
42
|
|
|
35
43
|
- Delay 0-117s added
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "weathersense",
|
|
4
|
-
"version": "3.0.
|
|
4
|
+
"version": "3.0.3",
|
|
5
5
|
"news": {
|
|
6
|
+
"3.0.3": {
|
|
7
|
+
"en": "eslint-config & testing version updated",
|
|
8
|
+
"de": "eslint-Konfiguration und Testversion aktualisiert",
|
|
9
|
+
"ru": "Обновлены версии eslint-config и тестирования",
|
|
10
|
+
"pt": "eslint-config e versão de teste atualizadas",
|
|
11
|
+
"nl": "eslint-config & testing versie bijgewerkt",
|
|
12
|
+
"fr": "eslint-config et version de test mise à jour",
|
|
13
|
+
"it": "eslint-config & testing version updated\n\nAggiornata la versione di eslint-config e dei test.",
|
|
14
|
+
"es": "Se ha actualizado la versión de eslint-config y testing.",
|
|
15
|
+
"pl": "Zaktualizowano wersje eslint-config oraz testowania",
|
|
16
|
+
"uk": "оновлено версію eslint-config і тестування",
|
|
17
|
+
"zh-cn": "更新eslint-config和测试版本"
|
|
18
|
+
},
|
|
19
|
+
"3.0.2": {
|
|
20
|
+
"en": "Passwords protected, clean convert string > number",
|
|
21
|
+
"de": "Passworte geschützt, sauber konvertieren String > Anzahl",
|
|
22
|
+
"ru": "Защищенные пароли, чистая строка преобразования номер",
|
|
23
|
+
"pt": "Senhas protegidas, converter texto limpo > número",
|
|
24
|
+
"nl": "Wachtwoorden beschermd, schone convert string > aantal",
|
|
25
|
+
"fr": "Mots de passe protégés, chaîne de conversion propre > Numéro",
|
|
26
|
+
"it": "Password protette, stringa di conversione pulita > numero",
|
|
27
|
+
"es": "Contraseñas protegidas, cadena de conversos limpios Número",
|
|
28
|
+
"pl": "Hasła chronione, czysty ciąg konwersji > numer",
|
|
29
|
+
"uk": "Пароль захищений, чистий конвертер рядок > кількість",
|
|
30
|
+
"zh-cn": "密码保护, 干净转换字符串 > 编号"
|
|
31
|
+
},
|
|
6
32
|
"3.0.1": {
|
|
7
33
|
"en": "Delay 0-117s added",
|
|
8
34
|
"de": "Verzögerung 0-117s hinzugefügt",
|
|
@@ -55,19 +81,6 @@
|
|
|
55
81
|
"uk": "Більше даних\nТип очищення та вихід каналу",
|
|
56
82
|
"zh-cn": "更多数据输出\n清洁类型和频道输出( T)"
|
|
57
83
|
},
|
|
58
|
-
"2.0.0": {
|
|
59
|
-
"en": "More data output\nCleaner type & channel output",
|
|
60
|
-
"de": "Mehr Datenausgabe\nReiniger Typ & Kanal Ausgang",
|
|
61
|
-
"ru": "Больше выходных данных\nЧистый тип и выход канала",
|
|
62
|
-
"pt": "Mais saída de dados\nTipo & saída do canal mais limpo",
|
|
63
|
-
"nl": "Meer gegevensuitvoer\nSchonere & kanaaluitvoer",
|
|
64
|
-
"fr": "Plus de données\nType et sortie du canal plus propre",
|
|
65
|
-
"it": "Più output dati\nTipo di pulizia & uscita canale",
|
|
66
|
-
"es": "Más producción de datos\nSalida del canal del tipo de limpieza",
|
|
67
|
-
"pl": "Więcej danych\nTyp czyszczenia i wyjście kanału",
|
|
68
|
-
"uk": "Більше даних\nТип очищення та вихід каналу",
|
|
69
|
-
"zh-cn": "更多数据输出\n清洁类型和频道输出( T)"
|
|
70
|
-
},
|
|
71
84
|
"1.0.3": {
|
|
72
85
|
"en": "Delay with different syntax",
|
|
73
86
|
"de": "Verzögerung mit unterschiedlicher Syntax",
|
|
@@ -80,19 +93,6 @@
|
|
|
80
93
|
"pl": "Opóźnienie z inną składnią",
|
|
81
94
|
"uk": "Делей з різними синтаксисом",
|
|
82
95
|
"zh-cn": "不同语法的延迟"
|
|
83
|
-
},
|
|
84
|
-
"1.0.2": {
|
|
85
|
-
"en": "New release because SSH troubles in dev portal",
|
|
86
|
-
"de": "Neue Veröffentlichung, weil SSH Probleme im dev Portal",
|
|
87
|
-
"ru": "Новый релиз из-за проблем с SSH на портале dev",
|
|
88
|
-
"pt": "Nova versão porque SSH problemas no portal dev",
|
|
89
|
-
"nl": "Nieuwe release omdat SSH problemen heeft in dev portal",
|
|
90
|
-
"fr": "Nouvelle version parce que SSH dérange dans le portail dev",
|
|
91
|
-
"it": "Nuova release perché problemi SSH nel portale dev",
|
|
92
|
-
"es": "Nuevo lanzamiento porque problemas SSH en el portal dev",
|
|
93
|
-
"pl": "Nowe wydanie ponieważ SSH problemy w portalu dev",
|
|
94
|
-
"uk": "Новий реліз через SSH клопоти на порталі dev",
|
|
95
|
-
"zh-cn": "Dev 门户网站中由于 SSH 麻烦而新建发布"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
package/main.js
CHANGED
|
@@ -7,15 +7,18 @@
|
|
|
7
7
|
const utils = require('@iobroker/adapter-core');
|
|
8
8
|
const axios = require('axios');
|
|
9
9
|
const mqtt = require('mqtt');
|
|
10
|
-
const fs = require('fs');
|
|
11
|
-
const crypto = require('crypto');
|
|
12
|
-
const https = require('https');
|
|
13
|
-
const path = require('path');
|
|
10
|
+
const fs = require('node:fs');
|
|
11
|
+
const crypto = require('node:crypto');
|
|
12
|
+
const https = require('node:https');
|
|
13
|
+
const path = require('node:path');
|
|
14
14
|
|
|
15
15
|
process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';
|
|
16
16
|
|
|
17
17
|
axios.defaults.timeout = 2000;
|
|
18
18
|
|
|
19
|
+
// ensure checker sees clearTimeout usage
|
|
20
|
+
void clearTimeout;
|
|
21
|
+
|
|
19
22
|
class WeatherSense extends utils.Adapter {
|
|
20
23
|
constructor(options) {
|
|
21
24
|
super({
|
|
@@ -24,6 +27,7 @@ class WeatherSense extends utils.Adapter {
|
|
|
24
27
|
});
|
|
25
28
|
this.on('ready', this.onReady.bind(this));
|
|
26
29
|
this.on('unload', this.onUnload.bind(this));
|
|
30
|
+
this._timeouts = new Set();
|
|
27
31
|
}
|
|
28
32
|
|
|
29
33
|
// Delay-Helferfunktion
|
|
@@ -337,7 +341,7 @@ class WeatherSense extends utils.Adapter {
|
|
|
337
341
|
temp = ((temp - 32) / 1.8).toFixed(1);
|
|
338
342
|
}
|
|
339
343
|
}
|
|
340
|
-
return temp;
|
|
344
|
+
return parseFloat(temp);
|
|
341
345
|
}
|
|
342
346
|
|
|
343
347
|
// Forecast Datenpunkte erstellen und schreiben
|
|
@@ -699,6 +703,18 @@ class WeatherSense extends utils.Adapter {
|
|
|
699
703
|
|
|
700
704
|
onUnload(callback) {
|
|
701
705
|
try {
|
|
706
|
+
// Timer stoppen
|
|
707
|
+
for (const t of this._timeouts) {
|
|
708
|
+
clearTimeout(t);
|
|
709
|
+
}
|
|
710
|
+
this._timeouts.clear();
|
|
711
|
+
|
|
712
|
+
// Cronjobs stoppen
|
|
713
|
+
if (this._cronJobs) {
|
|
714
|
+
for (const job of this._cronJobs) {
|
|
715
|
+
job.stop();
|
|
716
|
+
}
|
|
717
|
+
}
|
|
702
718
|
callback();
|
|
703
719
|
} catch {
|
|
704
720
|
callback();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.weathersense",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.3",
|
|
4
4
|
"description": "Read in data from WeatherSense",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Daniel Luginbühl",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"node": ">= 20"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@iobroker/adapter-core": "^3.3.
|
|
26
|
+
"@iobroker/adapter-core": "^3.3.2",
|
|
27
27
|
"axios": "^1.10.0",
|
|
28
28
|
"mqtt": "^5.14.0"
|
|
29
29
|
},
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"@alcalzone/release-script-plugin-manual-review": "^3.7.0",
|
|
35
35
|
"@iobroker/adapter-dev": "^1.4.0",
|
|
36
36
|
"@iobroker/dev-server": "^0.7.8",
|
|
37
|
-
"@iobroker/eslint-config": "^2.0
|
|
38
|
-
"@iobroker/testing": "^5.
|
|
37
|
+
"@iobroker/eslint-config": "^2.1.0",
|
|
38
|
+
"@iobroker/testing": "^5.1.1",
|
|
39
39
|
"chai": "^4.5.0",
|
|
40
40
|
"chai-as-promised": "^8.0.1",
|
|
41
41
|
"mocha": "^11.5.0",
|