iobroker.nexowatt-ui 0.7.2 → 0.7.3
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.
|
@@ -2622,6 +2622,11 @@ class ChargingManagementModule extends BaseModule {
|
|
|
2622
2622
|
// (b) no active wallbox is in a grid-allowed mode (normal/minpv/boost).
|
|
2623
2623
|
const capTotalBudgetByPv = (pvSurplusOnlyCfg || forcePvSurplusOnly) && !anyGridAllowedActive;
|
|
2624
2624
|
const needPvBudget = anyPvLimitedActive || capTotalBudgetByPv;
|
|
2625
|
+
// Das PV-Gate ist inzwischen ein zentrales Diagnose-/Budget-Signal für nachgelagerte Apps
|
|
2626
|
+
// (z. B. Heizstab). Deshalb muss der PV-Überschuss auch dann berechnet und veröffentlicht
|
|
2627
|
+
// werden, wenn gerade keine Wallbox im PV-Modus aktiv ist. Wichtig: Das beeinflusst NICHT
|
|
2628
|
+
// die EVCS-Budgetbegrenzung; angewendet wird pvCapW weiterhin nur, wenn needPvBudget/capTotalBudgetByPv aktiv ist.
|
|
2629
|
+
const needPvDiagnostics = true;
|
|
2625
2630
|
|
|
2626
2631
|
// PV surplus / cap (used for PV-limited wallboxes; and optionally to cap total budget)
|
|
2627
2632
|
let pvCapW = null;
|
|
@@ -2638,7 +2643,7 @@ class ChargingManagementModule extends BaseModule {
|
|
|
2638
2643
|
let pvSurplusNoEvRawWState = 0;
|
|
2639
2644
|
let pvSurplusNoEvAvg5mWState = 0;
|
|
2640
2645
|
|
|
2641
|
-
if (needPvBudget) {
|
|
2646
|
+
if (needPvBudget || needPvDiagnostics) {
|
|
2642
2647
|
// PV-Überschuss sauber ermitteln:
|
|
2643
2648
|
// Problem (vorher): PV-Cap wurde aus dem NVP (grid export) direkt abgeleitet.
|
|
2644
2649
|
// Sobald die Wallbox startet, sinkt der Export (weil EVCS selbst verbraucht)
|
|
@@ -2894,7 +2899,7 @@ class ChargingManagementModule extends BaseModule {
|
|
|
2894
2899
|
|
|
2895
2900
|
}
|
|
2896
2901
|
|
|
2897
|
-
if (!needPvBudget) {
|
|
2902
|
+
if (!needPvBudget && !needPvDiagnostics) {
|
|
2898
2903
|
this._pvAvailable = false;
|
|
2899
2904
|
this._pvAboveSinceMs = 0;
|
|
2900
2905
|
this._pvBelowSinceMs = 0;
|
|
@@ -500,6 +500,11 @@ class HeatingRodControlModule extends BaseModule {
|
|
|
500
500
|
if (this.dp && this.dp.getEntry && this.dp.getEntry(key)) {
|
|
501
501
|
const v = this.dp.getNumberFresh ? this.dp.getNumberFresh(key, staleMs, null) : this.dp.getNumber(key, null);
|
|
502
502
|
if (typeof v === 'number' && Number.isFinite(v)) return v;
|
|
503
|
+
// Wichtig: Wenn ein kanonischer/registrierter DP vorhanden ist, aber wegen Staleness
|
|
504
|
+
// keinen frischen Wert liefert, darf NICHT direkt wieder aus dem rohen Adapter-Cache
|
|
505
|
+
// gelesen werden. Genau dadurch konnten alte Lade-/Entlade- oder Netzwerte die
|
|
506
|
+
// Heizstab-PV-Freigabe blockieren, obwohl live PV-Überschuss vorhanden war.
|
|
507
|
+
continue;
|
|
503
508
|
}
|
|
504
509
|
} catch (_e) {
|
|
505
510
|
// ignore
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "nexowatt-ui",
|
|
4
|
-
"version": "0.7.
|
|
4
|
+
"version": "0.7.3",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.7.3": {
|
|
7
|
+
"en": "PV gate diagnostics are now calculated continuously for downstream apps such as heating rod control. Heating rod PV budget no longer falls back to stale raw cache values when registered datapoints are stale.",
|
|
8
|
+
"de": "PV-Gate-Diagnose wird jetzt dauerhaft für nachgelagerte Apps wie die Heizstabsteuerung berechnet. Die Heizstab-PV-Freigabe fällt bei stale registrierten Datenpunkten nicht mehr auf alte Rohcache-Werte zurück.",
|
|
9
|
+
"ru": "Диагностика PV Gate теперь рассчитывается постоянно для downstream-приложений, например управления ТЭНом. PV-бюджет ТЭНа больше не использует устаревшие значения raw cache для stale зарегистрированных datapoints.",
|
|
10
|
+
"pt": "O diagnóstico PV Gate agora é calculado continuamente para apps posteriores, como o controlo do aquecedor. O orçamento PV do aquecedor já não recorre a valores antigos do raw cache quando datapoints registados estão stale.",
|
|
11
|
+
"nl": "PV Gate-diagnose wordt nu continu berekend voor downstream apps zoals de verwarmingsstaafregeling. Het PV-budget van de verwarmingsstaaf valt bij stale geregistreerde datapunten niet meer terug op oude raw-cachewaarden.",
|
|
12
|
+
"fr": "Le diagnostic PV Gate est désormais calculé en continu pour les applications aval comme la commande de résistance chauffante. Le budget PV de la résistance ne retombe plus sur d’anciennes valeurs de cache brut quand des datapoints enregistrés sont périmés.",
|
|
13
|
+
"it": "La diagnostica PV Gate ora viene calcolata continuamente per app a valle come il controllo della resistenza. Il budget PV della resistenza non usa più vecchi valori raw cache quando datapoint registrati risultano stale.",
|
|
14
|
+
"es": "El diagnóstico PV Gate ahora se calcula continuamente para apps posteriores como el control del calentador. El presupuesto PV del calentador ya no vuelve a valores antiguos de caché bruto cuando los datapoints registrados están obsoletos.",
|
|
15
|
+
"pl": "Diagnostyka PV Gate jest teraz liczona stale dla aplikacji downstream, np. sterowania grzałką. Budżet PV grzałki nie wraca już do starych wartości raw cache, gdy zarejestrowane datapointy są stale.",
|
|
16
|
+
"uk": "Діагностика PV Gate тепер розраховується постійно для downstream-додатків, наприклад керування ТЕНом. PV-бюджет ТЕНа більше не використовує застарілі значення raw cache для stale зареєстрованих datapoints.",
|
|
17
|
+
"zh-cn": "PV Gate 诊断现在会为加热棒控制等下游应用持续计算。注册数据点过期时,加热棒 PV 预算不再回退到旧的原始缓存值。"
|
|
18
|
+
},
|
|
6
19
|
"0.7.2": {
|
|
7
20
|
"en": "Heating rod PV-Auto rebuilt as a read-only budget-gate consumer. It now uses the existing charging/load-management remaining budget and PV gate before switching stages, keeps running through short inverter/FEMS transients, and reduces only after configurable grid-import or battery-discharge hold times. Zero/minus feed-in test loads now verify that PV generation actually rises and retry after a failed PV-rise check. Charging management, storage control and storage-farm distribution were not changed.",
|
|
8
21
|
"de": "Heizstab-PV-Auto als lesender Budget-Gate-Verbraucher neu aufgebaut. Die App nutzt jetzt Restbudget und PV-Gate aus dem bestehenden Lade-/Lastmanagement, bevor Stufen geschaltet werden, bleibt bei kurzen WR-/FEMS-Transienten stabil und reduziert erst nach einstellbarer Netzbezug- oder Speicherentlade-Haltezeit. 0-/Minus-Einspeise-Testlasten prüfen jetzt, ob die PV-Erzeugung wirklich nachregelt, und warten nach fehlendem PV-Anstieg bis zum nächsten Versuch. Lade-/Lastmanagement, Speicherregelung und Speicherfarm-Verteilung wurden nicht geändert."
|
|
@@ -1822,7 +1835,7 @@
|
|
|
1822
1835
|
}
|
|
1823
1836
|
},
|
|
1824
1837
|
"instanceObjects": [],
|
|
1825
|
-
"version": "0.7.
|
|
1838
|
+
"version": "0.7.3",
|
|
1826
1839
|
"news": {
|
|
1827
1840
|
"0.7.1": {
|
|
1828
1841
|
"en": "Storage control stabilized: self-consumption and tariff discharge now hold the last active setpoint inside the NVP target band instead of following delayed/noisy battery or storage-farm actual-power values. The demand safety clamp also treats the last commanded discharge setpoint as plausible discharge power, preventing stale 0 W telemetry from pulling the farm down. No changes to heating rod logic, PV surplus charging, storage-farm distribution, or zero-feed-in control.",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.nexowatt-ui",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.3",
|
|
4
4
|
"description": "Responsive NexoWatt EMS visualization adapter.",
|
|
5
5
|
"author": "NexoWatt",
|
|
6
6
|
"license": "Proprietary License (NPL) v1.0",
|
|
@@ -49,6 +49,5 @@
|
|
|
49
49
|
"README.md",
|
|
50
50
|
"LICENSE",
|
|
51
51
|
"ems/**/*"
|
|
52
|
-
]
|
|
53
|
-
"type": "commonjs"
|
|
52
|
+
]
|
|
54
53
|
}
|
package/www/sw.js
CHANGED