iobroker.poolcontrol 1.3.32 → 1.3.33

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
@@ -36,6 +36,7 @@ It provides automation for pumps, heating, solar and photovoltaic control as wel
36
36
 
37
37
  - **Solar Control**
38
38
  - Collector on/off thresholds with hysteresis
39
+ - Live collector-surface delta for dashboards and scripts
39
40
  - Collector warning threshold
40
41
  - Optional speech output for warnings
41
42
  - Automatic reset logic
@@ -43,10 +44,12 @@ It provides automation for pumps, heating, solar and photovoltaic control as wel
43
44
  - **Solar Extended**
44
45
  - Separate control for external solar actuators
45
46
  - Delta on/off thresholds
47
+ - Live collector-pool reference delta for dashboards and scripts
46
48
  - Maximum pool temperature limits
47
49
  - Diagnostic and reason states
48
50
  - Priority and block logic
49
51
  - Status section under `solar.extended.*`
52
+ - Runtime changes to `solar.extended.pool_temperature_source` are applied automatically; because Solar Extended uses a cyclic check interval, calculation, control logic, and `solar.extended.collector_pool_reference_delta` may take up to approximately 60 seconds to update.
50
53
 
51
54
  - **Photovoltaic Control**
52
55
  - Pump control based on PV surplus and household consumption
@@ -271,6 +274,13 @@ New features are added regularly – please refer to the changelog.
271
274
  ---
272
275
 
273
276
  ## Changelog
277
+ ### 1.3.33 (2026-06-18)
278
+
279
+ - Added live delta states for standard solar and Solar Extended control:
280
+ - `solar.collector_surface_delta`
281
+ - `solar.extended.collector_pool_reference_delta`
282
+ - Documented that runtime changes to `solar.extended.pool_temperature_source` are applied automatically, but may take up to approximately 60 seconds due to the Solar Extended cyclic check interval.
283
+
274
284
  ### 1.3.32 (2026-06-08)
275
285
 
276
286
  - Added circulation plausibility diagnostics for daily circulation calculations.
@@ -296,12 +306,6 @@ New features are added regularly – please refer to the changelog.
296
306
  - Fixed missing initialization of season and solar warning runtime states from adapter configuration.
297
307
  - Added admin UI information about initial configuration values and runtime datapoint control.
298
308
 
299
- ### 1.3.28 (2026-06-03)
300
-
301
- - Added configurable startup power check timeout for pump monitoring (`pump.startup_power_check_timeout_sec`).
302
- - Default behavior remains unchanged (5 seconds).
303
- - Improved compatibility with delayed power measurements from smart plugs and power meters.
304
-
305
309
  ## Archived Release History
306
310
 
