iobroker.poolcontrol 1.2.4 → 1.2.6

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
@@ -196,9 +196,23 @@ New features are added regularly – please refer to the changelog.
196
196
 
197
197
  ## Changelog
198
198
 
199
+ ### 1.2.6
200
+ Released: 12.03.2026
201
+ - Fixed remaining adapter checker issues
202
+ - Updated release-script plugins to latest versions
203
+ - Converted remaining log messages to English
204
+ - Updated dependabot configuration (added github-actions ecosystem)
205
+ - Reduced `common.news` entries in io-package.json to comply with repository requirements
206
+
207
+ ### 1.2.5
208
+ Released: 07.03.2026
209
+ - Fixed an issue in `actuatorsHelper` where state changes were not handled correctly in certain situations
210
+ - Minor internal improvements and stability fixes
211
+
199
212
  ### 1.2.4
200
213
  Release: 07.03.2026
201
214
  - Fix: actuatorsHelper did not synchronize instance configuration with internal states (active/name). Additional actuators could not be activated.
215
+
202
216
  ### 1.2.3
203
217
  Released: 06.03.2026
204
218
  - Replaced native timers (setTimeout / setInterval) with adapter timers (adapter.setTimeout / adapter.setInterval)
package/io-package.json CHANGED
@@ -1,11 +1,46 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "poolcontrol",
4
- "version": "1.2.4",
4
+ "version": "1.2.6",
5
5
  "news": {
6
+ "1.2.6": {
7
+ "en": "Fixed adapter checker issues, converted remaining log messages to English, updated release-script plugins and dependabot configuration.",
8
+ "de": "Adapter-Checker-Probleme behoben, verbleibende Logmeldungen auf Englisch umgestellt, release-script Plugins und Dependabot-Konfiguration aktualisiert.",
9
+ "ru": "Исправлены проблемы с проверкой адаптера, преобразованы оставшиеся сообщения журнала на английский язык, обновлены плагины сценариев выпуска и конфигурация зависимостей.",
10
+ "pt": "Corrigidos problemas do verificador do adaptador, convertidas mensagens de log restantes para inglês, plug-ins de script de lançamento atualizados e configuração do dependabot.",
11
+ "nl": "Problemen met de adaptercontrole opgelost, resterende logberichten naar het Engels geconverteerd, release-scriptplug-ins en dependabot-configuratie bijgewerkt.",
12
+ "fr": "Correction des problèmes de vérification d'adaptateur, conversion des messages de journal restants en anglais, mise à jour des plugins de script de version et configuration des dépendances.",
13
+ "it": "Risolti i problemi di controllo dell'adattatore, convertiti i messaggi di registro rimanenti in inglese, aggiornati i plugin degli script di rilascio e la configurazione di dependabot.",
14
+ "es": "Se solucionaron problemas del verificador de adaptadores, se convirtieron los mensajes de registro restantes al inglés, se actualizaron los complementos del script de lanzamiento y la configuración del dependabot.",
15
+ "pl": "Naprawiono problemy z modułem sprawdzania adaptera, przekonwertowano pozostałe komunikaty dziennika na język angielski, zaktualizowano wtyczki skryptu wydania i konfigurację zależnego bota.",
16
+ "uk": "Виправлено проблеми перевірки адаптера, перетворено решту повідомлень журналу на англійську мову, оновлено плагіни сценарію випуску та конфігурацію dependabot.",
17
+ "zh-cn": "修复了适配器检查器问题,将剩余日志消息转换为英语,更新了发布脚本插件和 dependentabot 配置。"
18
+ },
19
+ "1.2.5": {
20
+ "en": "Fix: corrected synchronization of actuator configuration with internal states (active/name). Additional actuators could not be activated in some cases. Updated translations.",
21
+ "de": "Fix: Synchronisierung der Aktor-Konfiguration mit den internen States (active/name) korrigiert. Zusatzaktoren konnten in einigen Fällen nicht aktiviert werden. Übersetzungen aktualisiert.",
22
+ "ru": "Исправлено: исправлена ​​синхронизация конфигурации привода с внутренними состояниями (активный/имя). В некоторых случаях дополнительные исполнительные механизмы не могли быть активированы. Обновлены переводы.",
23
+ "pt": "Correção: corrigida sincronização da configuração do atuador com estados internos (ativo/nome). Atuadores adicionais não puderam ser ativados em alguns casos. Traduções atualizadas.",
24
+ "nl": "Fix: gecorrigeerde synchronisatie van actuatorconfiguratie met interne statussen (actief/naam). In sommige gevallen konden extra actuatoren niet worden geactiveerd. Bijgewerkte vertalingen.",
25
+ "fr": "Correctif : correction de la synchronisation de la configuration de l'actionneur avec les états internes (actif/nom). Des actionneurs supplémentaires n'ont pas pu être activés dans certains cas. Traductions mises à jour.",
26
+ "it": "Fix: corretta sincronizzazione della configurazione dell'attuatore con gli stati interni (attivo/nome). In alcuni casi non è stato possibile attivare attuatori aggiuntivi. Traduzioni aggiornate.",
27
+ "es": "Solución: sincronización corregida de la configuración del actuador con los estados internos (activo/nombre). En algunos casos no se pudieron activar actuadores adicionales. Traducciones actualizadas.",
28
+ "pl": "Poprawka: poprawiona synchronizacja konfiguracji siłownika ze stanami wewnętrznymi (aktywny/nazwa). W niektórych przypadkach nie można było aktywować dodatkowych siłowników. Zaktualizowane tłumaczenia.",
29
+ "uk": "Виправлення: виправлена ​​синхронізація конфігурації приводу з внутрішніми станами (активний/назва). У деяких випадках не вдається активувати додаткові приводи. Оновлені переклади.",
30
+ "zh-cn": "修复:更正了执行器配置与内部状态(活动/名称)的同步。在某些情况下无法激活附加执行器。更新了翻译。"
31
+ },
6
32
  "1.2.4": {
7
33
  "en": "Fix: actuatorsHelper did not synchronize instance configuration with internal states (active/name). Additional actuators could not be activated.",
8
- "de": "Fix: actuatorsHelper synchronisierte die Instanzkonfiguration nicht mit den internen States (active/name). Zusatzaktoren konnten dadurch nicht aktiviert werden."
34
+ "de": "Fix: actuatorsHelper synchronisierte die Instanzkonfiguration nicht mit den internen States (active/name). Zusatzaktoren konnten dadurch nicht aktiviert werden.",
35
+ "ru": "Исправлено: приводыHelper не синхронизировали конфигурацию экземпляра с внутренними состояниями (активный/имя). Дополнительные исполнительные механизмы не удалось активировать.",
36
+ "pt": "Correção: atuatorsHelper não sincronizava a configuração da instância com os estados internos (ativo/nome). Não foi possível ativar atuadores adicionais.",
37
+ "nl": "Oplossing: actuatorsHelper heeft de instanceconfiguratie niet gesynchroniseerd met interne statussen (actief/naam). Er konden geen extra actuatoren worden geactiveerd.",
38
+ "fr": "Correctif : activatesHelper ne synchronisait pas la configuration de l'instance avec les états internes (actif/nom). Des actionneurs supplémentaires n'ont pas pu être activés.",
39
+ "it": "Correzione: attuatoriHelper non sincronizzava la configurazione dell'istanza con gli stati interni (attivo/nome). Non è stato possibile attivare attuatori aggiuntivi.",
40
+ "es": "Solución: actuadoresHelper no sincronizaba la configuración de la instancia con los estados internos (activo/nombre). No se pudieron activar actuadores adicionales.",
41
+ "pl": "Poprawka: aktuatorzyHelper nie synchronizowali konfiguracji instancji ze stanami wewnętrznymi (aktywny/nazwa). Nie można było aktywować dodatkowych siłowników.",
42
+ "uk": "Виправлення: actuatorsHelper не синхронізував конфігурацію екземпляра з внутрішніми станами (активний/назва). Не вдалося активувати додаткові приводи.",
43
+ "zh-cn": "修复:actuatorsHelper 未将实例配置与内部状态(活动/名称)同步。无法激活其他执行器。"
9
44
  },
10
45
  "1.2.3": {
11
46
  "en": "Replaced native timers with adapter timers and improved timer cleanup",
@@ -32,110 +67,6 @@
32
67
  "pl": "Aktualizacja konserwacyjna: Podniesiono wymaganą wersję administracyjną do >= 7.6.20 i odświeżono tłumaczenia po zmianach w jsonConfig i18n.",
33
68
  "uk": "Оновлення обслуговування: підвищено необхідну версію адміністратора до >=7.6.20 і оновлено переклади після змін jsonConfig i18n.",
34
69
  "zh-cn": "维护更新:将所需的管理版本提高到> = 7.6.20,并在 jsonConfig i18n 更改后刷新翻译。"
35
- },
36
- "1.2.1": {
37
- "en": "Refactored admin configuration to use the ioBroker i18n translation environment. All jsonConfig labels are now defined in English and translations are generated automatically via `npm run translate`. This prepares the adapter for Weblate and improves compatibility with ioBroker latest repository requirements.",
38
- "de": "Admin-Konfiguration auf das ioBroker i18n-Übersetzungssystem umgestellt. Alle jsonConfig-Texte sind jetzt auf Englisch definiert und Übersetzungen werden automatisch über `npm run translate` erzeugt. Dadurch ist der Adapter für Weblate vorbereitet und erfüllt die Anforderungen für das Latest-Repository.",
39
- "ru": "Переработана конфигурация администратора для использования среды перевода ioBroker i18n. Все метки jsonConfig теперь определены на английском языке, а переводы генерируются автоматически с помощью npm run Translate. Это подготавливает адаптер для Weblate и улучшает совместимость с последними требованиями к репозиторию ioBroker.",
40
- "pt": "Configuração de administrador refatorada para usar o ambiente de tradução ioBroker i18n. Todos os rótulos jsonConfig agora são definidos em inglês e as traduções são geradas automaticamente via `npm run translate`. Isso prepara o adaptador para Weblate e melhora a compatibilidade com os requisitos de repositório mais recentes do ioBroker.",
41
- "nl": "Herziene beheerdersconfiguratie om de ioBroker i18n-vertaalomgeving te gebruiken. Alle jsonConfig-labels zijn nu in het Engels gedefinieerd en vertalingen worden automatisch gegenereerd via `npm run translate`. Dit bereidt de adapter voor op Weblate en verbetert de compatibiliteit met de nieuwste repositoryvereisten van ioBroker.",
42
- "fr": "Configuration d'administration refactorisée pour utiliser l'environnement de traduction ioBroker i18n. Toutes les étiquettes jsonConfig sont désormais définies en anglais et les traductions sont générées automatiquement via `npm run translate`. Cela prépare l'adaptateur pour Weblate et améliore la compatibilité avec les dernières exigences du référentiel ioBroker.",
43
- "it": "Configurazione dell'amministratore rifattorizzata per utilizzare l'ambiente di traduzione ioBroker i18n. Tutte le etichette jsonConfig sono ora definite in inglese e le traduzioni vengono generate automaticamente tramite \"npm run Translate\". Questo prepara l'adattatore per Weblate e migliora la compatibilità con i requisiti del repository più recente di ioBroker.",
44
- "es": "Configuración de administrador refactorizada para utilizar el entorno de traducción ioBroker i18n. Todas las etiquetas jsonConfig ahora están definidas en inglés y las traducciones se generan automáticamente a través de `npm run Translate`. Esto prepara el adaptador para Weblate y mejora la compatibilidad con los últimos requisitos del repositorio de ioBroker.",
45
- "pl": "Zrefaktoryzowana konfiguracja administratora w celu korzystania ze środowiska tłumaczeniowego ioBroker i18n. Wszystkie etykiety jsonConfig są teraz zdefiniowane w języku angielskim, a tłumaczenia są generowane automatycznie za pomocą `npm run Translator`. Przygotowuje to adapter do obsługi Weblate i poprawia zgodność z najnowszymi wymaganiami repozytorium ioBroker.",
46
- "uk": "Перероблено конфігурацію адміністратора для використання середовища перекладу ioBroker i18n. Усі мітки jsonConfig тепер визначені англійською мовою, а переклади генеруються автоматично за допомогою `npm run translate`. Це готує адаптер для Weblate і покращує сумісність із останніми вимогами до сховища ioBroker.",
47
- "zh-cn": "重构管理配置以使用 ioBroker i18n 翻译环境。所有 jsonConfig 标签现在均以英语定义,并通过“npm run translate”自动生成翻译。这为 Weblate 准备了适配器,并提高了与 ioBroker 最新存储库要求的兼容性。"
48
- },
49
- "1.2.0": {
50
- "en": "Maintenance release. Prepares PoolControl for the Stable repository by enabling i18n in the instance configuration (jsonConfig) and adding bilingual (DE/EN) labels and texts. No functional changes to the adapter logic.",
51
- "de": "Wartungs-Release. Vorbereitung für das Stable-Repository durch Aktivierung von i18n in der Instanzkonfiguration (jsonConfig) und Ergänzung zweisprachiger (DE/EN) Labels und Texte. Keine funktionalen Änderungen an der Adapterlogik.",
52
- "ru": "Технический релиз. Подготовка PoolControl к репозиторию Stable: включение i18n в конфигурации экземпляра (jsonConfig) и добавление двуязычных (DE/EN) подписей и текстов. Функциональных изменений в логике адаптера нет.",
53
- "pt": "Versão de manutenção. Preparação do PoolControl para o repositório Stable ao ativar o i18n na configuração da instância (jsonConfig) e adicionar rótulos e textos bilingues (DE/EN). Sem alterações funcionais na lógica do adaptador.",
54
- "nl": "Onderhoudsrelease. Bereidt PoolControl voor op de Stable-repository door i18n in de instance-configuratie (jsonConfig) te activeren en tweetalige (DE/EN) labels en teksten toe te voegen. Geen functionele wijzigingen in de adapterlogica.",
55
- "fr": "Version de maintenance. Prépare PoolControl pour le dépôt Stable en activant i18n dans la configuration de l’instance (jsonConfig) et en ajoutant des libellés et textes bilingues (DE/EN). Aucun changement fonctionnel dans la logique de l’adaptateur.",
56
- "it": "Release di manutenzione. Preparazione di PoolControl per il repository Stable abilitando i18n nella configurazione dell’istanza (jsonConfig) e aggiungendo etichette e testi bilingui (DE/EN). Nessuna modifica funzionale alla logica dell’adattatore.",
57
- "es": "Versión de mantenimiento. Prepara PoolControl para el repositorio Stable habilitando i18n en la configuración de instancia (jsonConfig) y añadiendo etiquetas y textos bilingües (DE/EN). Sin cambios funcionales en la lógica del adaptador.",
58
- "pl": "Wydanie konserwacyjne. Przygotowanie PoolControl do repozytorium Stable poprzez włączenie i18n w konfiguracji instancji (jsonConfig) oraz dodanie dwujęzycznych (DE/EN) etykiet i tekstów. Brak zmian funkcjonalnych w logice adaptera.",
59
- "uk": "Реліз обслуговування. Підготовка PoolControl до репозиторію Stable: увімкнення i18n у конфігурації інстансу (jsonConfig) та додавання двомовних (DE/EN) підписів і текстів. Жодних функціональних змін у логіці адаптера.",
60
- "zh-cn": "维护版本。为进入 Stable 仓库做准备:在实例配置(jsonConfig)中启用 i18n,并添加双语(德语/英语)标签与文本。适配器逻辑无功能性变更。"
61
- },
62
- "1.1.0": {
63
- "en": "Feature release. Introduces a new passive pump speed recommendation layer (pump.speed). PoolControl now derives a clear logical pump performance state (off, frost, low, normal, high, boost) from existing pump logic and provides an optional, configurable percentage recommendation (0–100%). This enables seamless integration with external speed control solutions such as Shelly 0–10 V, frequency converters or Blockly scripts, without modifying or interfering with the existing pump control logic.",
64
- "de": "Feature-Release. Einführung einer neuen passiven Pumpen-Leistungsempfehlung (pump.speed). PoolControl leitet nun einen klaren logischen Leistungszustand der Pumpe (off, frost, low, normal, high, boost) aus der bestehenden Pumpenlogik ab und stellt zusätzlich eine optionale, frei konfigurierbare Prozent-Empfehlung (0–100 %) bereit. Dadurch können externe Drehzahlsteuerungen wie Shelly 0–10 V, Frequenzumrichter oder Blockly-Skripte angebunden werden, ohne die bestehende Pumpensteuerung zu verändern oder zu beeinflussen.",
65
- "ru": "Релиз с новым функционалом. Добавлен новый пассивный уровень рекомендации скорости насоса (pump.speed). PoolControl теперь определяет логическое состояние производительности насоса (off, frost, low, normal, high, boost) на основе существующей логики работы насоса и предоставляет дополнительную настраиваемую рекомендацию в процентах (0–100 %). Это позволяет интегрировать внешние системы управления скоростью, такие как Shelly 0–10 V, частотные преобразователи или скрипты Blockly, без изменения существующей логики управления насосом.",
66
- "pt": "Versão com novas funcionalidades. Introduz uma nova camada passiva de recomendação de velocidade da bomba (pump.speed). O PoolControl passa a derivar um estado lógico claro de desempenho da bomba (off, frost, low, normal, high, boost) a partir da lógica existente e fornece uma recomendação percentual opcional e configurável (0–100%). Isto permite a integração com soluções externas de controlo de velocidade, como Shelly 0–10 V, conversores de frequência ou scripts Blockly, sem alterar a lógica de controlo da bomba existente.",
67
- "nl": "Feature-release. Introduceert een nieuwe passieve aanbevelingslaag voor pompsnelheid (pump.speed). PoolControl leidt nu een duidelijke logische pompvermogensstatus af (off, frost, low, normal, high, boost) op basis van de bestaande pomplogica en biedt daarnaast een optionele, configureerbare procentuele aanbeveling (0–100%). Dit maakt integratie mogelijk met externe snelheidsregelingen zoals Shelly 0–10 V, frequentieregelaars of Blockly-scripts, zonder de bestaande pompregeling te wijzigen.",
68
- "fr": "Version fonctionnelle. Introduction d’une nouvelle couche passive de recommandation de vitesse de la pompe (pump.speed). PoolControl déduit désormais un état logique clair de performance de la pompe (off, frost, low, normal, high, boost) à partir de la logique existante et fournit en plus une recommandation de pourcentage configurable (0–100 %). Cela permet l’intégration de solutions externes de contrôle de vitesse telles que Shelly 0–10 V, variateurs de fréquence ou scripts Blockly, sans modifier la logique de commande existante.",
69
- "it": "Release funzionale. Introduce un nuovo livello passivo di raccomandazione della velocità della pompa (pump.speed). PoolControl ricava ora uno stato logico chiaro delle prestazioni della pompa (off, frost, low, normal, high, boost) dalla logica esistente e fornisce una raccomandazione percentuale opzionale e configurabile (0–100%). Ciò consente l’integrazione con soluzioni esterne di controllo della velocità come Shelly 0–10 V, inverter o script Blockly, senza modificare la logica di controllo della pompa esistente.",
70
- "es": "Versión con nuevas funciones. Introduce una nueva capa pasiva de recomendación de velocidad de la bomba (pump.speed). PoolControl ahora deriva un estado lógico claro del rendimiento de la bomba (off, frost, low, normal, high, boost) a partir de la lógica existente y proporciona una recomendación porcentual opcional y configurable (0–100%). Esto permite integrar soluciones externas de control de velocidad como Shelly 0–10 V, variadores de frecuencia o scripts Blockly, sin modificar la lógica de control de la bomba existente.",
71
- "pl": "Wydanie z nową funkcjonalnością. Wprowadza nową pasywną warstwę rekomendacji prędkości pompy (pump.speed). PoolControl wyznacza teraz jednoznaczny logiczny stan wydajności pompy (off, frost, low, normal, high, boost) na podstawie istniejącej logiki oraz udostępnia opcjonalną, konfigurowalną rekomendację procentową (0–100%). Umożliwia to integrację z zewnętrznymi systemami sterowania prędkością, takimi jak Shelly 0–10 V, falowniki czy skrypty Blockly, bez ingerencji w istniejącą logikę sterowania pompą.",
72
- "uk": "Функціональний реліз. Додано новий пасивний рівень рекомендації швидкості насоса (pump.speed). PoolControl тепер визначає чіткий логічний стан продуктивності насоса (off, frost, low, normal, high, boost) на основі наявної логіки та надає додаткову налаштовувану процентну рекомендацію (0–100 %). Це дозволяє інтегрувати зовнішні рішення керування швидкістю, такі як Shelly 0–10 V, частотні перетворювачі або скрипти Blockly, без зміни існуючої логіки керування насосом.",
73
- "zh-cn": "功能版本。引入了新的被动泵速推荐层(pump.speed)。PoolControl 现在可以基于现有的泵控制逻辑派生出清晰的逻辑性能状态(off、frost、low、normal、high、boost),并提供可选的、可配置的百分比推荐(0–100%)。这使其能够与 Shelly 0–10 V、变频器或 Blockly 脚本等外部转速控制方案无缝集成,而无需修改现有的泵控制逻辑。"
74
- },
75
- "1.0.1": {
76
- "en": "Bugfix release. Fixes incomplete weather code descriptions in the AI weather forecast module by fully aligning with the official Open-Meteo weather code specification. This prevents raw numeric weather codes from appearing in notifications, speech output, or AI-generated texts and ensures consistent, human-readable weather descriptions across all outputs.",
77
- "de": "Bugfix-Release. Behebt unvollständige Wettercode-Beschreibungen im KI-Wettervorhersagemodul durch vollständige Anpassung an die offizielle Open-Meteo-Wettercode-Spezifikation. Dadurch wird verhindert, dass rohe numerische Wettercodes in Benachrichtigungen, Sprachausgaben oder KI-generierten Texten erscheinen, und es werden durchgehend verständliche Klartext-Beschreibungen sichergestellt.",
78
- "ru": "Исправляющий релиз. Устраняет неполные описания погодных кодов в модуле ИИ-прогноза погоды за счёт полного соответствия официальной спецификации погодных кодов Open-Meteo. Это предотвращает появление числовых кодов погоды в уведомлениях, голосовых сообщениях и ИИ-текстах, обеспечивая понятные текстовые описания.",
79
- "pt": "Versão de correção de erros. Corrige descrições incompletas dos códigos meteorológicos no módulo de previsão meteorológica por IA, alinhando-o totalmente com a especificação oficial de códigos meteorológicos do Open-Meteo. Isto evita a exibição de códigos numéricos brutos em notificações, saídas de voz ou textos gerados por IA, garantindo descrições claras e legíveis.",
80
- "nl": "Bugfix-release. Corrigeert onvolledige weerkodebeschrijvingen in de AI-weervoorspellingsmodule door volledige afstemming op de officiële Open-Meteo-weerkodespecificatie. Dit voorkomt dat ruwe numerieke weerkodes verschijnen in meldingen, spraakuitvoer of AI-gegenereerde teksten en zorgt voor consistente, leesbare beschrijvingen.",
81
- "fr": "Version corrective. Corrige les descriptions incomplètes des codes météo dans le module de prévision météo basé sur l’IA en les alignant entièrement sur la spécification officielle des codes météo Open-Meteo. Cela empêche l’affichage de codes numériques bruts dans les notifications, les sorties vocales ou les textes générés par l’IA.",
82
- "it": "Release di correzione. Risolve descrizioni incomplete dei codici meteo nel modulo di previsione meteorologica basato su IA, allineandolo completamente alla specifica ufficiale dei codici meteo Open-Meteo. Questo evita la visualizzazione di codici numerici grezzi in notifiche, output vocali o testi generati dall’IA.",
83
- "es": "Versión de corrección de errores. Corrige descripciones incompletas de los códigos meteorológicos en el módulo de previsión meteorológica con IA mediante una alineación completa con la especificación oficial de códigos meteorológicos de Open-Meteo. Esto evita que aparezcan códigos numéricos sin procesar en notificaciones, salidas de voz o textos generados por IA.",
84
- "pl": "Wydanie poprawkowe. Naprawia niekompletne opisy kodów pogodowych w module prognozy pogody opartym na AI poprzez pełne dostosowanie do oficjalnej specyfikacji kodów pogodowych Open-Meteo. Zapobiega to wyświetlaniu surowych kodów numerycznych w powiadomieniach, komunikatach głosowych oraz tekstach generowanych przez AI.",
85
- "uk": "Випуск з виправленнями. Усунено неповні описи погодних кодів у модулі прогнозу погоди на основі ШІ шляхом повного узгодження з офіційною специфікацією погодних кодів Open-Meteo. Це запобігає появі сирих числових кодів у сповіщеннях, голосових повідомленнях та текстах, створених ШІ.",
86
- "zh-cn": "错误修复版本。通过完全对齐 Open-Meteo 官方天气代码规范,修复了 AI 天气预报模块中不完整的天气代码描述问题,从而避免在通知、语音输出或 AI 生成的文本中显示原始数字天气代码,确保始终提供可读的文字说明。"
87
- },
88
- "1.0.0": {
89
- "en": "First stable release of ioBroker.poolcontrol. Consolidates all core features developed over previous versions, including pump control, temperature management, solar and photovoltaic logic, heating / heat pump control, statistics, diagnostics, and AI-based information modules. The adapter architecture is now considered stable, modular, and production-ready, with consistent event-based helpers, persistent states, and strict ownership and priority handling across all control domains.",
90
- "de": "Erste stabile Version von ioBroker.poolcontrol. Bündelt alle in den vorherigen Versionen entwickelten Kernfunktionen, einschließlich Pumpensteuerung, Temperaturverwaltung, Solar- und Photovoltaiklogik, Heizungs- / Wärmepumpensteuerung, Statistik, Diagnose sowie KI-basierter Informationsmodule. Die Adapterarchitektur gilt nun als stabil, modular und produktionsreif, mit durchgängig eventbasierter Logik, persistenten Datenpunkten sowie klarer Ownership- und Vorrangslogik in allen Steuerungsbereichen.",
91
- "ru": "Первая стабильная версия ioBroker.poolcontrol. Объединяет все основные функции, разработанные в предыдущих версиях, включая управление насосом, контроль температуры, солнечную и фотоэлектрическую логику, управление отоплением / тепловым насосом, статистику, диагностику и ИИ-информационные модули. Архитектура адаптера считается стабильной, модульной и готовой к использованию в продуктивной среде, с полностью событийной логикой, постоянными состояниями и строгой системой приоритетов и владения.",
92
- "pt": "Primeira versão estável do ioBroker.poolcontrol. Consolida todas as funcionalidades principais desenvolvidas nas versões anteriores, incluindo controlo da bomba, gestão de temperatura, lógica solar e fotovoltaica, controlo de aquecimento / bomba de calor, estatísticas, diagnóstico e módulos de informação baseados em IA. A arquitetura do adaptador é agora considerada estável, modular e pronta para produção, com lógica totalmente orientada a eventos, estados persistentes e uma gestão rigorosa de prioridades e propriedade.",
93
- "nl": "Eerste stabiele release van ioBroker.poolcontrol. Bundelt alle kernfunctionaliteiten die in eerdere versies zijn ontwikkeld, waaronder pompbesturing, temperatuurbeheer, zonne- en fotovoltaïsche logica, verwarmings- / warmtepompregeling, statistieken, diagnose en AI-informatiesystemen. De adapterarchitectuur wordt nu als stabiel, modulair en productie-klaar beschouwd, met volledig event-gebaseerde logica, persistente states en een strikte prioriteits- en eigendomsafhandeling.",
94
- "fr": "Première version stable de ioBroker.poolcontrol. Regroupe toutes les fonctionnalités principales développées dans les versions précédentes, notamment le contrôle de la pompe, la gestion des températures, la logique solaire et photovoltaïque, le contrôle du chauffage / pompe à chaleur, les statistiques, le diagnostic et les modules d’information basés sur l’IA. L’architecture de l’adaptateur est désormais considérée comme stable, modulaire et prête pour un usage en production, avec une logique entièrement événementielle, des états persistants et une gestion stricte des priorités et de la propriété.",
95
- "it": "Prima versione stabile di ioBroker.poolcontrol. Riunisce tutte le funzionalità principali sviluppate nelle versioni precedenti, inclusi il controllo della pompa, la gestione delle temperature, la logica solare e fotovoltaica, il controllo del riscaldamento / pompa di calore, le statistiche, la diagnostica e i moduli informativi basati su IA. L’architettura dell’adattatore è ora considerata stabile, modulare e pronta per l’uso in produzione, con logica completamente event-based, stati persistenti e una gestione rigorosa delle priorità e della proprietà.",
96
- "es": "Primera versión estable de ioBroker.poolcontrol. Consolida todas las funciones principales desarrolladas en versiones anteriores, incluyendo el control de la bomba, la gestión de temperaturas, la lógica solar y fotovoltaica, el control de calefacción / bomba de calor, estadísticas, diagnóstico y módulos de información basados en IA. La arquitectura del adaptador se considera ahora estable, modular y lista para producción, con lógica completamente basada en eventos, estados persistentes y una gestión estricta de prioridades y propiedad.",
97
- "pl": "Pierwsza stabilna wersja ioBroker.poolcontrol. Konsoliduje wszystkie kluczowe funkcje rozwijane w poprzednich wersjach, w tym sterowanie pompą, zarządzanie temperaturą, logikę solarną i fotowoltaiczną, sterowanie ogrzewaniem / pompą ciepła, statystyki, diagnostykę oraz moduły informacyjne oparte na AI. Architektura adaptera jest obecnie uznawana za stabilną, modułową i gotową do użycia produkcyjnego, z w pełni zdarzeniową logiką, trwałymi stanami oraz ścisłym systemem priorytetów i własności.",
98
- "uk": "Перша стабільна версія ioBroker.poolcontrol. Об’єднує всі основні функції, розроблені в попередніх версіях, включаючи керування насосом, керування температурою, сонячну та фотоелектричну логіку, керування опаленням / тепловим насосом, статистику, діагностику та інформаційні модулі на основі ШІ. Архітектура адаптера тепер вважається стабільною, модульною та готовою до використання в робочому середовищі, з повністю подієвою логікою, постійними станами та чіткою системою пріоритетів і володіння.",
99
- "zh-cn": "ioBroker.poolcontrol 的首个稳定版本。整合了此前版本中开发的所有核心功能,包括水泵控制、温度管理、太阳能与光伏逻辑、加热 / 热泵控制、统计、诊断以及基于 AI 的信息模块。适配器架构现已被认为是稳定、模块化且可用于生产环境,具备完全事件驱动的逻辑、持久化数据点以及严格的优先级和所有权管理机制。"
100
- },
101
- "0.9.1": {
102
- "en": "Extended heating / heat pump control (heatHelper) with configurable pump pre-run before heating start. The pump can now be started a defined time before the heater is activated to ensure sufficient water flow and pressure (e.g. for heat pumps). Includes new states for pre-run timing and status, fully integrated into the existing priority, ownership, and safety logic.",
103
- "de": "Erweiterte Heizungs- / Wärmepumpensteuerung (heatHelper) um eine konfigurierbare Pumpen-Vorlaufzeit vor Heizstart. Die Pumpe kann nun für eine definierte Zeit vor dem Einschalten der Heizung gestartet werden, um ausreichend Wasserdurchfluss und Druck sicherzustellen (z. B. bei Wärmepumpen). Enthält neue Datenpunkte für Vorlaufzeit und Vorlaufstatus, vollständig integriert in die bestehende Vorrangs-, Ownership- und Sicherheitslogik.",
104
- "ru": "Расширенная система управления отоплением / тепловым насосом (heatHelper) с настраиваемым предварительным запуском насоса перед началом нагрева. Насос может запускаться за заданное время до включения отопления для обеспечения достаточного потока и давления воды (например, для тепловых насосов). Добавлены новые состояния для времени предварительного запуска и его статуса, полностью интегрированные в существующую логику приоритетов, владения и безопасности.",
105
- "pt": "Controlo de aquecimento / bomba de calor (heatHelper) alargado com pré-funcionamento configurável da bomba antes do início do aquecimento. A bomba pode agora ser ligada durante um período definido antes da ativação do aquecedor para garantir caudal e pressão de água suficientes (por exemplo, em bombas de calor). Inclui novos estados para tempo e estado do pré-funcionamento, totalmente integrados na lógica existente de prioridades, propriedade e segurança.",
106
- "nl": "Uitgebreide verwarmings- / warmtepompregeling (heatHelper) met configureerbare pomp-voorloop vóór de start van de verwarming. De pomp kan nu een ingestelde tijd vóór het inschakelen van de verwarming worden gestart om voldoende waterdoorstroming en druk te garanderen (bijv. voor warmtepompen). Bevat nieuwe states voor voorlooptijd en -status, volledig geïntegreerd in de bestaande prioriteits-, eigendoms- en veiligheidslogica.",
107
- "fr": "Extension du contrôle de chauffage / pompe à chaleur (heatHelper) avec un préfonctionnement configurable de la pompe avant le démarrage du chauffage. La pompe peut désormais être démarrée un temps défini avant l’activation du chauffage afin d’assurer un débit et une pression d’eau suffisants (par ex. pour les pompes à chaleur). Ajout de nouveaux états pour la durée et le statut du préfonctionnement, entièrement intégrés à la logique existante de priorité, de propriété et de sécurité.",
108
- "it": "Controllo di riscaldamento / pompa di calore (heatHelper) esteso con pre-avviamento configurabile della pompa prima dell’inizio del riscaldamento. La pompa può ora essere avviata per un periodo definito prima dell’attivazione del riscaldamento per garantire un flusso e una pressione dell’acqua sufficienti (ad es. per le pompe di calore). Include nuovi stati per il tempo e lo stato del pre-avviamento, completamente integrati nella logica esistente di priorità, proprietà e sicurezza.",
109
- "es": "Control de calefacción / bomba de calor (heatHelper) ampliado con prefuncionamiento configurable de la bomba antes del inicio de la calefacción. La bomba puede iniciarse ahora durante un tiempo definido antes de activar la calefacción para garantizar un caudal y una presión de agua suficientes (p. ej., para bombas de calor). Incluye nuevos estados para el tiempo y el estado del prefuncionamiento, totalmente integrados en la lógica existente de prioridades, propiedad y seguridad.",
110
- "pl": "Rozszerzony system sterowania ogrzewaniem / pompą ciepła (heatHelper) o konfigurowalny wstępny bieg pompy przed rozpoczęciem grzania. Pompa może być uruchamiana na określony czas przed włączeniem ogrzewania w celu zapewnienia odpowiedniego przepływu i ciśnienia wody (np. dla pomp ciepła). Dodano nowe stany dla czasu i statusu biegu wstępnego, w pełni zintegrowane z istniejącą logiką priorytetów, własności i bezpieczeństwa.",
111
- "uk": "Розширене керування опаленням / тепловим насосом (heatHelper) з налаштовуваним попереднім запуском насоса перед початком нагріву. Насос може запускатися за визначений час до увімкнення опалення для забезпечення достатнього потоку та тиску води (наприклад, для теплових насосів). Додано нові стани для часу та статусу попереднього запуску, повністю інтегровані в існуючу логіку пріоритетів, володіння та безпеки.",
112
- "zh-cn": "扩展了加热 / 热泵控制功能(heatHelper),新增可配置的加热前水泵预运行时间。水泵可在加热设备启动前提前运行一段时间,以确保足够的水流和水压(例如用于热泵)。新增了预运行时间和状态的数据点,已完全集成到现有的优先级、所有权和安全逻辑中。"
113
- },
114
- "0.9.0": {
115
- "en": "New heating / heat pump control (heatHelper). Automatic control based on pool temperature with configurable target and maximum temperature, pump after-run time, and full priority handling (e.g. maintenance mode). Works only in automatic pump mode and respects season status. Supports both switchable sockets and boolean control states. Includes ownership protection to avoid interfering with other pump controllers.",
116
- "de": "Neue Heizungs- / Wärmepumpensteuerung (heatHelper). Automatische Regelung basierend auf der Pooltemperatur mit konfigurierbarer Ziel- und Maximaltemperatur, Pumpen-Nachlaufzeit sowie vollständiger Vorranglogik (z. B. Wartungsmodus). Arbeitet ausschließlich im Automatikmodus der Pumpe und berücksichtigt den Saisonstatus. Unterstützt schaltbare Steckdosen und boolesche Steuer-States. Enthält Ownership-Schutz, um Konflikte mit anderen Pumpensteuerungen zu vermeiden.",
117
- "ru": "Новая система управления отоплением / тепловым насосом (heatHelper). Автоматическое управление на основе температуры воды с настраиваемой целевой и максимальной температурой, временем добега насоса и полной системой приоритетов (например, режим обслуживания). Работает только в автоматическом режиме насоса и учитывает сезонный статус. Поддерживает как переключаемые розетки, так и булевы управляющие состояния. Включает защиту владения для предотвращения конфликтов с другими контроллерами насоса.",
118
- "pt": "Novo controlo de aquecimento / bomba de calor (heatHelper). Controlo automático baseado na temperatura da piscina com temperatura alvo e máxima configuráveis, tempo de pós-funcionamento da bomba e lógica completa de prioridades (por exemplo, modo de manutenção). Funciona apenas no modo automático da bomba e respeita o estado da época. Suporta tomadas comutáveis e estados de controlo booleanos. Inclui proteção de propriedade para evitar conflitos com outros controladores da bomba.",
119
- "nl": "Nieuwe verwarmings- / warmtepompregeling (heatHelper). Automatische regeling op basis van de zwembadtemperatuur met instelbare doel- en maximumtemperatuur, pomp-nalooptijd en volledige prioriteitslogica (bijv. onderhoudsmodus). Werkt uitsluitend in de automatische pompmodus en houdt rekening met de seizoensstatus. Ondersteunt zowel schakelbare stopcontacten als booleaanse besturingsstates. Bevat eigendomsbescherming om conflicten met andere pompcontrollers te voorkomen.",
120
- "fr": "Nouveau contrôle de chauffage / pompe à chaleur (heatHelper). Régulation automatique basée sur la température de la piscine avec températures cible et maximale configurables, temps de post-fonctionnement de la pompe et gestion complète des priorités (par ex. mode maintenance). Fonctionne uniquement en mode automatique de la pompe et respecte le statut de saison. Prend en charge les prises commutables et les états de commande booléens. Inclut une protection de propriété afin d’éviter les conflits avec d’autres contrôleurs de pompe.",
121
- "it": "Nuovo controllo di riscaldamento / pompa di calore (heatHelper). Controllo automatico basato sulla temperatura della piscina con temperatura obiettivo e massima configurabili, tempo di post-funzionamento della pompa e gestione completa delle priorità (ad es. modalità manutenzione). Funziona solo in modalità automatica della pompa e tiene conto dello stato stagionale. Supporta prese commutabili e stati di controllo booleani. Include una protezione di proprietà per evitare conflitti con altri controllori della pompa.",
122
- "es": "Nuevo control de calefacción / bomba de calor (heatHelper). Control automático basado en la temperatura de la piscina con temperatura objetivo y máxima configurables, tiempo de posfuncionamiento de la bomba y gestión completa de prioridades (p. ej., modo de mantenimiento). Funciona únicamente en modo automático de la bomba y respeta el estado de la temporada. Compatible con enchufes conmutables y estados de control booleanos. Incluye protección de propiedad para evitar conflictos con otros controladores de la bomba.",
123
- "pl": "Nowy system sterowania ogrzewaniem / pompą ciepła (heatHelper). Automatyczne sterowanie na podstawie temperatury basenu z konfigurowalną temperaturą docelową i maksymalną, czasem dobiegu pompy oraz pełną obsługą priorytetów (np. tryb konserwacji). Działa wyłącznie w trybie automatycznym pompy i uwzględnia status sezonu. Obsługuje przełączalne gniazda oraz binarne stany sterujące. Zawiera ochronę własności, aby zapobiec konfliktom z innymi kontrolerami pompy.",
124
- "uk": "Нова система керування опаленням / тепловим насосом (heatHelper). Автоматичне керування на основі температури басейну з налаштовуваною цільовою та максимальною температурою, часом післяроботи насоса та повною системою пріоритетів (наприклад, режим обслуговування). Працює лише в автоматичному режимі насоса та враховує сезонний статус. Підтримує комутовані розетки та булеві стани керування. Містить захист володіння для запобігання конфліктам з іншими контролерами насоса.",
125
- "zh-cn": "新增加热 / 热泵控制功能(heatHelper)。基于泳池水温的自动控制,支持可配置的目标温度和最高温度、泵后运行时间以及完整的优先级处理(例如维护模式)。仅在泵的自动模式下工作,并考虑季节状态。支持可开关插座和布尔控制状态。包含所有权保护机制,避免与其他泵控制逻辑发生冲突。"
126
- },
127
- "0.8.2": {
128
- "en": "New AI chemistry help module. Provides an interactive, purely informational help system for common pool water issues (e.g. pH too high/low, chlorine ineffective, green or cloudy water). Generates understandable explanations and solution directions without automatic dosing, product recommendations, device control or speech output.",
129
- "de": "Neues KI-Chemie-Hilfesystem. Bietet eine interaktive, rein informative Unterstützung bei typischen Poolwasserproblemen (z. B. pH zu hoch/niedrig, Chlor wirkt nicht, grünes oder trübes Wasser). Erzeugt verständliche Ursachen- und Lösungshinweise ohne automatische Dosierung, Produktempfehlungen, Geräte­steuerung oder Sprachausgabe.",
130
- "ru": "Новый модуль помощи по химии бассейна на основе ИИ. Интерактивная, исключительно информационная система поддержки для типичных проблем воды (например, высокий/низкий pH, неэффективный хлор, зелёная или мутная вода). Без автоматического дозирования, рекомендаций продуктов, управления устройствами или голосового вывода.",
131
- "pt": "Novo módulo de ajuda química com IA. Sistema interativo e puramente informativo para problemas comuns da água da piscina (por exemplo, pH alto/baixo, cloro ineficaz, água verde ou turva). Sem dosagem automática, recomendações de produtos, controlo de dispositivos ou saída de voz.",
132
- "nl": "Nieuw AI-chemiehulpmodule. Biedt een interactieve, puur informatieve hulp voor veelvoorkomende zwembadwaterproblemen (bijv. pH te hoog/laag, chloor werkt niet, groen of troebel water). Geen automatische dosering, productaanbevelingen, apparaatbesturing of spraakuitvoer.",
133
- "fr": "Nouveau module d’aide chimique basé sur l’IA. Système interactif et purement informatif pour les problèmes courants de l’eau de piscine (pH trop élevé/bas, chlore inefficace, eau verte ou trouble). Sans dosage automatique, recommandations de produits, contrôle d’appareils ni sortie vocale.",
134
- "it": "Nuovo modulo di aiuto chimico basato su IA. Sistema interattivo e puramente informativo per i problemi comuni dell’acqua della piscina (ad es. pH troppo alto/basso, cloro inefficace, acqua verde o torbida). Nessun dosaggio automatico, consigli sui prodotti, controllo dei dispositivi o output vocale.",
135
- "es": "Nuevo módulo de ayuda química con IA. Sistema interactivo y puramente informativo para problemas comunes del agua de la piscina (p. ej., pH alto/bajo, cloro ineficaz, agua verde o turbia). Sin dosificación automática, recomendaciones de productos, control de dispositivos ni salida por voz.",
136
- "pl": "Nowy moduł pomocy chemicznej oparty na AI. Interaktywny, wyłącznie informacyjny system wsparcia dla typowych problemów wody basenowej (np. zbyt wysokie/niskie pH, nieskuteczny chlor, zielona lub mętna woda). Bez automatycznego dozowania, rekomendacji produktów, sterowania urządzeniami ani komunikatów głosowych.",
137
- "uk": "Новий модуль допомоги з хімії басейну на основі ШІ. Інтерактивна, виключно інформаційна система підтримки для типових проблем води (наприклад, високий/низький pH, неефективний хлор, зелена або каламутна вода). Без автоматичного дозування, рекомендацій продуктів, керування пристроями чи голосового виводу.",
138
- "zh-cn": "新增 AI 水质化学帮助模块。为常见的泳池水问题(如 pH 过高/过低、氯无效、绿水或浑浊水)提供交互式、纯信息性的帮助说明。不包含自动投加、产品推荐、设备控制或语音输出。"
139
70
  }
140
71
  },
