iobroker.poolcontrol 1.2.17 → 1.2.18

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
@@ -189,6 +189,11 @@ New features are added regularly – please refer to the changelog.
189
189
 
190
190
  ## Changelog
191
191
 
192
+ ### 1.2.18
193
+ Release: 07.04.2026
194
+ - Fixed persistence issue for `status.season_active` (no longer overwritten on adapter start)
195
+ - Improved persistence for frost protection settings
196
+
192
197
  ### 1.2.17
193
198
  Release: 07.04.2026
194
199
  - Fix: Resolved an issue where the pressure learning reset button did not trigger reliably. The pumpHelper4 now explicitly subscribes to its relevant internal states to ensure proper event handling.
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "poolcontrol",
4
- "version": "1.2.17",
4
+ "version": "1.2.18",
5
5
  "news": {
6
+ "1.2.18": {
7
+ "en": "Fixed persistence issues for season and frost states. Season_active is now no longer overwritten on adapter start. Frost protection settings are now stored persistently.",
8
+ "de": "Persistenzprobleme für Saison- und Frost-States behoben. season_active wird beim Adapterstart nicht mehr überschrieben. Frostschutz-Einstellungen werden nun dauerhaft gespeichert.",
9
+ "ru": "Исправлены проблемы с постоянством состояний сезона и заморозков. Season_active теперь больше не перезаписывается при запуске адаптера. Настройки защиты от замерзания теперь сохраняются постоянно.",
10
+ "pt": "Corrigidos problemas de persistência para estados sazonais e de geada. Season_active agora não é mais substituído na inicialização do adaptador. As configurações de proteção contra congelamento agora são armazenadas de forma persistente.",
11
+ "nl": "Vaste persistentieproblemen voor seizoens- en vorsttoestanden. Season_active wordt nu niet langer overschreven bij het starten van de adapter. De vorstbeveiligingsinstellingen worden nu permanent opgeslagen.",
12
+ "fr": "Correction de problèmes de persistance pour les états de saison et de gel. Season_active n’est désormais plus écrasé au démarrage de l’adaptateur. Les paramètres de protection contre le gel sont désormais stockés de manière persistante.",
13
+ "it": "Risolti i problemi di persistenza relativi alla stagione e agli stati di gelo. Season_active ora non viene più sovrascritto all'avvio dell'adattatore. Le impostazioni della protezione antigelo vengono ora memorizzate in modo persistente.",
14
+ "es": "Se corrigieron problemas de persistencia para los estados de temporada y heladas. Season_active ya no se sobrescribe al iniciar el adaptador. Los ajustes de protección contra heladas ahora se almacenan de forma persistente.",
15
+ "pl": "Naprawiono problemy z trwałością stanów pór roku i mrozu. Sezon_aktywny nie jest już nadpisywany podczas uruchamiania adaptera. Ustawienia ochrony przed zamarzaniem są teraz przechowywane trwale.",
16
+ "uk": "Виправлено проблеми стійкості для сезону та морозу. Season_active тепер більше не перезаписується під час запуску адаптера. Параметри захисту від замерзання тепер зберігаються постійно.",
17
+ "zh-cn": "修复了季节和霜冻状态的持久性问题。 Season_active 现在不再在适配器启动时被覆盖。防霜保护设置现在可以永久存储。"
18
+ },
6
19
  "1.2.17": {
7
20
  "en": "Fix: Resolved an issue where the pressure learning reset button did not trigger reliably. The pumpHelper4 now explicitly subscribes to its relevant internal states (e.g. reset and configuration values), ensuring proper event handling and immediate execution of the reset logic.",
8
21
  "de": "Fix: Problem behoben, bei dem der Reset-Button für das Druck-Lernsystem nicht zuverlässig ausgelöst wurde. Der pumpHelper4 abonniert nun explizit die relevanten eigenen States (z. B. Reset und Konfigurationswerte), wodurch die Eventverarbeitung und die sofortige Ausführung der Reset-Logik sichergestellt sind.",
@@ -54,32 +67,6 @@
54
67
  "pl": "Dodaj obsługę i18n dla pomocy chemicznej (stany wspólne i teksty pomocy), rozwiąż problemy z React spowodowane nieprawidłowymi tłumaczeniami i ulepsz wielojęzyczne wskazówki dla użytkownika.",
55
68
  "uk": "Додайте підтримку i18n для довідки з хімії (common.states і тексти довідки), виправте проблеми з React, викликані недійсними перекладами, і покращте багатомовні інструкції для користувачів.",
56
69
  "zh-cn": "添加对化学帮助(common.states 和帮助文本)的 i18n 支持,修复无效翻译导致的 React 问题,并改进多语言用户指南。"
57
- },
58
- "1.2.12": {
59
- "en": "Repository cleanup and fixes for ioBroker repository checker. Restored required native object in io-package.json, removed invalid properties and updated README.",
60
- "de": "Repository-Bereinigung und Fehlerbehebungen für den ioBroker Repository-Checker. Erforderliches native-Objekt in der io-package.json wiederhergestellt, ungültige Eigenschaften entfernt und README aktualisiert.",
61
- "ru": "Очистка репозитория и исправления для средства проверки репозитория ioBroker. Восстановлен необходимый собственный объект в io-package.json, удалены недопустимые свойства и обновлен README.",
62
- "pt": "Limpeza de repositório e correções para verificador de repositório ioBroker. Objeto nativo necessário restaurado em io-package.json, propriedades inválidas removidas e README atualizado.",
63
- "nl": "Opschonen van opslagplaatsen en oplossingen voor ioBroker-repositorycontrole. Vereist native object in io-package.json hersteld, ongeldige eigenschappen verwijderd en README bijgewerkt.",
64
- "fr": "Nettoyage du référentiel et correctifs pour le vérificateur de référentiel ioBroker. Objet natif requis restauré dans io-package.json, suppression des propriétés non valides et mise à jour du README.",
65
- "it": "Pulizia del repository e correzioni per il controllo del repository ioBroker. Oggetto nativo richiesto ripristinato in io-package.json, proprietà non valide rimosse e README aggiornato.",
66
- "es": "Limpieza del repositorio y correcciones para el verificador del repositorio de ioBroker. Se restauró el objeto nativo requerido en io-package.json, se eliminaron propiedades no válidas y se actualizó README.",
67
- "pl": "Oczyszczenie repozytorium i poprawki dla modułu sprawdzania repozytorium ioBroker. Przywrócono wymagany obiekt natywny w io-package.json, usunięto nieprawidłowe właściwości i zaktualizowano plik README.",
68
- "uk": "Очищення сховища та виправлення для засобу перевірки сховища ioBroker. Відновлено необхідний рідний об’єкт у io-package.json, видалено недійсні властивості та оновлено README.",
69
- "zh-cn": "ioBroker 存储库检查器的存储库清理和修复。恢复了 io-package.json 中所需的本机对象,删除了无效属性并更新了 README。"
70
- },
71
- "1.2.10": {
72
- "en": "Improved German translations and terminology in admin UI (jsonConfig). Fixed incorrect or misleading sensor names (e.g. flow vs temperature sensors) and improved overall wording and consistency.",
73
- "de": "Verbesserte deutsche Übersetzungen und Begrifflichkeiten in der Admin-Oberfläche (jsonConfig). Falsche bzw. missverständliche Sensorbezeichnungen (z. B. Flow vs. Temperatursensoren) korrigiert und allgemeine Formulierungen sowie Konsistenz verbessert.",
74
- "ru": "Улучшены немецкие переводы и терминология в пользовательском интерфейсе администратора (jsonConfig). Исправлены неправильные или вводящие в заблуждение названия датчиков (например, датчики расхода и температуры), а также улучшены общие формулировки и согласованность.",
75
- "pt": "Traduções e terminologia em alemão aprimoradas na interface de administração (jsonConfig). Corrigimos nomes de sensores incorretos ou enganosos (por exemplo, sensores de fluxo versus temperatura) e melhoramos o texto e a consistência geral.",
76
- "nl": "Verbeterde Duitse vertalingen en terminologie in de beheerdersinterface (jsonConfig). Foutieve of misleidende sensornamen opgelost (bijv. flow- versus temperatuursensoren) en verbeterde algemene bewoording en consistentie.",
77
- "fr": "Traductions et terminologie allemandes améliorées dans l'interface utilisateur d'administration (jsonConfig). Correction des noms de capteurs incorrects ou trompeurs (par exemple, capteurs de débit ou de température) et amélioration de la formulation et de la cohérence globales.",
78
- "it": "Traduzioni e terminologia tedesca migliorate nell'interfaccia utente di amministrazione (jsonConfig). Risolti i nomi dei sensori errati o fuorvianti (ad esempio sensori di flusso o di temperatura) e migliorata la formulazione e la coerenza generale.",
79
- "es": "Traducciones y terminología alemanas mejoradas en la interfaz de usuario de administración (jsonConfig). Se corrigieron nombres de sensores incorrectos o engañosos (por ejemplo, sensores de flujo versus temperatura) y se mejoraron la redacción y coherencia generales.",
80
- "pl": "Ulepszone niemieckie tłumaczenia i terminologia w interfejsie administratora (jsonConfig). Poprawiono nieprawidłowe lub wprowadzające w błąd nazwy czujników (np. czujniki przepływu i temperatury) oraz poprawiono ogólne sformułowanie i spójność.",
81
- "uk": "Покращено німецький переклад і термінологію в інтерфейсі адміністратора (jsonConfig). Виправлено неправильні або оманливі назви датчиків (наприклад, датчики потоку чи температури) і покращено загальне формулювання та послідовність.",
82
- "zh-cn": "改进了管理 UI (jsonConfig) 中的德语翻译和术语。修复了不正确或误导性的传感器名称(例如流量与温度传感器)并改进了整体措辞和一致性。"
83
70
  }
84
71
  },