307
311
  For older releases and archived version history see:
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "poolcontrol",
4
- "version": "1.3.32",
4
+ "version": "1.3.33",
5
5
  "news": {
6
+ "1.3.33": {
7
+ "en": "Added live delta states for standard solar and Solar Extended control. Documented Solar Extended pool reference runtime update behavior.",
8
+ "de": "Live-Delta-Datenpunkte für Standard-Solar und Solar Extended ergänzt. Laufzeitverhalten der Solar-Extended-Poolreferenz dokumentiert.",
9
+ "ru": "Добавлены дельта-состояния в реальном времени для стандартного и расширенного управления солнечной энергией. Документированное поведение обновления во время выполнения ссылки на расширенный пул Solar.",
10
+ "pt": "Adicionados estados delta ao vivo para controle solar padrão e solar estendido. Comportamento de atualização de tempo de execução de referência do pool Solar Extended documentado.",
11
+ "nl": "Live deltatoestanden toegevoegd voor standaard zonne-energie en Solar Extended-regeling. Gedocumenteerd runtime-updategedrag van de Solar Extended-poolreferentie.",
12
+ "fr": "Ajout d'états delta en direct pour le contrôle solaire standard et solaire étendu. Comportement documenté de la mise à jour du runtime de référence du pool Solar Extended.",
13
+ "it": "Aggiunti stati delta live per il controllo solare standard e Solar Extended. Comportamento documentato dell'aggiornamento runtime di riferimento del pool Solar Extended.",
14
+ "es": "Se agregaron estados delta en vivo para control solar estándar y solar extendido. Comportamiento de actualización del tiempo de ejecución de referencia del grupo Solar Extended documentado.",
15
+ "pl": "Dodano stany delta na żywo dla standardowego sterowania solarnego i Solar Extended. Udokumentowane zachowanie aktualizacji środowiska uruchomieniowego referencyjnej puli Solar Extended.",
16
+ "uk": "Додано живі дельта-стани для стандартного сонячного та розширеного керування Solar. Задокументована поведінка оновлення середовища виконання довідкового пулу Solar Extended.",
17
+ "zh-cn": "为标准太阳能和太阳能扩展控制添加了实时增量状态。记录了 Solar Extended 池参考运行时更新行为。"
18
+ },
6
19
  "1.3.32": {
7
20
  "en": "Added circulation plausibility diagnostics. New checks detect implausible pump power, flow rates, and daily circulation jumps. Added detailed diagnostic states under circulation.plausibility to simplify troubleshooting and analysis of circulation calculations.",
8
21
  "de": "Plausibilitätsdiagnose für die Umwälzberechnung hinzugefügt. Neue Prüfungen erkennen unplausible Pumpenleistungen, Durchflusswerte und Sprünge der Tagesumwälzung. Detaillierte Diagnose-States unter circulation.plausibility erleichtern die Fehlersuche und Analyse der Umwälzberechnung.",
@@ -54,19 +67,6 @@
54
67
  "pl": "Dodano usługę Pool Insights V1 z obserwacjami, oceną stanu i obsługą środowiska wykonawczego i18n. Ulepszone generowanie tekstu Pool Insights i usunięta zależność od zewnętrznych bloków podsumowań. Naprawiono brakującą inicjalizację stanów wykonawczych sezonu i ostrzeżenia słonecznego z konfiguracji adaptera. Dodano uwagi do interfejsu administratora wyjaśniające wartości początkowe w porównaniu z kontrolą punktów danych w czasie wykonywania.",
55
68
  "uk": "Додано Pool Insights V1 із спостереженнями, оцінкою стану та підтримкою i18n під час виконання. Покращено створення тексту Pool Insights і видалено залежність від зовнішніх блоків підсумків. Виправлено відсутність ініціалізації сезону та станів попередження про сонячне світло з конфігурації адаптера. Додано примітки інтерфейсу користувача адміністратора, що пояснюють початкові значення та керування точкою даних під час виконання.",
56
69
  "zh-cn": "添加了 Pool Insights V1,具有观察、状态评估和运行时 i18n 支持。改进了 Pool Insights 文本生成并消除了对外部摘要块的依赖。修复了适配器配置中缺少季节和太阳警告运行时状态初始化的问题。添加了管理 UI 注释,解释初始值与运行时数据点控制。"
57
- },
58
- "1.3.28": {
59
- "en": "Added configurable startup power check timeout for pump monitoring (5-10 seconds). Improved compatibility with delayed power measurements from smart plugs and power meters.",
60
- "de": "Konfigurierbares Timeout für die Leistungsprüfung nach Pumpenstart (5-10 Sekunden) hinzugefügt. Kompatibilität mit verzögert aktualisierten Leistungswerten von Smart-Steckdosen und Leistungsmessern verbessert.",
61
- "ru": "Добавлен настраиваемый тайм-аут проверки мощности при запуске для мониторинга насоса (5–10 секунд). Улучшена совместимость с измерениями мощности с задержкой от интеллектуальных розеток и измерителей мощности.",
62
- "pt": "Adicionado tempo limite de verificação de energia de inicialização configurável para monitoramento da bomba (5 a 10 segundos). Compatibilidade aprimorada com medições de energia atrasadas de plugues inteligentes e medidores de energia.",
63
- "nl": "Configureerbare time-out voor stroomcontrole bij opstarten toegevoegd voor pompbewaking (5-10 seconden). Verbeterde compatibiliteit met vertraagde stroommetingen van slimme stekkers en stroommeters.",
64
- "fr": "Ajout d'un délai d'expiration configurable pour la vérification de l'alimentation au démarrage pour la surveillance de la pompe (5 à 10 secondes). Compatibilité améliorée avec les mesures de puissance retardées des prises intelligentes et des compteurs de puissance.",
65
- "it": "Aggiunto timeout configurabile del controllo dell'alimentazione all'avvio per il monitoraggio della pompa (5-10 secondi). Compatibilità migliorata con misurazioni di potenza ritardate da prese intelligenti e misuratori di potenza.",
66
- "es": "Se agregó un tiempo de espera de verificación de energía de inicio configurable para el monitoreo de la bomba (5-10 segundos). Compatibilidad mejorada con mediciones de potencia retrasadas de enchufes inteligentes y medidores de potencia.",
67
- "pl": "Dodano konfigurowalny limit czasu sprawdzania mocy rozruchowej dla monitorowania pompy (5-10 sekund). Poprawiona kompatybilność z opóźnionymi pomiarami mocy z inteligentnych wtyczek i mierników mocy.",
68
- "uk": "Додано настроюваний тайм-аут перевірки живлення при запуску для моніторингу насоса (5-10 секунд). Покращена сумісність із затримкою вимірювання потужності від розумних розеток і лічильників.",
69
- "zh-cn": "添加了用于泵监控的可配置启动电源检查超时(5-10 秒)。改进了与智能插头和功率计的延迟功率测量的兼容性。"
70
70
  }
71
71
  },
