iobroker.poolcontrol 0.1.1 → 0.1.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/README.md +5 -0
- package/io-package.json +14 -1
- package/lib/helpers/temperatureHelper.js +29 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -94,6 +94,11 @@ Funktionen können sich ändern, bitte regelmäßig den Changelog beachten.
|
|
|
94
94
|
## Changelog
|
|
95
95
|
Auszug, vollständige Liste siehe `io-package.json`:
|
|
96
96
|
|
|
97
|
+
### 0.1.2
|
|
98
|
+
- Verbesserung: Beim Adapterstart werden nun die letzten bekannten Temperaturwerte aller aktiven Sensoren (z. B. Oberfläche, Kollektor, Außentemperatur usw.) automatisch übernommen.
|
|
99
|
+
- Dadurch werden auch Sensoren korrekt angezeigt, die ihren Messwert nur selten aktualisieren (z. B. Homematic oder stromsparende Funk-Sensoren).
|
|
100
|
+
- Keine Änderung am Verhalten der restlichen Logik, reine Komfort- und Stabilitätsverbesserung.
|
|
101
|
+
|
|
97
102
|
### 0.1.1
|
|
98
103
|
- Fehlerbehebung: Endlosschleife zwischen `pump_switch` und externer Steckdose (`deviceId`) behoben, die bei bestimmten Smart-Steckdosen (z. B. Shelly, Tasmota, FritzDECT) auftreten konnte.
|
|
99
104
|
- Verbesserte Stabilität im `pumpHelper` durch interne Rückkopplungsprüfung.
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "poolcontrol",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.2",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.1.2": {
|
|
7
|
+
"en": "Improved: The last known temperature values of all active sensors are now read at adapter start. Sensors that report rarely are now displayed correctly.",
|
|
8
|
+
"de": "Verbesserung: Beim Adapterstart werden nun die letzten bekannten Temperaturwerte aller aktiven Sensoren übernommen. Sensoren, die nur selten Werte senden, werden jetzt korrekt angezeigt.",
|
|
9
|
+
"ru": "Улучшение: При запуске адаптера теперь считываются последние известные значения температуры всех активных датчиков.",
|
|
10
|
+
"pt": "Melhoria: Os últimos valores de temperatura conhecidos de todos os sensores ativos agora são lidos ao iniciar o adaptador.",
|
|
11
|
+
"nl": "Verbetering: Bij het starten van de adapter worden nu de laatst bekende temperatuurwaarden van alle actieve sensoren opgehaald.",
|
|
12
|
+
"fr": "Amélioration : les dernières valeurs de température connues de tous les capteurs actifs sont désormais lues au démarrage de l’adaptateur.",
|
|
13
|
+
"it": "Miglioramento: all'avvio dell'adattatore vengono ora letti gli ultimi valori di temperatura noti di tutti i sensori attivi.",
|
|
14
|
+
"es": "Mejora: ahora se leen al iniciar el adaptador los últimos valores de temperatura conocidos de todos los sensores activos.",
|
|
15
|
+
"pl": "Ulepszenie: podczas uruchamiania adaptera odczytywane są ostatnie znane wartości temperatury wszystkich aktywnych czujników.",
|
|
16
|
+
"uk": "Покращення: під час запуску адаптера тепер зчитуються останні відомі значення температури всіх активних датчиків.",
|
|
17
|
+
"zh-cn": "改进:适配器启动时现在会读取所有活动传感器的最后已知温度值。"
|
|
18
|
+
},
|
|
6
19
|
"0.1.1": {
|
|
7
20
|
"en": "Fixed endless loop between pump_switch and deviceId for some smart sockets",
|
|
8
21
|
"de": "Endlosschleife zwischen pump_switch und Steckdose (deviceId) behoben",
|
|
@@ -30,6 +30,35 @@ const temperatureHelper = {
|
|
|
30
30
|
adapter.subscribeForeignStates(id);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
+
// >>> NEU: Initialwerte aller aktiven Sensoren einlesen
|
|
34
|
+
(async () => {
|
|
35
|
+
for (const [key, id] of Object.entries(this.sensors)) {
|
|
36
|
+
try {
|
|
37
|
+
const state = await adapter.getForeignStateAsync(id);
|
|
38
|
+
if (state && state.val !== null && state.val !== undefined && !isNaN(Number(state.val))) {
|
|
39
|
+
const val = Number(state.val);
|
|
40
|
+
this.values[key] = val;
|
|
41
|
+
await this._setCurrentValue(key, val);
|
|
42
|
+
await this._updateMinMax(key, val);
|
|
43
|
+
adapter.log.debug(`[temperatureHelper] Initialwert für ${key}: ${val} °C`);
|
|
44
|
+
} else {
|
|
45
|
+
adapter.log.debug(`[temperatureHelper] Kein gültiger Initialwert für ${key}`);
|
|
46
|
+
}
|
|
47
|
+
} catch (err) {
|
|
48
|
+
adapter.log.warn(`[temperatureHelper] Fehler beim Initial-Read ${key}: ${err.message}`);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Nach Setzen der ersten Werte gleich Deltas prüfen
|
|
53
|
+
await this._maybeWriteDelta(
|
|
54
|
+
'temperature.delta.collector_outside',
|
|
55
|
+
this.values.collector,
|
|
56
|
+
this.values.outside,
|
|
57
|
+
);
|
|
58
|
+
await this._maybeWriteDelta('temperature.delta.surface_ground', this.values.surface, this.values.ground);
|
|
59
|
+
await this._maybeWriteDelta('temperature.delta.flow_return', this.values.flow, this.values.return);
|
|
60
|
+
})();
|
|
61
|
+
|
|
33
62
|
// >>> NEU: Alte Min/Max-Werte wiederherstellen
|
|
34
63
|
this._restoreMinMaxFromStates().catch(err =>
|
|
35
64
|
this.adapter.log.warn(`[temperatureHelper] Restore Min/Max fehlgeschlagen: ${err.message}`),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.poolcontrol",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Steuerung & Automatisierung für den Pool (Pumpe, Heizung, Ventile, Sensoren).",
|
|
5
5
|
"author": "DasBo1975 <dasbo1975@outlook.de>",
|
|
6
6
|
"homepage": "https://github.com/DasBo1975/ioBroker.poolcontrol",
|