85
72
  "titleLang": {
@@ -91,13 +91,23 @@ async function createPumpStates(adapter) {
91
91
  role: 'switch',
92
92
  read: true,
93
93
  write: true,
94
+ persist: true, // FIX: dauerhaft speichern
94
95
  },
95
96
  native: {},
96
97
  });
97
- await adapter.setStateAsync('pump.frost_protection_active', {
98
- val: adapter.config.frost_protection_active,
99
- ack: true,
100
- });
98
+
99
+ // FIX: nur initial setzen, wenn noch kein Wert existiert
100
+ const existingFrostProtectionActive = await adapter.getStateAsync('pump.frost_protection_active');
101
+ if (
102
+ existingFrostProtectionActive === null ||
103
+ existingFrostProtectionActive.val === null ||
104
+ existingFrostProtectionActive.val === undefined
105
+ ) {
106
+ await adapter.setStateAsync('pump.frost_protection_active', {
107
+ val: adapter.config.frost_protection_active,
108
+ ack: true,
109
+ });
110
+ }
101
111
 
102
112
  // Frostschutz-Temperatur
103
113
  await adapter.setObjectNotExistsAsync('pump.frost_protection_temp', {
@@ -116,9 +126,23 @@ async function createPumpStates(adapter) {
116
126
  unit: '°C',
117
127
  read: true,
118
128
  write: true,
129
+ persist: true, // FIX: dauerhaft speichern
119
130
  },
120
131
  native: {},
121
132
  });