72
72
  "titleLang": {
@@ -304,6 +304,9 @@ const runtimeHelper = {
304
304
  };
305
305
  const write = (id, val) => this.adapter.setStateAsync(`circulation.plausibility.${id}`, { val, ack: true });
306
306
 
307
+ const enabledState = await this.adapter.getStateAsync('circulation.plausibility.000_enabled');
308
+ const plausibilityEnabled = enabledState?.val === false ? false : true;
309
+
307
310
  const currentPower = await readNumber('pump.current_power');
308
311
  const pumpMaxWatt = await readNumber('pump.pump_max_watt');
309
312
  const pumpPowerLph = await readNumber('pump.pump_power_lph');
@@ -313,6 +316,25 @@ const runtimeHelper = {
313
316
  const previousTotal =
314
317
  this.lastPlausibilityDailyTotal === null ? Number(oldTotal) || 0 : this.lastPlausibilityDailyTotal;
315
318
 
319
+ if (!plausibilityEnabled) {
320
+ await write('00_status', 'disabled');
321
+ await write('01_level', 'info');
322
+ await write('02_message_key', 'circulation_plausibility_disabled');
323
+ await write('03_last_update', nowIso);
324
+ await write('10_power_warning', false);
325
+ await write('20_flow_warning', false);
326
+ await write('30_jump_warning', false);
327
+ await write('40_last_daily_total', previousTotal);
328
+ await write('41_current_daily_total', currentTotal);
329
+ await write('42_delta_liters', 0);
330
+ await write('43_elapsed_seconds', 0);
331
+ await write('44_max_plausible_delta_liters', 0);
332
+
333
+ this.lastPlausibilityDailyTotal = currentTotal;
334
+ this.lastPlausibilityCheckTs = nowMs;
335
+ return;
336
+ }
337
+
316
338
  const powerLimit = pumpMaxWatt > 0 ? pumpMaxWatt * 1.2 : 0;
317
339
  const flowLimit = pumpPowerLph > 0 ? pumpPowerLph * 1.2 : 0;
318
340
  let powerWarning = currentPower > 0 && powerLimit > 0 && currentPower > powerLimit;
@@ -69,6 +69,35 @@ const solarExtendedHelper = {
69
69
  const isTimePriority = activeHelper === 'timeHelper';
70
70
  const actorConfigOk = controlObjectId !== '' && (controlType === 'boolean' || controlType === 'socket');
71
71
 
72
+ const poolReferenceStateId =
73
+ poolTemperatureSource === 'ground'
74
+ ? 'temperature.ground.current'
75
+ : poolTemperatureSource === 'surface'
76
+ ? 'temperature.surface.current'
77
+ : '';
78
+ const collectorDeltaState = await this.adapter.getStateAsync('temperature.collector.current');
79
+ const poolReferenceDeltaState = poolReferenceStateId
80
+ ? await this.adapter.getStateAsync(poolReferenceStateId)
81
+ : null;
82
+ const collectorDeltaValue = collectorDeltaState?.val;
83
+ const poolReferenceDeltaValue = poolReferenceDeltaState?.val;
84
+ const collectorDeltaNumber = Number(collectorDeltaValue);
85
+ const poolReferenceDeltaNumber = Number(poolReferenceDeltaValue);
86
+ const extendedDeltaValid =
87
+ collectorDeltaValue !== null &&
88
+ collectorDeltaValue !== undefined &&
89
+ collectorDeltaValue !== '' &&
90
+ poolReferenceDeltaValue !== null &&
91
+ poolReferenceDeltaValue !== undefined &&
92
+ poolReferenceDeltaValue !== '' &&
93
+ Number.isFinite(collectorDeltaNumber) &&
94
+ Number.isFinite(poolReferenceDeltaNumber);
95
+
96
+ await this.adapter.setStateChangedAsync('solar.extended.collector_pool_reference_delta', {
97
+ val: extendedDeltaValid ? Number((collectorDeltaNumber - poolReferenceDeltaNumber).toFixed(2)) : null,
98
+ ack: true,
99
+ });
100
+
72
101
  let configOk = false;
73
102
  let requestActive = false;
74
103
  let active = false;
@@ -71,8 +71,26 @@ const solarHelper = {
71
71
  const hysteresis = (await this.adapter.getStateAsync('solar.hysteresis_active'))?.val;
72
72
 
73
73
  // Temperaturen laden
74
- const collector = Number((await this.adapter.getStateAsync('temperature.collector.current'))?.val);
75
- const pool = Number((await this.adapter.getStateAsync('temperature.surface.current'))?.val); // Oberfläche = Pooltemp
74
+ const collectorState = await this.adapter.getStateAsync('temperature.collector.current');
75
+ const poolState = await this.adapter.getStateAsync('temperature.surface.current');
76
+ const collectorValue = collectorState?.val;
77
+ const poolValue = poolState?.val;
78
+ const collector = Number(collectorValue);
79
+ const pool = Number(poolValue); // Oberfläche = Pooltemp
80
+ const solarDeltaValid =
81
+ collectorValue !== null &&
82
+ collectorValue !== undefined &&
83
+ collectorValue !== '' &&
84
+ poolValue !== null &&
85
+ poolValue !== undefined &&
86
+ poolValue !== '' &&
87
+ Number.isFinite(collector) &&
88
+ Number.isFinite(pool);
89
+
90
+ await this.adapter.setStateChangedAsync('solar.collector_surface_delta', {
91
+ val: solarDeltaValid ? Number((collector - pool).toFixed(2)) : null,
92
+ ack: true,
93
+ });
76
94
 
77
95
  // NEU: Absicherung gegen ungültige Werte
78
96
  if (isNaN(collector) || isNaN(pool)) {
package/lib/i18n/de.json CHANGED
@@ -380,5 +380,6 @@
380
380
  "circulation_plausibility_power_warning": "Die Pumpenleistung ist im Verhältnis zur konfigurierten Maximalleistung unplausibel hoch.",
381
381
  "circulation_plausibility_flow_warning": "Der berechnete Durchfluss ist im Verhältnis zur konfigurierten Nennförderleistung unplausibel hoch.",
382
382
  "circulation_plausibility_daily_total_jump_warning": "Das Tagesumwälzvolumen ist schneller gestiegen als physikalisch plausibel.",
383
- "circulation_plausibility_multiple_warnings": "Mehrere Plausibilitätswarnungen zur Umwälzberechnung sind aktiv."
383
+ "circulation_plausibility_multiple_warnings": "Mehrere Plausibilitätswarnungen zur Umwälzberechnung sind aktiv.",
384
+ "circulation_plausibility_disabled": "Die Plausibilitätsprüfung der Umwälzberechnung ist deaktiviert."
384
385
  }
package/lib/i18n/en.json CHANGED
@@ -407,5 +407,6 @@
407
407
  "circulation_plausibility_power_warning": "Pump power is implausibly high compared to the configured maximum power.",
408
408
  "circulation_plausibility_flow_warning": "Calculated flow rate is implausibly high compared to the configured nominal flow.",
409
409
  "circulation_plausibility_daily_total_jump_warning": "Daily circulation volume increased faster than physically plausible.",
410
- "circulation_plausibility_multiple_warnings": "Multiple circulation plausibility warnings are active."
410
+ "circulation_plausibility_multiple_warnings": "Multiple circulation plausibility warnings are active.",
411
+ "circulation_plausibility_disabled": "Circulation plausibility check is disabled."
411
412
  }
package/lib/i18n/es.json CHANGED
@@ -403,6 +403,7 @@
403
403
  "circulation_plausibility_power_warning": "La potencia de la bomba es excesiva en relación con la potencia máxima configurada.",
404
404
  "circulation_plausibility_flow_warning": "El caudal calculado es excesivo en relación con el caudal nominal configurado.",
405
405
  "circulation_plausibility_daily_total_jump_warning": "El volumen diario de circulación ha aumentado más rápido de lo físicamente plausible.",
406
- "circulation_plausibility_multiple_warnings": "Hay varias advertencias de plausibilidad de circulación activas."
406
+ "circulation_plausibility_multiple_warnings": "Hay varias advertencias de plausibilidad de circulación activas.",
407
+ "circulation_plausibility_disabled": "La comprobación de plausibilidad de la circulación está desactivada."
407
408
  }
408
409
 
package/lib/i18n/fr.json CHANGED
@@ -403,5 +403,6 @@
403
403
  "circulation_plausibility_power_warning": "La puissance de la pompe est anormalement élevée par rapport à la puissance maximale configurée.",
404
404
  "circulation_plausibility_flow_warning": "Le débit calculé est anormalement élevé par rapport au débit nominal configuré.",
405
405
  "circulation_plausibility_daily_total_jump_warning": "Le volume quotidien de circulation a augmenté plus rapidement que physiquement plausible.",
406
- "circulation_plausibility_multiple_warnings": "Plusieurs avertissements de plausibilité de circulation sont actifs."
406
+ "circulation_plausibility_multiple_warnings": "Plusieurs avertissements de plausibilité de circulation sont actifs.",
407
+ "circulation_plausibility_disabled": "La vérification de plausibilité de la circulation est désactivée."
407
408
  }
package/lib/i18n/it.json CHANGED
@@ -403,5 +403,6 @@
403
403
  "circulation_plausibility_power_warning": "La potenza della pompa è eccessivamente alta rispetto alla potenza massima configurata.",
404
404
  "circulation_plausibility_flow_warning": "La portata calcolata è eccessivamente alta rispetto alla portata nominale configurata.",
405
405
  "circulation_plausibility_daily_total_jump_warning": "Il volume giornaliero di circolazione è aumentato più velocemente di quanto fisicamente plausibile.",
406
- "circulation_plausibility_multiple_warnings": "Sono attivi più avvisi di plausibilità della circolazione."
406
+ "circulation_plausibility_multiple_warnings": "Sono attivi più avvisi di plausibilità della circolazione.",
407
+ "circulation_plausibility_disabled": "Il controllo di plausibilità della circolazione è disattivato."
407
408
  }
