iobroker.weathersense 3.0.2 → 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 +4 -0
- package/io-package.json +14 -14
- package/main.js +20 -4
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -30,6 +30,10 @@ 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
|
+
|
|
33
37
|
### 3.0.2 (2025-08-29)
|
|
34
38
|
|
|
35
39
|
- Passwords protected, clean convert string > number
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
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
|
+
},
|
|
6
19
|
"3.0.2": {
|
|
7
20
|
"en": "Passwords protected, clean convert string > number",
|
|
8
21
|
"de": "Passworte geschützt, sauber konvertieren String > Anzahl",
|
|
@@ -68,19 +81,6 @@
|
|
|
68
81
|
"uk": "Більше даних\nТип очищення та вихід каналу",
|
|
69
82
|
"zh-cn": "更多数据输出\n清洁类型和频道输出( T)"
|
|
70
83
|
},
|
|
71
|
-
"2.0.0": {
|
|
72
|
-
"en": "More data output\nCleaner type & channel output",
|
|
73
|
-
"de": "Mehr Datenausgabe\nReiniger Typ & Kanal Ausgang",
|
|
74
|
-
"ru": "Больше выходных данных\nЧистый тип и выход канала",
|
|
75
|
-
"pt": "Mais saída de dados\nTipo & saída do canal mais limpo",
|
|
76
|
-
"nl": "Meer gegevensuitvoer\nSchonere & kanaaluitvoer",
|
|
77
|
-
"fr": "Plus de données\nType et sortie du canal plus propre",
|
|
78
|
-
"it": "Più output dati\nTipo di pulizia & uscita canale",
|
|
79
|
-
"es": "Más producción de datos\nSalida del canal del tipo de limpieza",
|
|
80
|
-
"pl": "Więcej danych\nTyp czyszczenia i wyjście kanału",
|
|
81
|
-
"uk": "Більше даних\nТип очищення та вихід каналу",
|
|
82
|
-
"zh-cn": "更多数据输出\n清洁类型和频道输出( T)"
|
|
83
|
-
},
|
|
84
84
|
"1.0.3": {
|
|
85
85
|
"en": "Delay with different syntax",
|
|
86
86
|
"de": "Verzögerung mit unterschiedlicher Syntax",
|
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
|
|
@@ -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",
|