iobroker.poolcontrol 0.1.0 → 0.1.1

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
@@ -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.1
98
+ - Fehlerbehebung: Endlosschleife zwischen `pump_switch` und externer Steckdose (`deviceId`) behoben, die bei bestimmten Smart-Steckdosen (z. B. Shelly, Tasmota, FritzDECT) auftreten konnte.
99
+ - Verbesserte Stabilität im `pumpHelper` durch interne Rückkopplungsprüfung.
100
+ - Keine Änderungen an bestehenden Konfigurationen erforderlich.
101
+
97
102
  ### 0.1.0
98
103
  - Sprachausgabe über **E-Mail** hinzugefügt (konfigurierbar: Instanz, Empfänger, Betreff).
99
104
  - Erweiterung der Instanz-Konfiguration im Tab „Sprachausgaben“.
@@ -131,12 +136,6 @@ Diese Datenpunkte sind besonders für **VIS/vis2, Alexa- oder Telegram-Ausgaben*
131
136
  ### 0.0.7
132
137
  - Help-Datei (`help.md`) und erste README-Version hinzugefügt
133
138
 
134
- ### 0.0.6
135
- - Verbrauchs- und Kostenberechnung mit externem kWh-Zähler
136
-
137
- ### 0.0.5
138
- - Sprachausgabe über Alexa und Telegram
139
-
140
139
  ### 0.0.1
141
140
  - initial release
142
141
 
@@ -558,7 +558,6 @@
558
558
  "md": 3,
559
559
  "lg": 3,
560
560
  "xl": 3,
561
- "newLine": true
562
561
  },
563
562
  "time2_end": {
564
563
  "type": "text",
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "poolcontrol",
4
- "version": "0.1.0",
4
+ "version": "0.1.1",
5
5
  "news": {
6
+ "0.1.1": {
7
+ "en": "Fixed endless loop between pump_switch and deviceId for some smart sockets",
8
+ "de": "Endlosschleife zwischen pump_switch und Steckdose (deviceId) behoben",
9
+ "ru": "Исправлен бесконечный цикл между pump_switch и deviceId для некоторых умных розеток",
10
+ "pt": "Corrigido loop infinito entre pump_switch e deviceId em algumas tomadas inteligentes",
11
+ "nl": "Eindeloze lus tussen pump_switch en deviceId voor sommige slimme stopcontacten opgelost",
12
+ "fr": "Correction d'une boucle infinie entre pump_switch et deviceId pour certaines prises intelligentes",
13
+ "it": "Corretto loop infinito tra pump_switch e deviceId per alcune prese intelligenti",
14
+ "es": "Corregido bucle infinito entre pump_switch y deviceId en algunos enchufes inteligentes",
15
+ "pl": "Naprawiono nieskończoną pętlę między pump_switch a deviceId dla niektórych inteligentnych gniazdek",
16
+ "uk": "Виправлено нескінченний цикл між pump_switch і deviceId для деяких розумних розеток",
17
+ "zh-cn": "修复了某些智能插座中 pump_switch 与 deviceId 之间的无限循环"
18
+ },
6
19
  "0.1.0": {
7
20
  "en": "Added speech output via E-Mail (configurable: instance, recipient, subject)",
8
21
  "de": "Sprachausgabe per E-Mail hinzugefügt (konfigurierbar: Instanz, Empfänger, Betreff)",
@@ -28,19 +41,6 @@
28
41
  "pl": "Dodano rozszerzony przegląd statusu ze statystykami pompy, flagami systemowymi i podsumowaniem JSON",
29
42
  "uk": "Додано розширений огляд статусу зі статистикою насоса, системними прапорцями та зведенням JSON",
30
43
  "zh-cn": "新增扩展状态概览,包括泵统计、系统标志和 JSON 摘要"
31
- },
32
- "0.0.9": {
33
- "en": "Made runtime, circulation, consumption/costs and temperature min/max states persistent across restarts",
34
- "de": "Laufzeit-, Umwälz-, Verbrauch-/Kosten- und Temperatur-Min/Max-States bleiben jetzt über Neustarts erhalten",
35
- "ru": "Состояния времени работы, циркуляции, потребления/стоимости и мин/макс температуры теперь сохраняются при перезапуске",
36
- "pt": "Estados de tempo de execução, circulação, consumo/custos e temperatura min/máx agora persistem após reinicializações",
37
- "nl": "Runtime-, circulatie-, verbruiks-/kosten- en temperatuur min/max-states blijven nu behouden bij herstart",
38
- "fr": "Les états de durée, de circulation, de consommation/coûts et de température min/max persistent désormais après redémarrage",
39
- "it": "Gli stati di runtime, circolazione, consumo/costi e temperatura min/max ora persistono ai riavvii",
40
- "es": "Los estados de tiempo de ejecución, circulación, consumo/costos y temperatura min/máx ahora persisten tras reinicios",
41
- "pl": "Stany czasu pracy, cyrkulacji, zużycia/kosztów i temp. min/max są teraz zachowane po restartach",
42
- "uk": "Стан часу роботи, циркуляції, споживання/вартості та мін/макс температури тепер зберігаються після перезапусків",
43
- "zh-cn": "运行时间、循环、消耗/成本和温度最小/最大状态现在在重启后保持"
44
44
  }
45
45
  },
46
46
  "titleLang": {
@@ -112,22 +112,28 @@ const pumpHelper = {
112
112
  return;
113
113
  }
114
114
 
115
- // 2) Fremde Steckdose hat sich verändert → in unseren bool-Schalter spiegeln
115
+ // 2) Fremde Steckdose hat sich verändert → in unseren bool-Schalter spiegeln (mit Loop-Schutz)
116
116
  if (this.deviceId && id === this.deviceId) {
117
117
  const val = !!state.val;
118
- await this.adapter.setStateAsync('pump.pump_switch', { val, ack: true });
119
- await this._updateStatus();
120
- await this._checkErrorConditions();
118
+ const current = (await this.adapter.getStateAsync('pump.pump_switch'))?.val;
119
+ if (current !== val) {
120
+ await this.adapter.setStateAsync('pump.pump_switch', { val, ack: true });
121
+ await this._updateStatus();
122
+ await this._checkErrorConditions();
123
+ }
121
124
  return;
122
125
  }
123
126
 
124
- // 3) Eigene Pumpen-States geändert
127
+ // 3) Eigene Pumpen-States geändert (mit Loop-Schutz bei Rückschreiben)
125
128
  if (id.endsWith('pump.mode') || id.endsWith('pump.pump_switch') || id.endsWith('pump.error')) {
126
129
  if (id.endsWith('pump.pump_switch') && this.deviceId) {
127
- await this.adapter.setForeignStateAsync(this.deviceId, {
128
- val: !!state.val,
129
- ack: false,
130
- });
130
+ const current = (await this.adapter.getForeignStateAsync(this.deviceId))?.val;
131
+ if (current !== !!state.val) {
132
+ await this.adapter.setForeignStateAsync(this.deviceId, {
133
+ val: !!state.val,
134
+ ack: false,
135
+ });
136
+ }
131
137
  }
132
138
 
133
139
  await this._updateStatus();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.poolcontrol",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
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",