package/lib/i18n/nl.json CHANGED
@@ -403,5 +403,6 @@
403
403
  "circulation_plausibility_power_warning": "Het pompvermogen is onwaarschijnlijk hoog ten opzichte van het ingestelde maximale vermogen.",
404
404
  "circulation_plausibility_flow_warning": "Het berekende debiet is onwaarschijnlijk hoog ten opzichte van het ingestelde nominale debiet.",
405
405
  "circulation_plausibility_daily_total_jump_warning": "Het dagelijkse circulatievolume is sneller gestegen dan fysiek plausibel.",
406
- "circulation_plausibility_multiple_warnings": "Er zijn meerdere waarschuwingen voor circulatie-plausibiliteit actief."
406
+ "circulation_plausibility_multiple_warnings": "Er zijn meerdere waarschuwingen voor circulatie-plausibiliteit actief.",
407
+ "circulation_plausibility_disabled": "De plausibiliteitscontrole van de circulatie is uitgeschakeld."
407
408
  }
package/lib/i18n/pl.json CHANGED
@@ -403,5 +403,6 @@
403
403
  "circulation_plausibility_power_warning": "Moc pompy jest nienaturalnie wysoka względem skonfigurowanej mocy maksymalnej.",
404
404
  "circulation_plausibility_flow_warning": "Obliczony przepływ jest nienaturalnie wysoki względem skonfigurowanego przepływu nominalnego.",