141
72
  "titleLang": {
@@ -312,7 +312,7 @@ const aiForecastHelper = {
312
312
  }
313
313
 
314
314
  if (this._debugMode) {
315
- this.adapter.log.debug(`[aiForecastHelper] Geodaten: lat=${lat}, lon=${lon}`);
315
+ this.adapter.log.debug(`[aiForecastHelper] Geolocation data: lat=${lat}, lon=${lon}`);
316
316
  }
317
317
 
318
318
  return { lat, lon };
@@ -282,7 +282,7 @@ const heatHelper = {
282
282
  heatingRequest: true,
283
283
  });
284
284
 
285
- this.adapter.log.info(`[heatHelper] Heizung EIN (${reason})`);
285
+ this.adapter.log.info(`[heatHelper] Heating ON (${reason})`);
286
286
  },
287
287
 
288
288
  async _stopHeating({ reason, controlType, controlObjectId, afterrunMin }) {
package/main.js CHANGED
@@ -89,7 +89,7 @@ class Poolcontrol extends utils.Adapter {
89
89
  }
90
90
 
91
91
  async onReady() {
92
- this.log.info('Adapter gestartet');
92
+ this.log.info('Adapter started');
93
93
 
94
94
  // --- Allgemeine Einstellungen ---
95
95
  await createGeneralStates(this);
@@ -258,7 +258,7 @@ class Poolcontrol extends utils.Adapter {
258
258
  infoHelper.cleanup();
259
259
  }
260
260
  } catch (e) {
261
- this.log.warn(`[onUnload] Fehler beim Cleanup: ${e.message}`);
261
+ this.log.warn(`[onUnload] Error during cleanup: ${e.message}`);
262
262
  } finally {
263
263
  callback();
264
264
  }
@@ -290,7 +290,7 @@ class Poolcontrol extends utils.Adapter {
290
290
 
291
291
  // Saisonstatus manuell ändern (z.B. über VIS)
292
292
  if (id.endsWith('status.season_active') && state && state.ack === false) {
293
- this.log.info(`[main] Saisonstatus geändert: ${state.val}`);
293
+ this.log.info(`[main] Season status changed: ${state.val}`);
294
294
  await this.setStateAsync('status.season_active', { val: state.val, ack: true });
295
295
  return; // danach keine Helper mehr aufrufen
296
296
  }
@@ -298,91 +298,91 @@ class Poolcontrol extends utils.Adapter {
298
298
  try {
299
299
  temperatureHelper.handleStateChange(id, state);
300
300
  } catch (e) {
301
- this.log.warn(`[temperatureHelper] Fehler in handleStateChange: ${e.message}`);
301
+ this.log.warn(`[temperatureHelper] Error in handleStateChange: ${e.message}`);
302
302
  }
303
303
  try {
304
304
  runtimeHelper.handleStateChange(id, state);
305
305
  } catch (e) {
306
- this.log.warn(`[runtimeHelper] Fehler in handleStateChange: ${e.message}`);
306
+ this.log.warn(`[runtimeHelper] Error in handleStateChange: ${e.message}`);
307
307
  }
308
308
  try {
309
309
  pumpHelper.handleStateChange(id, state);
310
310
  } catch (e) {
311
- this.log.warn(`[pumpHelper] Fehler in handleStateChange: ${e.message}`);
311
+ this.log.warn(`[pumpHelper] Error in handleStateChange: ${e.message}`);
312
312
  }
313
313
  try {
314
314
  pumpHelper2.handleStateChange(id, state);
315
315
  } catch (e) {
316
- this.log.warn(`[pumpHelper2] Fehler in handleStateChange: ${e.message}`);
316
+ this.log.warn(`[pumpHelper2] Error in handleStateChange: ${e.message}`);
317
317
  }
318
318
  try {
319
319
  pumpHelper3.handleStateChange(id, state);
320
320
  } catch (e) {
321
- this.log.warn(`[pumpHelper3] Fehler in handleStateChange: ${e.message}`);
321
+ this.log.warn(`[pumpHelper3] Error in handleStateChange: ${e.message}`);
322
322
  }
323
323
 
324
324
  try {
325
325
  pumpHelper4.handleStateChange(id, state);
326
326
  } catch (e) {
327
- this.log.warn(`[pumpHelper4] Fehler in handleStateChange: ${e.message}`);
327
+ this.log.warn(`[pumpHelper4] Error in handleStateChange: ${e.message}`);
328
328
  }
329
329
 
330
330
  try {
331
331
  pumpSpeedHelper.handleStateChange(id, state); // NEU
332
332
  } catch (e) {
333
- this.log.warn(`[pumpSpeedHelper] Fehler in handleStateChange: ${e.message}`);
333
+ this.log.warn(`[pumpSpeedHelper] Error in handleStateChange: ${e.message}`);
334
334
  }
335
335
 
336
336
  try {
337
337
  speechHelper.handleStateChange(id, state);
338
338
  } catch (e) {
339
- this.log.warn(`[speechHelper] Fehler in handleStateChange: ${e.message}`);
339
+ this.log.warn(`[speechHelper] Error in handleStateChange: ${e.message}`);
340
340
  }
341
341
  try {
342
342
  consumptionHelper.handleStateChange(id, state);
343
343
  } catch (e) {
344
- this.log.warn(`[consumptionHelper] Fehler in handleStateChange: ${e.message}`);
344
+ this.log.warn(`[consumptionHelper] Error in handleStateChange: ${e.message}`);
345
345
  }
346
346
  try {
347
347
  photovoltaicHelper.handleStateChange(id, state);
348
348
  } catch (e) {
349
- this.log.warn(`[photovoltaicHelper] Fehler in handleStateChange: ${e.message}`);
349
+ this.log.warn(`[photovoltaicHelper] Error in handleStateChange: ${e.message}`);
350
350
  }
351
351
  try {
352
352
  heatHelper.handleStateChange(id, state);
353
353
  } catch (e) {
354
- this.log.warn(`[heatHelper] Fehler in handleStateChange: ${e.message}`);
354
+ this.log.warn(`[heatHelper] Error in handleStateChange: ${e.message}`);
355
355
  }
356
356
  try {
357
357
  actuatorsHelper.handleStateChange(id, state); // NEU
358
358
  } catch (e) {
359
- this.log.warn(`[actuatorsHelper] Fehler in handleStateChange: ${e.message}`);
359
+ this.log.warn(`[actuatorsHelper] Error in handleStateChange: ${e.message}`);
360
360
  }
361
361
  // --- AI-Helper ---
362
362
  try {
363
363
  aiHelper.handleStateChange(id, state);
364
364
  } catch (e) {
365
- this.log.warn(`[main] Fehler in aiHelper.handleStateChange: ${e.message}`);
365
+ this.log.warn(`[main] Error in aiHelper.handleStateChange: ${e.message}`);
366
366
  }
367
367
  try {
368
368
  aiForecastHelper.handleStateChange(id, state);
369
369
  } catch (e) {
370
- this.log.warn(`[main] Fehler in aiForecastHelper.handleStateChange: ${e.message}`);
370
+ this.log.warn(`[main] Error in aiForecastHelper.handleStateChange: ${e.message}`);
371
371
  }
372
372
  try {
373
373
  aiChemistryHelpHelper.handleStateChange(id, state);
374
374
  } catch (e) {
375
- this.log.warn(`[main] Fehler in aiChemistryHelpHelper.handleStateChange: ${e.message}`);
375
+ this.log.warn(`[main] Error in aiChemistryHelpHelper.handleStateChange: ${e.message}`);
376
376
  }
377
377
  try {
378
378
  statusHelper.handleStateChange(id, state);
379
379
  } catch (e) {
380
- this.log.warn(`[statusHelper] Fehler in handleStateChange: ${e.message}`);
380
+ this.log.warn(`[statusHelper] Error in handleStateChange: ${e.message}`);
381
381
  }
382
382
  try {
383
383
  speechTextHelper.handleStateChange(id, state);
384
384
  } catch (e) {
385
- this.log.warn(`[speechTextHelper] Fehler in handleStateChange: ${e.message}`);
385
+ this.log.warn(`[speechTextHelper] Error in handleStateChange: ${e.message}`);
386
386
  }
387
387
  if (id.includes('control.')) {
388
388
  controlHelper.handleStateChange(id, state);
@@ -393,12 +393,12 @@ class Poolcontrol extends utils.Adapter {
393
393
 
394
394
  // --- Photovoltaik-Parameter ---
395
395
  if (id.endsWith('photovoltaic.afterrun_min')) {
396
- this.log.debug(`[onStateChange] Nachlaufzeit (PV) geändert auf ${state.val} Minuten`);
396
+ this.log.debug(`[onStateChange] PV after-run time changed to ${state.val} Minuten`);
397
397
  this.config.pv_afterrun_min = Number(state.val);
398
398
  }
399
399
 
400
400
  if (id.endsWith('photovoltaic.ignore_on_circulation')) {
401
- this.log.debug(`[onStateChange] PV-Logik ignorieren bei Umwälzmenge = ${state.val}`);
401
+ this.log.debug(`[onStateChange] Ignore PV logic on circulation = ${state.val}`);
402
402
  this.config.pv_ignore_on_circulation = !!state.val;
403
403
  }
404
404
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.poolcontrol",
3
- "version": "1.2.4",
3
+ "version": "1.2.6",
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",
@@ -24,9 +24,9 @@
24
24
  "@iobroker/adapter-core": "^3.3.2"
25
25
  },
26
26
  "devDependencies": {
27
- "@alcalzone/release-script": "^5.0.0",
28
- "@alcalzone/release-script-plugin-iobroker": "^4.0.0",
29
- "@alcalzone/release-script-plugin-license": "^4.0.0",
27
+ "@alcalzone/release-script": "^5.1.1",
28
+ "@alcalzone/release-script-plugin-iobroker": "^5.1.2",
29
+ "@alcalzone/release-script-plugin-license": "^5.1.1",
30
30
  "@iobroker/adapter-dev": "^1.5.0",
31
31
  "@iobroker/eslint-config": "^2.2.0",
32
32
  "@iobroker/testing": "^5.2.2",