133
+
134
+ // FIX: nur initial setzen, wenn noch kein Wert existiert
135
+ const existingFrostProtectionTemp = await adapter.getStateAsync('pump.frost_protection_temp');
136
+ if (
137
+ existingFrostProtectionTemp === null ||
138
+ existingFrostProtectionTemp.val === null ||
139
+ existingFrostProtectionTemp.val === undefined
140
+ ) {
141
+ await adapter.setStateAsync('pump.frost_protection_temp', {
142
+ val: adapter.config.frost_protection_temp,
143
+ ack: true,
144
+ });
145
+ }
122
146
  await adapter.setStateAsync('pump.frost_protection_temp', {
123
147
  val: adapter.config.frost_protection_temp,
124
148
  ack: true,
package/main.js CHANGED
@@ -135,12 +135,6 @@ class Poolcontrol extends utils.Adapter {
135
135
  // --- Statusübersicht ---
136
136
  await createStatusStates(this);
137
137
 
138
- // Saisonstatus aus Config übernehmen
139
- await this.setStateAsync('status.season_active', {
140
- val: this.config.season_active,
141
- ack: true,
142
- });
143
-
144
138
  // --- Control States ---
145
139
  await createControlStates(this);
146
140
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.poolcontrol",
3
- "version": "1.2.17",
3
+ "version": "1.2.18",
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",