405
405
  "circulation_plausibility_daily_total_jump_warning": "Dzienna objętość obiegu wzrosła szybciej niż jest to fizycznie możliwe.",
406
- "circulation_plausibility_multiple_warnings": "Aktywnych jest kilka ostrzeżeń dotyczących wiarygodności obiegu."
406
+ "circulation_plausibility_multiple_warnings": "Aktywnych jest kilka ostrzeżeń dotyczących wiarygodności obiegu.",
407
+ "circulation_plausibility_disabled": "Kontrola wiarygodności obiegu jest wyłączona."
407
408
  }
package/lib/i18n/pt.json CHANGED
@@ -403,5 +403,6 @@
403
403
  "circulation_plausibility_power_warning": "A potência da bomba é excessivamente elevada em relação à potência máxima configurada.",
404
404
  "circulation_plausibility_flow_warning": "O caudal calculado é excessivamente elevado em relação ao caudal nominal configurado.",
405
405
  "circulation_plausibility_daily_total_jump_warning": "O volume diário de circulação aumentou mais rapidamente do que seria fisicamente plausível.",
406
- "circulation_plausibility_multiple_warnings": "Existem vários avisos de plausibilidade da circulação ativos."
406
+ "circulation_plausibility_multiple_warnings": "Existem vários avisos de plausibilidade da circulação ativos.",
407
+ "circulation_plausibility_disabled": "A verificação de plausibilidade da circulação está desativada."
407
408
  }
package/lib/i18n/ru.json CHANGED
@@ -403,5 +403,6 @@
403
403
  "circulation_plausibility_power_warning": "Мощность насоса слишком велика по сравнению с настроенной максимальной мощностью.",
404
404
  "circulation_plausibility_flow_warning": "Расчётный поток слишком велик по сравнению с настроенным номинальным потоком.",
405
405
  "circulation_plausibility_daily_total_jump_warning": "Суточный объём циркуляции увеличился быстрее, чем это физически возможно.",
406
- "circulation_plausibility_multiple_warnings": "Активны несколько предупреждений проверки достоверности циркуляции."
406
+ "circulation_plausibility_multiple_warnings": "Активны несколько предупреждений проверки достоверности циркуляции.",
407
+ "circulation_plausibility_disabled": "Проверка достоверности циркуляции отключена."
407
408
  }
package/lib/i18n/uk.json CHANGED
@@ -403,5 +403,6 @@
403
403
  "circulation_plausibility_power_warning": "Потужність насоса надто висока відносно налаштованої максимальної потужності.",
404
404
  "circulation_plausibility_flow_warning": "Розрахований потік надто високий відносно налаштованого номінального потоку.",
405
405
  "circulation_plausibility_daily_total_jump_warning": "Добовий обсяг циркуляції збільшився швидше, ніж це фізично можливо.",
406
- "circulation_plausibility_multiple_warnings": "Активні кілька попереджень перевірки правдоподібності циркуляції."
406
+ "circulation_plausibility_multiple_warnings": "Активні кілька попереджень перевірки правдоподібності циркуляції.",
407
+ "circulation_plausibility_disabled": "Перевірку правдоподібності циркуляції вимкнено."
407
408
  }
@@ -403,5 +403,6 @@
403
403
  "circulation_plausibility_power_warning": "泵功率相对于配置的最大功率异常偏高。",
404
404
  "circulation_plausibility_flow_warning": "计算出的流量相对于配置的额定流量异常偏高。",
405
405
  "circulation_plausibility_daily_total_jump_warning": "每日循环量增长速度超过物理合理范围。",
406
- "circulation_plausibility_multiple_warnings": "存在多个循环合理性警告。"
406
+ "circulation_plausibility_multiple_warnings": "存在多个循环合理性警告。",
407
+ "circulation_plausibility_disabled": "循环合理性检查已禁用。"
407
408
  }
@@ -357,6 +357,18 @@ async function createRuntimeStates(adapter) {
357
357
  });
358
358
 
359
359
  const plausibilityStates = [
360
+ {
361
+ id: '000_enabled',
362
+ type: 'boolean',
363
+ role: 'switch',
364
+ write: true,
365
+ def: true,
366
+ name: { en: 'Enable plausibility check', de: 'Plausibilitätsprüfung aktivieren' },
367
+ desc: {
368
+ en: 'Enables or disables the circulation plausibility check.',
369
+ de: 'Aktiviert oder deaktiviert die Plausibilitätsprüfung der Umwälzberechnung.',
370
+ },
371
+ },
360
372
  {
361
373
  id: '00_status',
362
374
  type: 'string',
@@ -623,7 +635,7 @@ async function createRuntimeStates(adapter) {
623
635
  type: state.type,
624
636
  role: state.role,
625
637
  read: true,
626
- write: false,
638
+ write: state.write === true,
627
639
  persist: true,
628
640
  def: state.def,
629
641
  ...(state.unit ? { unit: state.unit } : {}),
@@ -305,6 +305,28 @@ async function createSolarExtendedStates(adapter) {
305
305
  });
306
306
  }
307
307
 
308
+ await adapter.setObjectNotExistsAsync(`${channelId}.collector_pool_reference_delta`, {
309
+ type: 'state',
310
+ common: {
311
+ name: {
312
+ en: 'Collector-pool reference delta',
313
+ de: 'Delta Kollektor - Poolreferenz',
314
+ },
315
+ desc: {
316
+ en: 'Current temperature difference between collector and the selected pool reference temperature for extended solar control',
317
+ de: 'Aktuelle Temperaturdifferenz zwischen Kollektor und der gewählten Pool-Referenztemperatur der erweiterten Solarsteuerung',
318
+ },
319
+ type: 'number',
320
+ role: 'value.temperature',
321
+ unit: '°C',
322
+ read: true,
323
+ write: false,
324
+ def: null,
325
+ persist: false,
326
+ },
327
+ native: {},
328
+ });
329
+
308
330
  await adapter.setObjectNotExistsAsync(`${channelId}.active`, {
309
331
  type: 'state',
310
332
  common: {
@@ -6,6 +6,7 @@
6
6
  * - solar.hysteresis_active
7
7
  * - solar.temp_on (Einschaltgrenze)
8
8
  * - solar.temp_off (Ausschaltgrenze)
9
+ * - solar.collector_surface_delta
9
10
  * - solar.collector_warning (Warnung aktiv)
10
11
  * - solar.warn_active (Warnlogik aktivieren/deaktivieren)
11
12
  * - solar.warn_temp (Warnschwelle °C)
@@ -196,6 +197,28 @@ async function createSolarStates(adapter) {
196
197
  ack: true,
197
198
  });
198
199
 
200
+ await adapter.setObjectNotExistsAsync('solar.collector_surface_delta', {
201
+ type: 'state',
202
+ common: {
203
+ name: {
204
+ en: 'Collector-surface delta',
205
+ de: 'Delta Kollektor - Oberfläche',
206
+ },
207
+ desc: {
208
+ en: 'Current temperature difference between collector and pool surface temperature',
209
+ de: 'Aktuelle Temperaturdifferenz zwischen Kollektor und Pooloberfläche',
210
+ },
211
+ type: 'number',
212
+ role: 'value.temperature',
213
+ unit: '°C',
214
+ read: true,
215
+ write: false,
216
+ def: null,
217
+ persist: false,
218
+ },
219
+ native: {},
220
+ });
221
+
199
222
  // Warnung Kollektortemperatur aktiv
200
223
  await adapter.setObjectNotExistsAsync('solar.collector_warning', {
201
224
  type: 'state',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.poolcontrol",
3
- "version": "1.3.32",
3
+ "version": "1.3.33",
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",