mirror of
https://github.com/jpawlowski/hass.tibber_prices.git
synced 2026-03-30 05:13:40 +00:00
refactor(config_flow): unify translation structure across all languages
Standardized config flow translations (nb, nl, sv) to match German/English
format with minimal field labels and comprehensive data_descriptions.
Changes across Norwegian, Dutch, and Swedish translations:
- Updated step_progress format: **{step_progress}** → _{step_progress}_
- Made all step descriptions bold with **text** formatting
- Simplified field labels (removed verbose explanations)
- Added data_description for price_rating (low/high thresholds)
- Added data_description for price_trend (rising/falling thresholds)
- Added data_description for volatility (moderate/high/very high thresholds)
- Ensured all steps have: emojis, italic step_progress, separator (---)
- Added missing emoji to Swedish price_rating step (📊)
Impact: All 5 languages now have consistent UX with minimal, scannable
field labels and detailed optional descriptions accessible via ⓘ icon.
Users get cleaner config flow with better clarity.
This commit is contained in:
parent
46fcdb8ba3
commit
b8a502672b
6 changed files with 312 additions and 202 deletions
|
|
@ -276,7 +276,7 @@ def get_best_price_schema(options: Mapping[str, Any]) -> vol.Schema:
|
|||
): NumberSelector(
|
||||
NumberSelectorConfig(
|
||||
min=0,
|
||||
max=100,
|
||||
max=50,
|
||||
step=1,
|
||||
unit_of_measurement="%",
|
||||
mode=NumberSelectorMode.SLIDER,
|
||||
|
|
@ -402,7 +402,7 @@ def get_peak_price_schema(options: Mapping[str, Any]) -> vol.Schema:
|
|||
),
|
||||
): NumberSelector(
|
||||
NumberSelectorConfig(
|
||||
min=-100,
|
||||
min=-50,
|
||||
max=0,
|
||||
step=1,
|
||||
unit_of_measurement="%",
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
}
|
||||
},
|
||||
"common": {
|
||||
"step_progress": "Schritt {step_num} von {total_steps}"
|
||||
"step_progress": "{step_num} / {total_steps}"
|
||||
},
|
||||
"config_subentries": {
|
||||
"home": {
|
||||
|
|
@ -84,95 +84,117 @@
|
|||
"options": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Allgemeine Einstellungen",
|
||||
"description": "{step_progress}\n\nKonfiguration allgemeiner Einstellungen für Tibber Preisinformationen & Bewertungen.\n\nBenutzer: {user_login}",
|
||||
"title": "⚙️ Allgemeine Einstellungen",
|
||||
"description": "_{step_progress}_\n\n**Konfiguriere allgemeine Einstellungen für Tibber-Preisinformationen und -bewertungen.**\n\n---\n\n**Benutzer:** {user_login}",
|
||||
"data": {
|
||||
"extended_descriptions": "Erweiterte Beschreibungen in Entity-Attributen anzeigen"
|
||||
},
|
||||
"submit": "Weiter zu Schritt 2"
|
||||
},
|
||||
"current_interval_price_rating": {
|
||||
"title": "Preisbewertungs-Schwellwerte",
|
||||
"description": "{step_progress}\n\nKonfiguration der Schwellwerte für Preisbewertungsstufen (niedrig/normal/hoch) basierend auf dem Vergleich mit dem gleitenden 24-Stunden-Durchschnitt.",
|
||||
"data": {
|
||||
"price_rating_threshold_low": "Schwellwert für niedrige Bewertung (unter gleitendem Durchschnitt)",
|
||||
"price_rating_threshold_high": "Schwellwert für hohe Bewertung (über gleitendem Durchschnitt)"
|
||||
},
|
||||
"submit": "Weiter zu Schritt 3"
|
||||
},
|
||||
"best_price": {
|
||||
"title": "Bestpreis-Zeitraum Einstellungen",
|
||||
"description": "{step_progress}\n\nKonfiguration für den Bestpreis-Zeitraum mit den niedrigsten Strompreisen.",
|
||||
"data": {
|
||||
"best_price_min_period_length": "Minimale Zeitraumlänge",
|
||||
"best_price_flex": "Flexibilität: Maximal über dem Mindestpreis",
|
||||
"best_price_min_distance_from_avg": "Mindestabstand: Erforderlich unter dem Tagesdurchschnitt",
|
||||
"best_price_max_level": "Preisniveau-Filter (Optional)",
|
||||
"best_price_max_level_gap_count": "Lückentoleranz für Niveaufilter",
|
||||
"enable_min_periods_best": "Mindestanzahl Zeiträume anstreben",
|
||||
"min_periods_best": "Mindestanzahl Zeiträume",
|
||||
"relaxation_attempts_best": "Lockerungsversuche (Flex-Stufen)"
|
||||
"extended_descriptions": "Erweiterte Beschreibungen"
|
||||
},
|
||||
"data_description": {
|
||||
"extended_descriptions": "Steuert, ob Entitätsattribute ausführliche Erklärungen und Nutzungstipps enthalten.\n\n• Deaktiviert (Standard): Nur kurze Beschreibung\n• Aktiviert: Ausführliche Erklärung + praktische Nutzungsbeispiele\n\nBeispiel:\nDeaktiviert = 1 Attribut\nAktiviert = 2 zusätzliche Attribute"
|
||||
},
|
||||
"submit": "Weiter →"
|
||||
},
|
||||
"current_interval_price_rating": {
|
||||
"title": "📊 Preisbewertungs-Schwellenwerte",
|
||||
"description": "_{step_progress}_\n\n**Konfiguriere Schwellenwerte für Preisbewertungsstufen (niedrig/normal/hoch) basierend auf dem Vergleich mit dem nachlaufenden 24-Stunden-Durchschnitt.**\n\n---",
|
||||
"data": {
|
||||
"price_rating_threshold_low": "Niedrig-Schwelle",
|
||||
"price_rating_threshold_high": "Hoch-Schwelle"
|
||||
},
|
||||
"data_description": {
|
||||
"price_rating_threshold_low": "Prozentwert, um wie viel der aktuelle Preis unter dem nachlaufenden 24-Stunden-Durchschnitt liegen muss, damit er als 'niedrig' bewertet wird. Beispiel: 5 bedeutet mindestens 5% unter Durchschnitt. Sensoren mit dieser Bewertung zeigen günstige Zeitfenster an. Standard: 5%",
|
||||
"price_rating_threshold_high": "Prozentwert, um wie viel der aktuelle Preis über dem nachlaufenden 24-Stunden-Durchschnitt liegen muss, damit er als 'hoch' bewertet wird. Beispiel: 10 bedeutet mindestens 10% über Durchschnitt. Sensoren mit dieser Bewertung warnen vor teuren Zeitfenstern. Standard: 10%"
|
||||
},
|
||||
"submit": "Weiter →"
|
||||
},
|
||||
"best_price": {
|
||||
"title": "💚 Bestpreis-Zeitraum Einstellungen",
|
||||
"description": "_{step_progress}_\n\n**Konfiguration für den Bestpreis-Zeitraum mit den niedrigsten Strompreisen.**\n\n---",
|
||||
"data": {
|
||||
"best_price_min_period_length": "Minimale Zeitraumlänge",
|
||||
"best_price_flex": "Flexibilität",
|
||||
"best_price_min_distance_from_avg": "Mindestabstand",
|
||||
"best_price_max_level": "Preisniveau-Filter",
|
||||
"best_price_max_level_gap_count": "Lückentoleranz",
|
||||
"enable_min_periods_best": "Mindestanzahl anstreben",
|
||||
"min_periods_best": "Mindestanzahl Zeiträume",
|
||||
"relaxation_attempts_best": "Lockerungsversuche"
|
||||
},
|
||||
"data_description": {
|
||||
"best_price_min_period_length": "Minimale Dauer, damit ein Zeitraum als 'Bestpreis' gilt. Längere Zeiträume sind praktischer für den Betrieb von Geräten wie Geschirrspülern oder Wärmepumpen. Bestpreis-Zeiträume erfordern mindestens 60 Minuten (im Vergleich zu 30 Minuten für Spitzenpreis-Warnungen), da sie sinnvolle Zeitfenster für die Verbrauchsplanung bieten sollen, nicht nur kurze Gelegenheiten.",
|
||||
"best_price_flex": "Maximal über dem täglichen Mindestpreis, bei dem Intervalle noch als 'Bestpreis' qualifizieren. Empfehlung: 15-20 mit aktivierter Lockerung (Standard), oder 25-35 ohne Lockerung. Maximum: 50 (harte Grenze für zuverlässige Zeitraumerkennung).",
|
||||
"best_price_min_distance_from_avg": "Stellt sicher, dass Zeiträume signifikant günstiger als der Tagesdurchschnitt sind, nicht nur geringfügig darunter. Dies filtert Rauschen und verhindert, dass leicht unterdurchschnittliche Zeiträume an Tagen mit flachen Preisen als 'Bestpreis' markiert werden. Höhere Werte = strengere Filterung (nur wirklich günstige Zeiträume qualifizieren). Standard: 5 bedeutet, Zeiträume müssen mindestens 5% unter dem Tagesdurchschnitt liegen.",
|
||||
"best_price_max_level": "Zeigt Bestpreis-Zeiträume nur an, wenn sie Intervalle mit Preisniveaus ≤ dem gewählten Wert enthalten. Beispiel: Wahl von 'Günstig' bedeutet, dass der Zeitraum mindestens ein 'SEHR GÜNSTIG' oder 'GÜNSTIG' Intervall haben muss. Dies stellt sicher, dass Bestpreis-Zeiträume nicht nur relativ günstig für den Tag sind, sondern tatsächlich günstig in absoluten Zahlen. Wähle 'Beliebig' um Bestpreise unabhängig vom absoluten Preisniveau anzuzeigen.",
|
||||
"best_price_max_level_gap_count": "Maximale Anzahl aufeinanderfolgender Intervalle, die exakt um eine Niveaustufe vom geforderten Level abweichen dürfen. Beispiel: Bei Filter 'Günstig' und Lückentoleranz 1 wird die Sequenz 'GÜNSTIG, GÜNSTIG, NORMAL, GÜNSTIG' akzeptiert (NORMAL ist eine Stufe über GÜNSTIG). Dies verhindert, dass Zeiträume durch gelegentliche Niveau-Abweichungen aufgespalten werden. Standard: 1.",
|
||||
"enable_min_periods_best": "Wenn aktiviert, werden Filter schrittweise gelockert, falls nicht genug Zeiträume gefunden wurden. Dies versucht die gewünschte Mindestanzahl zu erreichen, was dazu führen kann, dass auch weniger optimale Zeiträume als Bestpreis-Zeiträume markiert werden.",
|
||||
"min_periods_best": "Mindestanzahl an Bestpreis-Zeiträumen, die pro Tag angestrebt werden. Filter werden schrittweise gelockert, um diese Anzahl zu erreichen. Nur aktiv, wenn 'Mindestanzahl Zeiträume anstreben' aktiviert ist. Standard: 1",
|
||||
"relaxation_attempts_best": "Wie viele Flex-Stufen (Versuche) nacheinander ausprobiert werden, bevor aufgegeben wird. Jeder Versuch testet alle Filterkombinationen auf der neuen Flex-Stufe. Mehr Versuche erhöhen die Chance auf zusätzliche Zeiträume, benötigen aber etwas mehr Rechenzeit."
|
||||
},
|
||||
"submit": "Weiter zu Schritt 5"
|
||||
"submit": "Weiter →"
|
||||
},
|
||||
"peak_price": {
|
||||
"title": "Spitzenpreis-Zeitraum Einstellungen",
|
||||
"description": "{step_progress}\n\nKonfiguration für den Spitzenpreis-Zeitraum mit den höchsten Strompreisen.",
|
||||
"title": "🔴 Spitzenpreis-Zeitraum Einstellungen",
|
||||
"description": "_{step_progress}_\n\n**Konfiguration für den Spitzenpreis-Zeitraum mit den höchsten Strompreisen.**\n\n---",
|
||||
"data": {
|
||||
"peak_price_min_period_length": "Minimale Zeitraumlänge",
|
||||
"peak_price_flex": "Flexibilität: Maximal unter dem Höchstpreis (negativer Wert)",
|
||||
"peak_price_min_distance_from_avg": "Mindestabstand: Erforderlich über dem Tagesdurchschnitt",
|
||||
"peak_price_min_level": "Preisniveau-Filter (Optional)",
|
||||
"peak_price_max_level_gap_count": "Lückentoleranz für Niveaufilter",
|
||||
"enable_min_periods_peak": "Mindestanzahl Zeiträume anstreben",
|
||||
"peak_price_flex": "Flexibilität",
|
||||
"peak_price_min_distance_from_avg": "Mindestabstand",
|
||||
"peak_price_min_level": "Preisniveau-Filter",
|
||||
"peak_price_max_level_gap_count": "Lückentoleranz",
|
||||
"enable_min_periods_peak": "Mindestanzahl anstreben",
|
||||
"min_periods_peak": "Mindestanzahl Zeiträume",
|
||||
"relaxation_attempts_peak": "Lockerungsversuche (Flex-Stufen)"
|
||||
"relaxation_attempts_peak": "Lockerungsversuche"
|
||||
},
|
||||
"data_description": {
|
||||
"peak_price_min_period_length": "Minimale Dauer, damit ein Zeitraum als 'Spitzenpreis' gilt. Spitzenpreis-Warnungen sind für kürzere Zeiträume zulässig (mindestens 30 Minuten im Vergleich zu 60 Minuten für Bestpreis), da kurze teure Spitzen eine Warnung wert sind, auch wenn sie für die Verbrauchsplanung zu kurz sind.",
|
||||
"peak_price_flex": "Maximal unter dem täglichen Höchstpreis, bei dem Intervalle noch als 'Spitzenpreis' qualifizieren. Empfehlung: -15 bis -20 mit aktivierter Lockerung (Standard), oder -25 bis -35 ohne Lockerung. Maximum: -50 (harte Grenze für zuverlässige Zeitraumerkennung). Hinweis: Negative Werte zeigen den Abstand unter dem Maximum an.",
|
||||
"peak_price_min_distance_from_avg": "Stellt sicher, dass Zeiträume signifikant teurer als der Tagesdurchschnitt sind, nicht nur geringfügig darüber. Dies filtert Rauschen und verhindert, dass leicht überdurchschnittliche Zeiträume an Tagen mit flachen Preisen als 'Spitzenpreis' markiert werden. Höhere Werte = strengere Filterung (nur wirklich teure Zeiträume qualifizieren). Standard: 5 bedeutet, Zeiträume müssen mindestens 5% über dem Tagesdurchschnitt liegen.",
|
||||
"peak_price_min_level": "Zeigt Spitzenpreis-Zeiträume nur an, wenn sie Intervalle mit Preisniveaus ≥ dem gewählten Wert enthalten. Beispiel: Wahl von 'Teuer' bedeutet, dass der Zeitraum mindestens ein 'TEUER' oder 'SEHR TEUER' Intervall haben muss. Dies stellt sicher, dass Spitzenpreis-Zeiträume nicht nur relativ teuer für den Tag sind, sondern tatsächlich teuer in absoluten Zahlen. Wähle 'Beliebig' um Spitzenpreise unabhängig vom absoluten Preisniveau anzuzeigen.",
|
||||
"peak_price_max_level_gap_count": "Maximale Anzahl aufeinanderfolgender Intervalle, die exakt um eine Niveaustufe vom geforderten Level abweichen dürfen. Beispiel: Bei Filter 'Teuer' und Lückentoleranz 2 wird die Sequenz 'TEUER, NORMAL, NORMAL, TEUER' akzeptiert (NORMAL ist eine Stufe unter TEUER). Dies verhindert, dass Zeiträume durch gelegentliche Niveau-Abweichungen aufgespalten werden. Standard: 0.",
|
||||
"enable_min_periods_peak": "Wenn aktiviert, werden Filter schrittweise gelockert, falls nicht genug Zeiträume gefunden wurden. Dies versucht die gewünschte Mindestanzahl zu erreichen, um sicherzustellen, dass du auch an Tagen mit ungewöhnlichen Preismustern vor teuren Zeiträumen gewarnt wirst.",
|
||||
"min_periods_peak": "Mindestanzahl an Spitzenpreis-Zeiträumen, die pro Tag angestrebt werden. Filter werden schrittweise gelockert, um diese Anzahl zu erreichen. Nur aktiv, wenn 'Mindestanzahl Zeiträume anstreben' aktiviert ist. Standard: 1",
|
||||
"relaxation_attempts_peak": "Wie viele Flex-Stufen (Versuche) nacheinander ausprobiert werden, bevor aufgegeben wird. Jeder Versuch testet alle Filterkombinationen auf der neuen Flex-Stufe. Mehr Versuche erhöhen die Chance auf zusätzliche Spitzenpreis-Zeiträume, benötigen aber etwas mehr Rechenzeit."
|
||||
},
|
||||
"submit": "Weiter zu Schritt 6"
|
||||
"submit": "Weiter →"
|
||||
},
|
||||
"price_trend": {
|
||||
"title": "Preistrend-Schwellenwerte",
|
||||
"description": "{step_progress}\n\nKonfiguriere Schwellenwerte für Preistrend-Sensoren. Diese Sensoren vergleichen den aktuellen Preis mit dem Durchschnitt der nächsten N Stunden, um festzustellen, ob die Preise steigen, fallen oder stabil sind.",
|
||||
"title": "📈 Pristrend-Schwellenwerte",
|
||||
"description": "_{step_progress}_\n\n**Konfiguriere Schwellenwerte für Preistrend-Sensoren. Diese Sensoren vergleichen den aktuellen Preis mit dem Durchschnitt der nächsten N Stunden, um festzustellen, ob die Preise steigen, fallen oder stabil sind.**\n\n---",
|
||||
"data": {
|
||||
"price_trend_threshold_rising": "Steigender Schwellenwert (über dem aktuellen Preis)",
|
||||
"price_trend_threshold_falling": "Fallender Schwellenwert (unter dem aktuellen Preis, negativer Wert)"
|
||||
"price_trend_threshold_rising": "Steigend-Schwelle",
|
||||
"price_trend_threshold_falling": "Fallend-Schwelle"
|
||||
},
|
||||
"submit": "Weiter zu Schritt 7"
|
||||
"data_description": {
|
||||
"price_trend_threshold_rising": "Prozentwert, um wie viel der Durchschnitt der nächsten N Stunden über dem aktuellen Preis liegen muss, damit der Trend als 'steigend' gilt. Beispiel: 5 bedeutet Durchschnitt ist mindestens 5% höher → Preise werden steigen. Typische Werte: 5-15%. Standard: 5%",
|
||||
"price_trend_threshold_falling": "Prozentwert (negativ), um wie viel der Durchschnitt der nächsten N Stunden unter dem aktuellen Preis liegen muss, damit der Trend als 'fallend' gilt. Beispiel: -5 bedeutet Durchschnitt ist mindestens 5% niedriger → Preise werden fallen. Typische Werte: -5 bis -15%. Standard: -5%"
|
||||
},
|
||||
"submit": "Weiter →"
|
||||
},
|
||||
"volatility": {
|
||||
"title": "Volatilität Schwellenwerte",
|
||||
"description": "{step_progress}\n\nKonfiguriere Schwellenwerte für die Volatilitätsklassifizierung. Volatilität misst relative Preisschwankungen anhand des Variationskoeffizienten (VK = Standardabweichung / Durchschnitt × 100%). Diese Schwellenwerte sind Prozentwerte, die für alle Preisniveaus funktionieren.\n\nVerwendet von:\n• Volatilitätssensoren (Klassifizierung)\n• Trend-Sensoren (adaptive Schwellenanpassung: <moderat = empfindlicher, ≥hoch = weniger empfindlich)",
|
||||
"title": "💨 Volatilität Schwellenwerte",
|
||||
"description": "_{step_progress}_\n\n**Konfiguriere Schwellenwerte für die Volatilitätsklassifizierung.** Volatilität misst relative Preisschwankungen anhand des Variationskoeffizienten (VK = Standardabweichung / Durchschnitt × 100%). Diese Schwellenwerte sind Prozentwerte, die für alle Preisniveaus funktionieren.\n\nVerwendet von:\n• Volatilitätssensoren (Klassifizierung)\n• Trend-Sensoren (adaptive Schwellenanpassung: <moderat = empfindlicher, ≥hoch = weniger empfindlich)\n\n---",
|
||||
"data": {
|
||||
"volatility_threshold_moderate": "Moderate Schwelle (VK ≥ dieser %, z.B. 15)",
|
||||
"volatility_threshold_high": "Hohe Schwelle (VK ≥ dieser %, z.B. 30)",
|
||||
"volatility_threshold_very_high": "Sehr hohe Schwelle (VK ≥ dieser %, z.B. 50)"
|
||||
"volatility_threshold_moderate": "Moderat-Schwelle",
|
||||
"volatility_threshold_high": "Hoch-Schwelle",
|
||||
"volatility_threshold_very_high": "Sehr hoch-Schwelle"
|
||||
},
|
||||
"submit": "Weiter zu Schritt 4"
|
||||
"data_description": {
|
||||
"volatility_threshold_moderate": "Variationskoeffizient (VK) ab dem Preise als 'moderat volatil' gelten. VK = (Standardabweichung / Durchschnitt) × 100%. Beispiel: 15 bedeutet Preisschwankungen von ±15% um den Durchschnitt. Sensoren zeigen diese Klassifizierung an, Trend-Sensoren werden empfindlicher. Standard: 15%",
|
||||
"volatility_threshold_high": "Variationskoeffizient (VK) ab dem Preise als 'hoch volatil' gelten. Beispiel: 30 bedeutet Preisschwankungen von ±30% um den Durchschnitt. Größere Preissprünge erwartet, Trend-Sensoren werden weniger empfindlich. Standard: 30%",
|
||||
"volatility_threshold_very_high": "Variationskoeffizient (VK) ab dem Preise als 'sehr hoch volatil' gelten. Beispiel: 50 bedeutet extreme Preisschwankungen von ±50% um den Durchschnitt. An solchen Tagen sind starke Preisspitzen wahrscheinlich. Standard: 50%"
|
||||
},
|
||||
"submit": "Weiter →"
|
||||
},
|
||||
"chart_data_export": {
|
||||
"title": "Diagramm-Datenexport",
|
||||
"description": "{step_progress}\n\n⚠️ **Dieser Schritt ist optional:** Konfiguriere nur, wenn du einen diagnostischen Sensor für ältere Dashboard-Tools benötigst, die KEINE Services aufrufen können.\n\n⚠️ **WICHTIG: Legacy-Feature**\nDieser Sensor existiert nur für Abwärtskompatibilität mit älteren Tools, die Daten nur aus Entity-Attributen lesen können.\n\n**Für neue Integrationen nutze stattdessen direkt den `tibber_prices.get_chartdata` Service** - er ist flexibler, effizienter und der empfohlene Home Assistant Ansatz.\n\n**Wann diesen Sensor nutzen:**\n✅ NUR wenn dein Dashboard-Tool NUR Attribute lesen kann (z.B. ältere Versionen)\n❌ NICHT für neue Integrationen - nutze den Service direkt\n\n**Was ist dieser Sensor?**\nEin diagnostischer Sensor, der den `tibber_prices.get_chartdata` Service mit deinen YAML-Parametern aufruft und das Ergebnis als Attribute bereitstellt.\n\n**Wie nutzen:**\n1. Öffne Settings → Devices & Services → Tibber Prices\n2. Wähle dein Home\n3. Finde 'Diagramm-Datenexport' im Diagnose-Bereich\n4. Aktiviere den Sensor (standardmäßig deaktiviert)\n5. Nutze `homeassistant.update_entity` um Daten manuell zu aktualisieren\n\n**Konfigurationsanleitung:**\n1. Teste deinen Service-Aufruf in Entwicklerwerkzeuge → Services → `tibber_prices.get_chartdata`\n2. Kopiere das YAML aus dem `data:` Bereich (ohne `entry_id`)\n3. Füge es unten ein (nutze Shift+Enter oder Strg+Enter für neue Zeilen)\n\n**Beispiel-YAML:**\n```yaml\nday:\n - today\n - tomorrow\ninclude_level: true\ninclude_rating_level: true\n```\n\n**Hinweis:** Leer lassen oder diesen Schritt überspringen, wenn du den Service direkt nutzt (empfohlen).",
|
||||
"title": "📊 Diagramm-Datenexport",
|
||||
"description": "_{step_progress}_\n\n⚠️ **Dieser Schritt ist optional:** Konfiguriere nur, wenn du einen diagnostischen Sensor für ältere Dashboard-Tools benötigst, die KEINE Services aufrufen können.\n\n⚠️ **WICHTIG: Legacy-Feature**\nDieser Sensor existiert nur für Abwärtskompatibilität mit älteren Tools, die Daten nur aus Entity-Attributen lesen können.\n\n**Für neue Integrationen nutze stattdessen direkt den `tibber_prices.get_chartdata` Service** - er ist flexibler, effizienter und der empfohlene Home Assistant Ansatz.\n\n**Wann diesen Sensor nutzen:**\n✅ NUR wenn dein Dashboard-Tool NUR Attribute lesen kann (z.B. ältere Versionen)\n❌ NICHT für neue Integrationen - nutze den Service direkt\n\n**Was ist dieser Sensor?**\nEin diagnostischer Sensor, der den `tibber_prices.get_chartdata` Service mit deinen YAML-Parametern aufruft und das Ergebnis als Attribute bereitstellt.\n\n**Wie nutzen:**\n1. Öffne Settings → Devices & Services → Tibber Prices\n2. Wähle dein Home\n3. Finde 'Diagramm-Datenexport' im Diagnose-Bereich\n4. Aktiviere den Sensor (standardmäßig deaktiviert)\n5. Nutze `homeassistant.update_entity` um Daten manuell zu aktualisieren\n\n**Konfigurationsanleitung:**\n1. Teste deinen Service-Aufruf in Entwicklerwerkzeuge → Services → `tibber_prices.get_chartdata`\n2. Kopiere das YAML aus dem `data:` Bereich (ohne `entry_id`)\n3. Füge es unten ein (nutze Shift+Enter oder Strg+Enter für neue Zeilen)\n\n**Beispiel-YAML:**\n```yaml\nday:\n - today\n - tomorrow\ninclude_level: true\ninclude_rating_level: true\n```\n\n**Hinweis:** Leer lassen oder diesen Schritt überspringen, wenn du den Service direkt nutzt (empfohlen).",
|
||||
"data": {
|
||||
"chart_data_config": "Service-Konfiguration (YAML)"
|
||||
},
|
||||
"data_description": {
|
||||
"chart_data_config": "YAML-Konfiguration für get_chartdata Service. Unterstützte Parameter: day (Liste aus yesterday/today/tomorrow), resolution (interval/hourly), output_format, include_level, include_rating_level, include_average, und viele mehr. Siehe Service-Dokumentation für vollständige Liste. Leer lassen für Standard-Einstellungen (today, interval resolution, array of objects)."
|
||||
},
|
||||
"submit": "Konfiguration abschließen"
|
||||
"submit": "Abschließen ✓"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
}
|
||||
},
|
||||
"common": {
|
||||
"step_progress": "Step {step_num} of {total_steps}"
|
||||
"step_progress": "{step_num} / {total_steps}"
|
||||
},
|
||||
"config_subentries": {
|
||||
"home": {
|
||||
|
|
@ -84,93 +84,115 @@
|
|||
"options": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "General Settings",
|
||||
"description": "{step_progress}\n\nConfigure general settings for Tibber Price Information & Ratings.\n\nUser: {user_login}",
|
||||
"title": "⚙️ General Settings",
|
||||
"description": "_{step_progress}_\n\n**Configure general settings for Tibber Price Information & Ratings.**\n\n---\n\n**User:** {user_login}",
|
||||
"data": {
|
||||
"extended_descriptions": "Show extended descriptions in entity attributes"
|
||||
"extended_descriptions": "Extended Descriptions"
|
||||
},
|
||||
"submit": "Next to Step 2"
|
||||
"data_description": {
|
||||
"extended_descriptions": "Controls whether entity attributes include detailed explanations and usage tips.\n\n• Disabled (default): Brief description only\n• Enabled: Detailed explanation + practical usage examples\n\nExample:\nDisabled = 1 attribute\nEnabled = 2 additional attributes"
|
||||
},
|
||||
"submit": "Continue →"
|
||||
},
|
||||
"current_interval_price_rating": {
|
||||
"title": "Price Rating Thresholds",
|
||||
"description": "{step_progress}\n\nConfigure thresholds for price rating levels (low/normal/high) based on comparison with trailing 24-hour average.",
|
||||
"title": "📊 Price Rating Thresholds",
|
||||
"description": "_{step_progress}_\n\n**Configure thresholds for price rating levels (low/normal/high) based on comparison with trailing 24-hour average.**\n\n---",
|
||||
"data": {
|
||||
"price_rating_threshold_low": "Low Rating Threshold (below trailing average)",
|
||||
"price_rating_threshold_high": "High Rating Threshold (above trailing average)"
|
||||
"price_rating_threshold_low": "Low Threshold",
|
||||
"price_rating_threshold_high": "High Threshold"
|
||||
},
|
||||
"submit": "Next to Step 3"
|
||||
"data_description": {
|
||||
"price_rating_threshold_low": "Percentage below the trailing 24-hour average that the current price must be to qualify as 'low' rating. Example: 5 means at least 5% below average. Sensors with this rating indicate favorable time windows. Default: 5%",
|
||||
"price_rating_threshold_high": "Percentage above the trailing 24-hour average that the current price must be to qualify as 'high' rating. Example: 10 means at least 10% above average. Sensors with this rating warn about expensive time windows. Default: 10%"
|
||||
},
|
||||
"submit": "Continue →"
|
||||
},
|
||||
"best_price": {
|
||||
"title": "Best Price Period Settings",
|
||||
"description": "{step_progress}\n\nConfigure settings for the Best Price Period binary sensor. This sensor is active during periods with the lowest electricity prices.",
|
||||
"title": "💚 Best Price Period Settings",
|
||||
"description": "_{step_progress}_\n\n**Configure settings for the Best Price Period binary sensor. This sensor is active during periods with the lowest electricity prices.**\n\n---",
|
||||
"data": {
|
||||
"best_price_min_period_length": "Minimum Period Length",
|
||||
"best_price_flex": "Flexibility: Maximum above minimum price",
|
||||
"best_price_min_distance_from_avg": "Minimum Distance: Required below daily average",
|
||||
"best_price_max_level": "Price Level Filter (Optional)",
|
||||
"best_price_max_level_gap_count": "Level Filter Gap Tolerance",
|
||||
"enable_min_periods_best": "Try to Achieve Minimum Period Count",
|
||||
"min_periods_best": "Minimum Periods Required",
|
||||
"best_price_flex": "Flexibility",
|
||||
"best_price_min_distance_from_avg": "Minimum Distance",
|
||||
"best_price_max_level": "Price Level Filter",
|
||||
"best_price_max_level_gap_count": "Gap Tolerance",
|
||||
"enable_min_periods_best": "Achieve Minimum Count",
|
||||
"min_periods_best": "Minimum Periods",
|
||||
"relaxation_attempts_best": "Relaxation Attempts"
|
||||
},
|
||||
"data_description": {
|
||||
"best_price_min_period_length": "Minimum duration for a period to be considered as 'best price'. Longer periods are more practical for running appliances like dishwashers or heat pumps. Best price periods require 60 minutes minimum (vs. 30 minutes for peak price warnings) because they should provide meaningful time windows for consumption planning, not just brief opportunities.",
|
||||
"best_price_flex": "Maximum above the daily minimum price that intervals can be and still qualify as 'best price'. Recommended: 15-20 with relaxation enabled (default), or 25-35 without relaxation. Maximum: 50 (hard cap for reliable period detection).",
|
||||
"best_price_min_distance_from_avg": "Ensures periods are significantly cheaper than the daily average, not just marginally below it. This filters out noise and prevents marking slightly-below-average periods as 'best price' on days with flat prices. Higher values = stricter filtering (only truly cheap periods qualify). Default: 5 means periods must be at least 5% below the daily average.",
|
||||
"best_price_max_level": "Only show best price periods if they contain intervals with price levels ≤ selected value. For example, selecting 'Cheap' means the period must have at least one 'VERY_CHEAP' or 'CHEAP' interval. This ensures 'best price' periods are not just relatively cheap for the day, but actually cheap in absolute terms. Select 'Any' to show best prices regardless of their absolute price level.",
|
||||
"best_price_max_level_gap_count": "Maximum number of consecutive intervals allowed that deviate by exactly one level step from the required level. For example: with 'Cheap' filter and gap count 1, a sequence 'CHEAP, CHEAP, NORMAL, CHEAP' is accepted (NORMAL is one step above CHEAP). This prevents periods from being split by occasional level deviations. Default: 0 (strict filtering, no tolerance).",
|
||||
"enable_min_periods_best": "When enabled, filters will be gradually relaxed if not enough periods are found. This attempts to reach the desired minimum number of periods, which may include less optimal time windows as best-price periods.",
|
||||
"min_periods_best": "Minimum number of best price periods to aim for per day. Filters will be relaxed step-by-step to try achieving this count. Only active when 'Try to Achieve Minimum Period Count' is enabled. Default: 1",
|
||||
"relaxation_attempts_best": "How many flex levels (attempts) to try before giving up. Each attempt runs all filter combinations at the new flex level. More attempts increase the chance of finding additional periods at the cost of longer processing time."
|
||||
},
|
||||
"submit": "Next to Step 5"
|
||||
"submit": "Continue →"
|
||||
},
|
||||
"peak_price": {
|
||||
"title": "Peak Price Period Settings",
|
||||
"description": "{step_progress}\n\nConfigure settings for the Peak Price Period binary sensor. This sensor is active during periods with the highest electricity prices.",
|
||||
"title": "🔴 Peak Price Period Settings",
|
||||
"description": "_{step_progress}_\n\n**Configure settings for the Peak Price Period binary sensor. This sensor is active during periods with the highest electricity prices.**\n\n---",
|
||||
"data": {
|
||||
"peak_price_min_period_length": "Minimum Period Length",
|
||||
"peak_price_flex": "Flexibility: Maximum below maximum price (negative value)",
|
||||
"peak_price_min_distance_from_avg": "Minimum Distance: Required above daily average",
|
||||
"peak_price_min_level": "Price Level Filter (Optional)",
|
||||
"peak_price_max_level_gap_count": "Level Filter Gap Tolerance",
|
||||
"enable_min_periods_peak": "Try to Achieve Minimum Period Count",
|
||||
"min_periods_peak": "Minimum Periods Required",
|
||||
"peak_price_flex": "Flexibility",
|
||||
"peak_price_min_distance_from_avg": "Minimum Distance",
|
||||
"peak_price_min_level": "Price Level Filter",
|
||||
"peak_price_max_level_gap_count": "Gap Tolerance",
|
||||
"enable_min_periods_peak": "Achieve Minimum Count",
|
||||
"min_periods_peak": "Minimum Periods",
|
||||
"relaxation_attempts_peak": "Relaxation Attempts"
|
||||
},
|
||||
"data_description": {
|
||||
"peak_price_min_period_length": "Minimum duration for a period to be considered as 'peak price'. Peak price warnings are allowed for shorter periods (30 minutes minimum vs. 60 minutes for best price) because brief expensive spikes are worth alerting about, even if they're too short for consumption planning.",
|
||||
"peak_price_flex": "Maximum below the daily maximum price that intervals can be and still qualify as 'peak price'. Recommended: -15 to -20 with relaxation enabled (default), or -25 to -35 without relaxation. Maximum: -50 (hard cap for reliable period detection). Note: Negative values indicate distance below maximum.",
|
||||
"peak_price_min_distance_from_avg": "Ensures periods are significantly more expensive than the daily average, not just marginally above it. This filters out noise and prevents marking slightly-above-average periods as 'peak price' on days with flat prices. Higher values = stricter filtering (only truly expensive periods qualify). Default: 5 means periods must be at least 5% above the daily average.",
|
||||
"peak_price_min_level": "Only show peak price periods if they contain intervals with price levels ≥ selected value. For example, selecting 'Expensive' means the period must have at least one 'EXPENSIVE' or 'VERY_EXPENSIVE' interval. This ensures 'peak price' periods are not just relatively expensive for the day, but actually expensive in absolute terms. Select 'Any' to show peak prices regardless of their absolute price level.",
|
||||
"peak_price_max_level_gap_count": "Maximum number of consecutive intervals allowed that deviate by exactly one level step from the required level. For example: with 'Expensive' filter and gap count 2, a sequence 'EXPENSIVE, NORMAL, NORMAL, EXPENSIVE' is accepted (NORMAL is one step below EXPENSIVE). This prevents periods from being split by occasional level deviations. Default: 0 (strict filtering, no tolerance).",
|
||||
"enable_min_periods_peak": "When enabled, filters will be gradually relaxed if not enough periods are found. This attempts to reach the desired minimum number of periods to ensure you're warned about expensive periods even on days with unusual price patterns.",
|
||||
"min_periods_peak": "Minimum number of peak price periods to aim for per day. Filters will be relaxed step-by-step to try achieving this count. Only active when 'Try to Achieve Minimum Period Count' is enabled. Default: 1",
|
||||
"relaxation_attempts_peak": "How many flex levels (attempts) to try before giving up. Each attempt runs all filter combinations at the new flex level. More attempts increase the chance of finding additional peak periods at the cost of longer processing time."
|
||||
},
|
||||
"submit": "Next to Step 6"
|
||||
"submit": "Continue →"
|
||||
},
|
||||
"price_trend": {
|
||||
"title": "Price Trend Thresholds",
|
||||
"description": "{step_progress}\n\nConfigure thresholds for price trend sensors. These sensors compare the current price with the average of the next N hours to determine if prices are rising, falling, or stable.",
|
||||
"title": "📈 Price Trend Thresholds",
|
||||
"description": "_{step_progress}_\n\n**Configure thresholds for price trend sensors. These sensors compare current price with the average of the next N hours to determine if prices are rising, falling, or stable.**\n\n---",
|
||||
"data": {
|
||||
"price_trend_threshold_rising": "Rising Threshold (above current price)",
|
||||
"price_trend_threshold_falling": "Falling Threshold (below current price, negative value)"
|
||||
"price_trend_threshold_rising": "Rising Threshold",
|
||||
"price_trend_threshold_falling": "Falling Threshold"
|
||||
},
|
||||
"submit": "Next to Step 7"
|
||||
"data_description": {
|
||||
"price_trend_threshold_rising": "Percentage that the average of the next N hours must be above the current price to qualify as 'rising' trend. Example: 5 means average is at least 5% higher → prices will rise. Typical values: 5-15%. Default: 5%",
|
||||
"price_trend_threshold_falling": "Percentage (negative) that the average of the next N hours must be below the current price to qualify as 'falling' trend. Example: -5 means average is at least 5% lower → prices will fall. Typical values: -5 to -15%. Default: -5%"
|
||||
},
|
||||
"submit": "Continue →"
|
||||
},
|
||||
"chart_data_export": {
|
||||
"title": "Chart Data Export",
|
||||
"description": "{step_progress}\n\n**⚠️ This step is optional** and only relevant if you plan to enable the **Chart Data Export** diagnostic sensor.\n\n**⚠️ IMPORTANT: Legacy Feature**\nThis sensor exists for **backwards compatibility** with tools that can only read entity attributes (e.g., older ApexCharts versions). **For new integrations, use the `tibber_prices.get_chartdata` service directly** - it's more flexible, efficient, and the recommended Home Assistant approach.\n\n**When to use this sensor:**\n- ✅ Your dashboard tool can ONLY read attributes (not call services)\n- ✅ You need static data that updates automatically\n- ❌ NOT recommended for new integrations that support service calls\n\n**What is this sensor?**\nThis sensor calls the `tibber_prices.get_chartdata` service with your custom YAML parameters and exposes the result as entity attributes.\n\n**How to use it:**\n1. **Complete this configuration** (or leave empty for service defaults)\n2. Go to **Settings → Devices & Services → Tibber Prices**\n3. Click on your home → Find **'Chart Data Export'** in the **Diagnostic** section\n4. Enable the sensor - it will automatically call the service with your configuration\n5. Use the sensor's attributes in your dashboard cards\n\n**Configuration guide:**\n1. Test your service call in **Developer Tools → Services → `tibber_prices.get_chartdata`**\n2. Copy the YAML from the `data:` section (without `entry_id`)\n3. Paste it below (use **Shift+Enter** or **Ctrl+Enter** for new lines, NOT just Enter)\n\n**Example YAML:**\n```yaml\nday:\n - today\n - tomorrow\ninclude_level: true\ninclude_rating_level: true\n```\n\n**Note:** Leave empty to use service defaults or skip this feature if you don't need the sensor.",
|
||||
"title": "📊 Chart Data Export",
|
||||
"description": "_{step_progress}_\n\n**⚠️ This step is optional** and only relevant if you plan to enable the **Chart Data Export** diagnostic sensor.\n\n**⚠️ IMPORTANT: Legacy Feature**\nThis sensor exists for **backwards compatibility** with tools that can only read entity attributes (e.g., older ApexCharts versions). **For new integrations, use the `tibber_prices.get_chartdata` service directly** - it's more flexible, efficient, and the recommended Home Assistant approach.\n\n**When to use this sensor:**\n- ✅ Your dashboard tool can ONLY read attributes (not call services)\n- ✅ You need static data that updates automatically\n- ❌ NOT recommended for new integrations that support service calls\n\n**What is this sensor?**\nThis sensor calls the `tibber_prices.get_chartdata` service with your custom YAML parameters and exposes the result as entity attributes.\n\n**How to use it:**\n1. **Complete this configuration** (or leave empty for service defaults)\n2. Go to **Settings → Devices & Services → Tibber Prices**\n3. Click on your home → Find **'Chart Data Export'** in the **Diagnostic** section\n4. Enable the sensor - it will automatically call the service with your configuration\n5. Use the sensor's attributes in your dashboard cards\n\n**Configuration guide:**\n1. Test your service call in **Developer Tools → Services → `tibber_prices.get_chartdata`**\n2. Copy the YAML from the `data:` section (without `entry_id`)\n3. Paste it below (use **Shift+Enter** or **Ctrl+Enter** for new lines, NOT just Enter)\n\n**Example YAML:**\n```yaml\nday:\n - today\n - tomorrow\ninclude_level: true\ninclude_rating_level: true\n```\n\n**Note:** Leave empty to use service defaults or skip this feature if you don't need the sensor.",
|
||||
"data": {
|
||||
"chart_data_config": "Service Configuration (YAML)"
|
||||
},
|
||||
"data_description": {
|
||||
"chart_data_config": "YAML configuration for get_chartdata service. Supported parameters: day (list of yesterday/today/tomorrow), resolution (interval/hourly), output_format, include_level, include_rating_level, include_average, and many more. See service documentation for full list. Leave empty to use service defaults (today, interval resolution, array of objects)."
|
||||
},
|
||||
"submit": "Complete Configuration"
|
||||
"submit": "Complete ✓"
|
||||
},
|
||||
"volatility": {
|
||||
"title": "Price Volatility Thresholds",
|
||||
"description": "{step_progress}\n\nConfigure thresholds for volatility classification. Volatility measures relative price variation using the coefficient of variation (CV = standard deviation / mean × 100%). These thresholds are percentage values that work across all price levels.\n\nUsed by:\n• Volatility sensors (classification)\n• Trend sensors (adaptive threshold adjustment: <moderate = more sensitive, ≥high = less sensitive)",
|
||||
"title": "💨 Price Volatility Thresholds",
|
||||
"description": "_{step_progress}_\n\n**Configure thresholds for volatility classification.** Volatility measures relative price variation using the coefficient of variation (CV = standard deviation / mean × 100%). These thresholds are percentage values that work across all price levels.\n\nUsed by:\n• Volatility sensors (classification)\n• Trend sensors (adaptive threshold adjustment: <moderate = more sensitive, ≥high = less sensitive)\n\n---",
|
||||
"data": {
|
||||
"volatility_threshold_moderate": "Moderate Threshold (CV ≥ this %, e.g., 15)",
|
||||
"volatility_threshold_high": "High Threshold (CV ≥ this %, e.g., 30)",
|
||||
"volatility_threshold_very_high": "Very High Threshold (CV ≥ this %, e.g., 50)"
|
||||
"volatility_threshold_moderate": "Moderate Threshold",
|
||||
"volatility_threshold_high": "High Threshold",
|
||||
"volatility_threshold_very_high": "Very High Threshold"
|
||||
},
|
||||
"data_description": {
|
||||
"volatility_threshold_moderate": "Coefficient of Variation (CV) at which prices are considered 'moderately volatile'. CV = (standard deviation / mean) × 100%. Example: 15 means price fluctuations of ±15% around average. Sensors show this classification, trend sensors become more sensitive. Default: 15%",
|
||||
"volatility_threshold_high": "Coefficient of Variation (CV) at which prices are considered 'highly volatile'. Example: 30 means price fluctuations of ±30% around average. Larger price jumps expected, trend sensors become less sensitive. Default: 30%",
|
||||
"volatility_threshold_very_high": "Coefficient of Variation (CV) at which prices are considered 'very highly volatile'. Example: 50 means extreme price fluctuations of ±50% around average. On such days, strong price spikes are likely. Default: 50%"
|
||||
},
|
||||
"submit": "Next to Step 4"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
}
|
||||
},
|
||||
"common": {
|
||||
"step_progress": "Trinn {step_num} av {total_steps}"
|
||||
"step_progress": "{step_num} / {total_steps}"
|
||||
},
|
||||
"config_subentries": {
|
||||
"home": {
|
||||
|
|
@ -84,29 +84,36 @@
|
|||
"options": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Generelle innstillinger",
|
||||
"description": "{step_progress}\n\nKonfigurer generelle innstillinger for Tibber Prisinformasjon & Vurderinger.\n\nBruker: {user_login}",
|
||||
"title": "⚙️ Generelle innstillinger",
|
||||
"description": "_{step_progress}_\n\n**Konfigurer generelle innstillinger for Tibber prisinformasjon og vurderinger.**\n\n---\n\n**Bruker:** {user_login}",
|
||||
"data": {
|
||||
"extended_descriptions": "Vis utvidede beskrivelser i entitetsattributter"
|
||||
"extended_descriptions": "Utvidede beskrivelser"
|
||||
},
|
||||
"submit": "Neste til steg 2"
|
||||
"data_description": {
|
||||
"extended_descriptions": "Styrer om entitetsattributter inkluderer detaljerte forklaringer og brukstips.\n\n• Deaktivert (standard): Bare kort beskrivelse\n• Aktivert: Detaljert forklaring + praktiske brukseksempler\n\nEksempel:\nDeaktivert = 1 attributt\nAktivert = 2 ekstra attributter"
|
||||
},
|
||||
"submit": "Videre til trinn 2"
|
||||
},
|
||||
"current_interval_price_rating": {
|
||||
"title": "Prisvurderingsterskler",
|
||||
"description": "{step_progress}\n\nKonfigurer terskler for prisvurderingsnivåer (lav/normal/høy) basert på sammenligning med 24-timers glidende gjennomsnitt.",
|
||||
"title": "📊 Prisvurderings-terskler",
|
||||
"description": "_{step_progress}_\n\n**Konfigurer terskler for prisvurderingsnivåer (lav/normal/høy) basert på sammenligning med etterfølgende 24-timers gjennomsnitt.**\n\n---",
|
||||
"data": {
|
||||
"price_rating_threshold_low": "Lav vurderingsterskel (% under glidende gjennomsnitt)",
|
||||
"price_rating_threshold_high": "Høy vurderingsterskel (% over glidende gjennomsnitt)"
|
||||
"price_rating_threshold_low": "Lav-terskel",
|
||||
"price_rating_threshold_high": "Høy-terskel"
|
||||
},
|
||||
"submit": "Neste til steg 3"
|
||||
"data_description": {
|
||||
"price_rating_threshold_low": "Prosentverdi for hvor mye gjeldende pris må være under det etterfølgende 24-timers gjennomsnittet for å kvalifisere som 'lav' vurdering. Eksempel: 5 betyr minst 5% under gjennomsnitt. Sensorer med denne vurderingen indikerer gunstige tidsvinduer. Standard: 5%",
|
||||
"price_rating_threshold_high": "Prosentverdi for hvor mye gjeldende pris må være over det etterfølgende 24-timers gjennomsnittet for å kvalifisere som 'høy' vurdering. Eksempel: 10 betyr minst 10% over gjennomsnitt. Sensorer med denne vurderingen advarer om dyre tidsvinduer. Standard: 10%"
|
||||
},
|
||||
"submit": "Fortsett →"
|
||||
},
|
||||
"best_price": {
|
||||
"title": "Innstillinger for beste prisperiode",
|
||||
"description": "{step_progress}\n\nKonfigurer innstillinger for binærsensoren Beste prisperiode. Denne sensoren er aktiv i perioder med de laveste strømprisene.",
|
||||
"title": "💚 Beste Prisperiode Innstillinger",
|
||||
"description": "_{step_progress}_\n\nKonfigurer innstillinger for **Beste Prisperiode** binærsensor. Denne sensoren er aktiv i perioder med de laveste strømprisene.\n\n---",
|
||||
"data": {
|
||||
"best_price_min_period_length": "Minimum periodelengde",
|
||||
"best_price_flex": "Fleksibilitet: Maksimum % over minimumspris",
|
||||
"best_price_min_distance_from_avg": "Minimumsavstand: Påkrevd % under daglig gjennomsnitt",
|
||||
"best_price_flex": "Fleksibilitet: Maksimum over minimumspris",
|
||||
"best_price_min_distance_from_avg": "Minimumsavstand: Påkrevd under daglig gjennomsnitt",
|
||||
"best_price_max_level": "Prisnivåfilter (valgfritt)",
|
||||
"best_price_max_level_gap_count": "Gaptoleranse for nivåfilter",
|
||||
"enable_min_periods_best": "Prøv å oppnå minimum antall perioder",
|
||||
|
|
@ -114,21 +121,24 @@
|
|||
"relaxation_attempts_best": "Antall forsøk (fleksnivåer)"
|
||||
},
|
||||
"data_description": {
|
||||
"best_price_max_level": "Vis kun beste prisperioder hvis de inneholder intervaller med prisnivåer ≤ valgt verdi. For eksempel: å velge 'Billig' betyr at perioden må ha minst ett 'VELDIG_BILLIG' eller 'BILLIG' intervall. Dette sikrer at 'beste pris'-perioder ikke bare er relativt billige for dagen, men faktisk billige i absolutte tall. Velg 'Alle' for å vise beste priser uavhengig av deres absolutte prisnivå.",
|
||||
"best_price_min_period_length": "Minimum varighet for at en periode skal regnes som 'beste pris'. Lengre perioder er mer praktiske for å kjøre apparater som oppvaskmaskiner eller varmepumper. Beste-pris-perioder krever minimum 60 minutter (sammenlignet med 30 minutter for topppris-advarsler) fordi de skal gi meningsfulle tidsvinduer for forbruksplanlegging, ikke bare korte muligheter.",
|
||||
"best_price_flex": "Maksimalt over den daglige minimumsprisen der intervaller fortsatt kvalifiserer som 'beste pris'. Anbefaling: 15-20 med lemping aktivert (standard), eller 25-35 uten lemping. Maksimum: 50 (hard grense for pålitelig periodegjenkjenning).",
|
||||
"best_price_min_distance_from_avg": "Sikrer at perioder er betydelig billigere enn daglig gjennomsnitt, ikke bare marginalt under det. Dette filtrerer støy og forhindrer at litt-under-gjennomsnittet perioder markeres som 'beste pris' på dager med flate priser. Høyere verdier = strengere filtrering (bare virkelig billige perioder kvalifiserer). Standard: 5 betyr at perioder må være minst 5% under daglig gjennomsnitt.",
|
||||
"best_price_max_level": "Vis kun beste prisperioder hvis de inneholder intervaller med prisnivåer ≤ valgt verdi. For eksempel: å velge 'Billig' betyr at perioden må ha minst étt 'VELDIG_BILLIG' eller 'BILLIG' intervall. Dette sikrer at 'beste pris'-perioder ikke bare er relativt billige for dagen, men faktisk billige i absolutte tall. Velg 'Alle' for å vise beste priser uavhengig av deres absolutte prisnivå.",
|
||||
"enable_min_periods_best": "Når aktivert vil filtrene gradvis bli lempeligere hvis det ikke blir funnet nok perioder. Dette forsøker å nå ønsket minimum antall perioder, noe som kan føre til at mindre optimale tidsrom blir markert som beste-pris-perioder.",
|
||||
"min_periods_best": "Minimum antall beste-pris-perioder å sikte mot per dag. Filtre vil bli lempet trinn for trinn for å prøve å oppnå dette antallet. Kun aktiv når 'Prøv å oppnå minimum antall perioder' er aktivert. Standard: 1",
|
||||
"relaxation_attempts_best": "Hvor mange fleksnivåer (forsøk) som testes før vi gir opp. Hvert forsøk kjører alle filterkombinasjoner på det nye fleksnivået. Flere forsøk øker sjansen for ekstra perioder, men tar litt lengre tid.",
|
||||
"best_price_max_level_gap_count": "Maksimalt antall påfølgende intervaller som kan avvike med nøyaktig ett nivåtrinn fra det nødvendige nivået. For eksempel: med 'Billig' filter og gapantall 1, aksepteres sekvensen 'BILLIG, BILLIG, NORMAL, BILLIG' (NORMAL er ett trinn over BILLIG). Dette forhindrer at perioder blir delt opp av tilfeldige nivåavvik. Standard: 0 (streng filtrering, ingen toleranse)."
|
||||
"best_price_max_level_gap_count": "Maksimalt antall påfølgende intervaller som kan avvike med nøyaktig étt nivåtrinn fra det nødvendige nivået. For eksempel: med 'Billig' filter og gapantall 1, aksepteres sekvensen 'BILLIG, BILLIG, NORMAL, BILLIG' (NORMAL er étt trinn over BILLIG). Dette forhindrer at perioder blir delt opp av tilfeldige nivåavvik. Standard: 0 (streng filtrering, ingen toleranse)."
|
||||
},
|
||||
"submit": "Neste til steg 5"
|
||||
"submit": "Fortsett →"
|
||||
},
|
||||
"peak_price": {
|
||||
"title": "Innstillinger for topprisperiode",
|
||||
"description": "{step_progress}\n\nKonfigurer innstillinger for binærsensoren Topprisperiode. Denne sensoren er aktiv i perioder med de høyeste strømprisene.",
|
||||
"title": "🔴 Toppprisperiode Innstillinger",
|
||||
"description": "_{step_progress}_\n\nKonfigurer innstillinger for **Toppprisperiode** binærsensor. Denne sensoren er aktiv i perioder med de høyeste strømprisene.\n\n---",
|
||||
"data": {
|
||||
"peak_price_min_period_length": "Minimum periodelengde",
|
||||
"peak_price_flex": "Fleksibilitet: Maksimum % under maksimumspris (negativ verdi)",
|
||||
"peak_price_min_distance_from_avg": "Minimumsavstand: Påkrevd % over daglig gjennomsnitt",
|
||||
"peak_price_flex": "Fleksibilitet: Maksimum under maksimumspris",
|
||||
"peak_price_min_distance_from_avg": "Minimumsavstand: Påkrevd over daglig gjennomsnitt",
|
||||
"peak_price_min_level": "Prisnivåfilter (valgfritt)",
|
||||
"peak_price_max_level_gap_count": "Gaptoleranse for nivåfilter",
|
||||
"enable_min_periods_peak": "Prøv å oppnå minimum antall perioder",
|
||||
|
|
@ -136,32 +146,44 @@
|
|||
"relaxation_attempts_peak": "Antall forsøk (fleksnivåer)"
|
||||
},
|
||||
"data_description": {
|
||||
"peak_price_min_level": "Vis kun topprisperioder hvis de inneholder intervaller med prisnivåer ≥ valgt verdi. For eksempel: å velge 'Dyr' betyr at perioden må ha minst ett 'DYR' eller 'VELDIG_DYR' intervall. Dette sikrer at 'topppris'-perioder ikke bare er relativt dyre for dagen, men faktisk dyre i absolutte tall. Velg 'Alle' for å vise topppriser uavhengig av deres absolutte prisnivå.",
|
||||
"peak_price_min_period_length": "Minimum varighet for at en periode skal regnes som 'topppris'. Topppris-advarsler er tillatt for kortere perioder (minimum 30 minutter sammenlignet med 60 minutter for beste pris) fordi korte dyre topper er verdt å advare om, selv om de er for korte for forbruksplanlegging.",
|
||||
"peak_price_flex": "Maksimalt under den daglige maksimumsprisen der intervaller fortsatt kvalifiserer som 'topppris'. Anbefaling: -15 til -20 med lemping aktivert (standard), eller -25 til -35 uten lemping. Maksimum: -50 (hard grense for pålitelig periodegjenkjenning). Merk: Negative verdier angir avstand under maksimum.",
|
||||
"peak_price_min_distance_from_avg": "Sikrer at perioder er betydelig dyrere enn daglig gjennomsnitt, ikke bare marginalt over det. Dette filtrerer støy og forhindrer at litt-over-gjennomsnittet perioder markeres som 'topppris' på dager med flate priser. Høyere verdier = strengere filtrering (bare virkelig dyre perioder kvalifiserer). Standard: 5 betyr at perioder må være minst 5% over daglig gjennomsnitt.",
|
||||
"peak_price_min_level": "Vis kun topprisperioder hvis de inneholder intervaller med prisnivåer ≥ valgt verdi. For eksempel: å velge 'Dyr' betyr at perioden må ha minst étt 'DYR' eller 'VELDIG_DYR' intervall. Dette sikrer at 'topppris'-perioder ikke bare er relativt dyre for dagen, men faktisk dyre i absolutte tall. Velg 'Alle' for å vise topppriser uavhengig av deres absolutte prisnivå.",
|
||||
"enable_min_periods_peak": "Når aktivert vil filtrene gradvis bli lempeligere hvis det ikke blir funnet nok perioder. Dette forsøker å nå ønsket minimum antall perioder for å sikre at du blir advart om dyre perioder selv på dager med uvanlige prismønstre.",
|
||||
"min_periods_peak": "Minimum antall topp-pris-perioder å sikte mot per dag. Filtre vil bli lempet trinn for trinn for å prøve å oppnå dette antallet. Kun aktiv når 'Prøv å oppnå minimum antall perioder' er aktivert. Standard: 1",
|
||||
"relaxation_attempts_peak": "Hvor mange fleksnivåer (forsøk) som testes før vi gir opp. Hvert forsøk kjører alle filterkombinasjoner på det nye fleksnivået. Flere forsøk øker sjansen for ekstra toppprisperioder, men tar litt lengre tid.",
|
||||
"peak_price_max_level_gap_count": "Maksimalt antall påfølgende intervaller som kan avvike med nøyaktig ett nivåtrinn fra det nødvendige nivået. For eksempel: med 'Dyr' filter og gapantall 2, aksepteres sekvensen 'DYR, NORMAL, NORMAL, DYR' (NORMAL er ett trinn under DYR). Dette forhindrer at perioder blir delt opp av tilfeldige nivåavvik. Standard: 0 (streng filtrering, ingen toleranse)."
|
||||
"peak_price_max_level_gap_count": "Maksimalt antall påfølgende intervaller som kan avvike med nøyaktig étt nivåtrinn fra det nødvendige nivået. For eksempel: med 'Dyr' filter og gapantall 1, aksepteres sekvensen 'DYR, DYR, NORMAL, DYR' (NORMAL er étt trinn under DYR). Dette forhindrer at perioder blir delt opp av tilfeldige nivåavvik. Standard: 0 (streng filtrering, ingen toleranse)."
|
||||
},
|
||||
"submit": "Neste til steg 6"
|
||||
"submit": "Fortsett →"
|
||||
},
|
||||
"price_trend": {
|
||||
"title": "Pristrendterskler",
|
||||
"description": "{step_progress}\n\nKonfigurer terskler for pristrendsensorer. Disse sensorene sammenligner nåværende pris med gjennomsnittet av de neste N timene for å bestemme om prisene stiger, faller eller er stabile.",
|
||||
"title": "📈 Pristrendterskler",
|
||||
"description": "_{step_progress}_\n\n**Konfigurer terskler for pristrendsensorer. Disse sensorene sammenligner nåværende pris med gjennomsnittet av de neste N timene for å bestemme om prisene stiger, faller eller er stabile.**\n\n---",
|
||||
"data": {
|
||||
"price_trend_threshold_rising": "Stigende terskel (% over nåværende pris)",
|
||||
"price_trend_threshold_falling": "Fallende terskel (% under nåværende pris, negativ verdi)"
|
||||
"price_trend_threshold_rising": "Stigende terskel",
|
||||
"price_trend_threshold_falling": "Fallende terskel"
|
||||
},
|
||||
"submit": "Neste til trinn 7"
|
||||
"data_description": {
|
||||
"price_trend_threshold_rising": "Prosentverdi for gjennomsnittlig prisøkning per time som kvalifiserer trenden som 'stigende'. Eksempel: 5 betyr minst 5% økning per time. Sensorer med denne trenden indikerer at prisene vil stige raskt. Standard: 5%",
|
||||
"price_trend_threshold_falling": "Prosentverdi for gjennomsnittlig prisnedgang per time som kvalifiserer trenden som 'synkende'. Eksempel: -5 betyr minst 5% nedgang per time. Sensorer med denne trenden indikerer at prisene vil synke raskt. Standard: -5%"
|
||||
},
|
||||
"submit": "Fortsett →"
|
||||
},
|
||||
"volatility": {
|
||||
"title": "Volatilitet Terskler",
|
||||
"description": "{step_progress}\n\nKonfigurer terskler for volatilitetsklassifisering. Volatilitet måler relativ prisvariation ved hjelp av variasjonskoeffisienten (VK = standardavvik / gjennomsnitt × 100%). Disse tersklene er prosentverdier som fungerer på tvers av alle prisnivåer.\n\nBrukes av:\n• Volatilitetssensorer (klassifisering)\n• Trendsensorer (adaptiv terskel justering: <moderat = mer følsom, ≥høy = mindre følsom)",
|
||||
"title": "💨 Volatilitets-terskler",
|
||||
"description": "_{step_progress}_\n\n**Konfigurer terskler for volatilitetsklassifisering. Volatilitet måler relativ prisvariation ved hjelp av variasjonskoeffisienten (VK = standardavvik / gjennomsnitt × 100%). Disse tersklene er prosentverdier som fungerer på tvers av alle prisnivåer.**\n\nBrukes av:\n• Volatilitetssensorer (klassifisering)\n• Trendsensorer (adaptiv terskel justering: <moderat = mer følsom, ≥høy = mindre følsom)\n\n---",
|
||||
"data": {
|
||||
"volatility_threshold_moderate": "Moderat terskel (VK ≥ denne %, f.eks. 15)",
|
||||
"volatility_threshold_high": "Høy terskel (VK ≥ denne %, f.eks. 30)",
|
||||
"volatility_threshold_very_high": "Veldig høy terskel (VK ≥ denne %, f.eks. 50)"
|
||||
"volatility_threshold_moderate": "Moderat terskel",
|
||||
"volatility_threshold_high": "Høy terskel",
|
||||
"volatility_threshold_very_high": "Veldig høy terskel"
|
||||
},
|
||||
"submit": "Neste til steg 4"
|
||||
"data_description": {
|
||||
"volatility_threshold_moderate": "Grenseverdi for standardavvik (% av gjennomsnitt) for å klassifisere prisvariasjonen som 'moderat'. Eksempel: 10 betyr standardavvik ≥ 10% av gjennomsnitt. Dette indikerer økt prisustabilitet. Standard: 10%",
|
||||
"volatility_threshold_high": "Grenseverdi for standardavvik (% av gjennomsnitt) for å klassifisere prisvariasjonen som 'høy'. Eksempel: 20 betyr standardavvik ≥ 20% av gjennomsnitt. Dette indikerer betydelige prissvingninger. Standard: 20%",
|
||||
"volatility_threshold_very_high": "Grenseverdi for standardavvik (% av gjennomsnitt) for å klassifisere prisvariasjonen som 'veldig høy'. Eksempel: 30 betyr standardavvik ≥ 30% av gjennomsnitt. Dette indikerer ekstrem prisustabilitet. Standard: 30%"
|
||||
},
|
||||
"submit": "Fortsett →"
|
||||
},
|
||||
"chart_data_export": {
|
||||
"title": "Diagramdataeksport",
|
||||
|
|
@ -172,7 +194,7 @@
|
|||
"data_description": {
|
||||
"chart_data_config": "YAML-konfigurasjon for `get_chartdata` tjeneste. Støttede parametere: day (liste med yesterday/today/tomorrow), resolution (interval/hourly), output_format, include_level, include_rating_level, include_average, og mange flere. Se tjenestens dokumentasjon for full liste. La være tomt for å bruke standardinnstillinger (today, interval resolution, array of objects)."
|
||||
},
|
||||
"submit": "Fullfør konfigurasjon"
|
||||
"submit": "Fullfør ✓"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
}
|
||||
},
|
||||
"common": {
|
||||
"step_progress": "Stap {step_num} van {total_steps}"
|
||||
"step_progress": "{step_num} / {total_steps}"
|
||||
},
|
||||
"config_subentries": {
|
||||
"home": {
|
||||
|
|
@ -84,29 +84,36 @@
|
|||
"options": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Algemene instellingen",
|
||||
"description": "{step_progress}\n\nConfigureer algemene instellingen voor Tibber Prijsinformatie & Beoordelingen.\n\nGebruiker: {user_login}",
|
||||
"title": "⚙️ Algemene instellingen",
|
||||
"description": "_{step_progress}_\n\n**Configureer algemene instellingen voor Tibber-prijsinformatie en -beoordelingen.**\n\n---\n\n**Gebruiker:** {user_login}",
|
||||
"data": {
|
||||
"extended_descriptions": "Uitgebreide beschrijvingen tonen in entiteitsattributen"
|
||||
"extended_descriptions": "Uitgebreide beschrijvingen"
|
||||
},
|
||||
"submit": "Volgende naar stap 2"
|
||||
"data_description": {
|
||||
"extended_descriptions": "Bepaalt of entiteitsattributen gedetailleerde uitleg en gebruikstips bevatten.\n\n• Uitgeschakeld (standaard): Alleen korte beschrijving\n• Ingeschakeld: Gedetailleerde uitleg + praktische gebruiksvoorbeelden\n\nVoorbeeld:\nUitgeschakeld = 1 attribuut\nIngeschakeld = 2 extra attributen"
|
||||
},
|
||||
"submit": "Doorgaan →"
|
||||
},
|
||||
"current_interval_price_rating": {
|
||||
"title": "Prijsbeoordelingsdrempels",
|
||||
"description": "{step_progress}\n\nConfigureer drempels voor prijsbeoordelingsniveaus (laag/normaal/hoog) op basis van vergelijking met het voortschrijdend 24-uurs gemiddelde.",
|
||||
"title": "📊 Prijsbeoordelingsdrempels",
|
||||
"description": "_{step_progress}_\n\n**Configureer drempels voor prijsbeoordelingsniveaus (laag/normaal/hoog) op basis van vergelijking met het lopende 24-uurs gemiddelde.**\n\n---",
|
||||
"data": {
|
||||
"price_rating_threshold_low": "Lage beoordelingsdrempel (% onder voortschrijdend gemiddelde)",
|
||||
"price_rating_threshold_high": "Hoge beoordelingsdrempel (% boven voortschrijdend gemiddelde)"
|
||||
"price_rating_threshold_low": "Lage drempel",
|
||||
"price_rating_threshold_high": "Hoge drempel"
|
||||
},
|
||||
"submit": "Volgende naar stap 3"
|
||||
"data_description": {
|
||||
"price_rating_threshold_low": "Percentage onder het lopende 24-uurs gemiddelde dat de huidige prijs moet zijn om als 'laag' te kwalificeren. Voorbeeld: 5 betekent minstens 5% onder gemiddelde. Sensoren met deze beoordeling geven gunstige tijdsvensters aan. Standaard: 5%",
|
||||
"price_rating_threshold_high": "Percentage boven het lopende 24-uurs gemiddelde dat de huidige prijs moet zijn om als 'hoog' te kwalificeren. Voorbeeld: 10 betekent minstens 10% boven gemiddelde. Sensoren met deze beoordeling waarschuwen voor dure tijdsvensters. Standaard: 10%"
|
||||
},
|
||||
"submit": "Doorgaan →"
|
||||
},
|
||||
"best_price": {
|
||||
"title": "Instellingen beste prijsperiode",
|
||||
"description": "{step_progress}\n\nConfigureer instellingen voor de Beste Prijsperiode binaire sensor. Deze sensor is actief tijdens perioden met de laagste elektriciteitsprijzen.",
|
||||
"title": "💚 Beste Prijs Periode Instellingen",
|
||||
"description": "_{step_progress}_\n\nConfigureer instellingen voor de **Beste Prijs Periode** binaire sensor. Deze sensor is actief tijdens periodes met de laagste elektriciteitsprijzen.\n\n---",
|
||||
"data": {
|
||||
"best_price_min_period_length": "Minimale periode lengte",
|
||||
"best_price_flex": "Flexibiliteit: Maximaal % boven minimumprijs",
|
||||
"best_price_min_distance_from_avg": "Minimale afstand: Vereist % onder dagelijks gemiddelde",
|
||||
"best_price_min_period_length": "Minimale periodelengte",
|
||||
"best_price_flex": "Flexibiliteit: Maximaal boven minimumprijs",
|
||||
"best_price_min_distance_from_avg": "Minimale afstand: Vereist onder daggemiddelde",
|
||||
"best_price_max_level": "Prijsniveaufilter (Optioneel)",
|
||||
"best_price_max_level_gap_count": "Gaptolerantie voor niveaufilter",
|
||||
"enable_min_periods_best": "Probeer minimum aantal periodes te bereiken",
|
||||
|
|
@ -114,21 +121,24 @@
|
|||
"relaxation_attempts_best": "Aantal ontspanningspogingen"
|
||||
},
|
||||
"data_description": {
|
||||
"best_price_min_period_length": "Minimale duur voordat een periode als 'beste prijs' wordt beschouwd. Langere periodes zijn praktischer voor het gebruik van apparaten zoals vaatwassers of warmtepompen. Beste prijs periodes vereisen minimaal 60 minuten (versus 30 minuten voor piekprijs waarschuwingen) omdat ze betekenisvolle tijdsvensters moeten bieden voor verbruiksplanning, niet alleen korte kansen.",
|
||||
"best_price_flex": "Maximaal boven de dagelijkse minimumprijs waarbij intervallen nog kwalificeren als 'beste prijs'. Aanbeveling: 15-20 met versoepeling geactiveerd (standaard), of 25-35 zonder versoepeling. Maximum: 50 (harde limiet voor betrouwbare periodedetectie).",
|
||||
"best_price_min_distance_from_avg": "Zorgt ervoor dat periodes significant goedkoper zijn dan het daggemiddelde, niet slechts marginaal eronder. Dit filtert ruis en voorkomt dat licht-onder-gemiddelde periodes op dagen met vlakke prijzen als 'beste prijs' worden gemarkeerd. Hogere waarden = striktere filtering (alleen echt goedkope periodes kwalificeren). Standaard: 5 betekent dat periodes minimaal 5% onder het daggemiddelde moeten liggen.",
|
||||
"best_price_max_level": "Toon alleen beste prijsperiodes als ze intervallen bevatten met prijsniveaus ≤ geselecteerde waarde. Bijvoorbeeld: selecteren van 'Goedkoop' betekent dat de periode minstens één 'ZEER_GOEDKOOP' of 'GOEDKOOP' interval moet hebben. Dit zorgt ervoor dat 'beste prijs'-periodes niet alleen relatief goedkoop zijn voor de dag, maar daadwerkelijk goedkoop in absolute termen. Selecteer 'Alle' om beste prijzen te tonen ongeacht hun absolute prijsniveau.",
|
||||
"enable_min_periods_best": "Wanneer ingeschakeld worden filters geleidelijk versoepeld als er niet genoeg periodes worden gevonden. Dit probeert het gewenste minimum aantal periodes te bereiken om ervoor te zorgen dat je kansen hebt om van lage prijzen te profiteren, zelfs op dagen met ongebruikelijke prijspatronen.",
|
||||
"min_periods_best": "Minimum aantal beste prijsperiodes om naar te streven per dag. Filters worden stap voor stap versoepeld om dit aantal te proberen bereiken. Alleen actief wanneer 'Probeer minimum aantal periodes te bereiken' is ingeschakeld. Standaard: 1",
|
||||
"relaxation_attempts_best": "Hoeveel keer de ontspanningslogica filters opnieuw mag proberen. Gebruik hogere waarden om meer variaties te testen als dagen extreem grillig zijn. Hogere aantallen vergen meer rekentijd maar vergroten de kans dat het gewenste minimum aantal periodes wordt gehaald.",
|
||||
"best_price_max_level_gap_count": "Maximum aantal opeenvolgende intervallen dat precies één niveaustap mag afwijken van het vereiste niveau. Bijvoorbeeld: met 'Goedkoop' filter en gaptelling 1 wordt de reeks 'GOEDKOOP, GOEDKOOP, NORMAAL, GOEDKOOP' geaccepteerd (NORMAAL is één stap boven GOEDKOOP). Dit voorkomt dat periodes worden opgesplitst door incidentele niveauafwijkingen. Standaard: 0 (strikte filtering, geen tolerantie)."
|
||||
},
|
||||
"submit": "Volgende naar stap 5"
|
||||
"submit": "Doorgaan →"
|
||||
},
|
||||
"peak_price": {
|
||||
"title": "Instellingen piekprijsperiode",
|
||||
"description": "{step_progress}\n\nConfigureer instellingen voor de Piekprijsperiode binaire sensor. Deze sensor is actief tijdens perioden met de hoogste elektriciteitsprijzen.",
|
||||
"title": "🔴 Piekprijs Periode Instellingen",
|
||||
"description": "_{step_progress}_\n\nConfigureer instellingen voor de **Piekprijs Periode** binaire sensor. Deze sensor is actief tijdens periodes met de hoogste elektriciteitsprijzen.\n\n---",
|
||||
"data": {
|
||||
"peak_price_min_period_length": "Minimale periode lengte",
|
||||
"peak_price_flex": "Flexibiliteit: Maximaal % onder maximumprijs (negatieve waarde)",
|
||||
"peak_price_min_distance_from_avg": "Minimale afstand: Vereist % boven dagelijks gemiddelde",
|
||||
"peak_price_min_period_length": "Minimale periodelengte",
|
||||
"peak_price_flex": "Flexibiliteit: Maximaal onder maximumprijs",
|
||||
"peak_price_min_distance_from_avg": "Minimale afstand: Vereist boven daggemiddelde",
|
||||
"peak_price_min_level": "Prijsniveaufilter (Optioneel)",
|
||||
"peak_price_max_level_gap_count": "Gaptolerantie voor niveaufilter",
|
||||
"enable_min_periods_peak": "Probeer minimum aantal periodes te bereiken",
|
||||
|
|
@ -136,32 +146,44 @@
|
|||
"relaxation_attempts_peak": "Aantal ontspanningspogingen"
|
||||
},
|
||||
"data_description": {
|
||||
"peak_price_min_level": "Toon alleen piekprijsperiodes als ze intervallen bevatten met prijsniveaus ≥ geselecteerde waarde. Bijvoorbeeld: selecteren van 'Duur' betekent dat de periode minstens één 'DUUR' of 'ZEER_DUUR' interval moet hebben. Dit zorgt ervoor dat 'piekprijs'-periodes niet alleen relatief duur zijn voor de dag, maar daadwerkelijk duur in absolute termen. Selecteer 'Alle' om piekprijzen te tonen ongeacht hun absolute prijsniveau.",
|
||||
"peak_price_min_period_length": "Minimale duur voordat een periode als 'piekprijs' wordt beschouwd. Piekprijs waarschuwingen zijn toegestaan voor kortere periodes (minimaal 30 minuten versus 60 minuten voor beste prijs) omdat korte dure pieken de moeite waard zijn om voor te waarschuwen, zelfs als ze te kort zijn voor verbruiksplanning.",
|
||||
"peak_price_flex": "Maximaal onder de dagelijkse maximumprijs waarbij intervallen nog kwalificeren als 'piekprijs'. Aanbeveling: -15 tot -20 met versoepeling geactiveerd (standaard), of -25 tot -35 zonder versoepeling. Maximum: -50 (harde limiet voor betrouwbare periodedetectie). Let op: Negatieve waarden geven de afstand onder het maximum aan.",
|
||||
"peak_price_min_distance_from_avg": "Zorgt ervoor dat periodes significant duurder zijn dan het daggemiddelde, niet slechts marginaal erboven. Dit filtert ruis en voorkomt dat licht-boven-gemiddelde periodes op dagen met vlakke prijzen als 'piekprijs' worden gemarkeerd. Hogere waarden = striktere filtering (alleen echt dure periodes kwalificeren). Standaard: 5 betekent dat periodes minimaal 5% boven het daggemiddelde moeten liggen.",
|
||||
"peak_price_min_level": "Toon alleen piekprijs periodes als ze intervallen bevatten met prijsniveaus ≥ geselecteerde waarde. Bijvoorbeeld: selecteren van 'Duur' betekent dat de periode minstens één 'DUUR' of 'ZEER_DUUR' interval moet hebben. Dit zorgt ervoor dat 'piekprijs'-periodes niet alleen relatief duur zijn voor de dag, maar daadwerkelijk duur in absolute termen. Selecteer 'Alle' om piekprijzen te tonen ongeacht hun absolute prijsniveau.",
|
||||
"enable_min_periods_peak": "Wanneer ingeschakeld worden filters geleidelijk versoepeld als er niet genoeg periodes worden gevonden. Dit probeert het gewenste minimum aantal periodes te bereiken om ervoor te zorgen dat je wordt gewaarschuwd voor dure periodes, zelfs op dagen met ongebruikelijke prijspatronen.",
|
||||
"min_periods_peak": "Minimum aantal piekprijsperiodes om naar te streven per dag. Filters worden stap voor stap versoepeld om dit aantal te proberen bereiken. Alleen actief wanneer 'Probeer minimum aantal periodes te bereiken' is ingeschakeld. Standaard: 1",
|
||||
"relaxation_attempts_peak": "Hoeveel keer de ontspanningslogica filters opnieuw mag proberen. Gebruik meer pogingen wanneer de piekperiodes moeilijk te vinden zijn door vlakke of zeer grillige dagen. Elke extra poging kost wat extra verwerkingstijd maar vergroot de kans dat periodes worden gevonden.",
|
||||
"peak_price_max_level_gap_count": "Maximum aantal opeenvolgende intervallen dat precies één niveaustap mag afwijken van het vereiste niveau. Bijvoorbeeld: met 'Duur' filter en gaptelling 2 wordt de reeks 'DUUR, NORMAAL, NORMAAL, DUUR' geaccepteerd (NORMAAL is één stap onder DUUR). Dit voorkomt dat periodes worden opgesplitst door incidentele niveauafwijkingen. Standaard: 0 (strikte filtering, geen tolerantie)."
|
||||
"peak_price_max_level_gap_count": "Maximum aantal opeenvolgende intervallen dat precies één niveaustap mag afwijken van het vereiste niveau. Bijvoorbeeld: met 'Duur' filter en gaptelling 1 wordt de reeks 'DUUR, DUUR, NORMAAL, DUUR' geaccepteerd (NORMAAL is één stap onder DUUR). Dit voorkomt dat periodes worden opgesplitst door incidentele niveauafwijkingen. Standaard: 0 (strikte filtering, geen tolerantie)."
|
||||
},
|
||||
"submit": "Volgende naar stap 6"
|
||||
"submit": "Doorgaan →"
|
||||
},
|
||||
"price_trend": {
|
||||
"title": "Prijstrenddrempels",
|
||||
"description": "{step_progress}\n\nConfigureer drempels voor prijstrendsensoren. Deze sensoren vergelijken de huidige prijs met het gemiddelde van de volgende N uur om te bepalen of prijzen stijgen, dalen of stabiel zijn.",
|
||||
"title": "📈 Prijstrenddrempels",
|
||||
"description": "_{step_progress}_\n\n**Configureer drempels voor prijstrendsensoren. Deze sensoren vergelijken de huidige prijs met het gemiddelde van de volgende N uur om te bepalen of prijzen stijgen, dalen of stabiel zijn.**\n\n---",
|
||||
"data": {
|
||||
"price_trend_threshold_rising": "Stijgende drempel (% boven huidige prijs)",
|
||||
"price_trend_threshold_falling": "Dalende drempel (% onder huidige prijs, negatieve waarde)"
|
||||
"price_trend_threshold_rising": "Stijgende drempel",
|
||||
"price_trend_threshold_falling": "Dalende drempel"
|
||||
},
|
||||
"submit": "Verder naar stap 7"
|
||||
"data_description": {
|
||||
"price_trend_threshold_rising": "Percentage voor gemiddelde prijsstijging per uur die de trend kwalificeert als 'stijgend'. Voorbeeld: 5 betekent minstens 5% stijging per uur. Sensoren met deze trend geven aan dat prijzen snel zullen stijgen. Standaard: 5%",
|
||||
"price_trend_threshold_falling": "Percentage voor gemiddelde prijsdaling per uur die de trend kwalificeert als 'dalend'. Voorbeeld: -5 betekent minstens 5% daling per uur. Sensoren met deze trend geven aan dat prijzen snel zullen dalen. Standaard: -5%"
|
||||
},
|
||||
"submit": "Doorgaan →"
|
||||
},
|
||||
"volatility": {
|
||||
"title": "Volatiliteit Drempels",
|
||||
"description": "{step_progress}\n\nConfigureer drempels voor volatiliteitsclassificatie. Volatiliteit meet relatieve prijsvariatie met behulp van de variatiecoëfficiënt (VC = standaarddeviatie / gemiddelde × 100%). Deze drempels zijn percentagewaarden die werken over alle prijsniveaus.\n\nGebruikt door:\n• Volatiliteitssensoren (classificatie)\n• Trendsensoren (adaptieve drempelaanpassing: <matig = gevoeliger, ≥hoog = minder gevoelig)",
|
||||
"title": "💨 Volatiliteit Drempels",
|
||||
"description": "_{step_progress}_\n\n**Configureer drempels voor volatiliteitsclassificatie. Volatiliteit meet relatieve prijsvariatie met behulp van de variatiecoëfficiënt (VC = standaarddeviatie / gemiddelde × 100%). Deze drempels zijn percentagewaarden die werken over alle prijsniveaus.**\n\nGebruikt door:\n• Volatiliteitssensoren (classificatie)\n• Trendsensoren (adaptieve drempelaanpassing: <matig = gevoeliger, ≥hoog = minder gevoelig)\n\n---",
|
||||
"data": {
|
||||
"volatility_threshold_moderate": "Matige drempel (VC ≥ deze %, bijv. 15)",
|
||||
"volatility_threshold_high": "Hoge drempel (VC ≥ deze %, bijv. 30)",
|
||||
"volatility_threshold_very_high": "Zeer hoge drempel (VC ≥ deze %, bijv. 50)"
|
||||
"volatility_threshold_moderate": "Matige drempel",
|
||||
"volatility_threshold_high": "Hoge drempel",
|
||||
"volatility_threshold_very_high": "Zeer hoge drempel"
|
||||
},
|
||||
"submit": "Volgende naar stap 4"
|
||||
"data_description": {
|
||||
"volatility_threshold_moderate": "Grenswaarde voor standaardafwijking (% van gemiddelde) om prijsvariatie als 'matig' te classificeren. Voorbeeld: 10 betekent standaardafwijking ≥ 10% van gemiddelde. Dit wijst op verhoogde prijsinstabiliteit. Standaard: 10%",
|
||||
"volatility_threshold_high": "Grenswaarde voor standaardafwijking (% van gemiddelde) om prijsvariatie als 'hoog' te classificeren. Voorbeeld: 20 betekent standaardafwijking ≥ 20% van gemiddelde. Dit wijst op aanzienlijke prijsschommelingen. Standaard: 20%",
|
||||
"volatility_threshold_very_high": "Grenswaarde voor standaardafwijking (% van gemiddelde) om prijsvariatie als 'zeer hoog' te classificeren. Voorbeeld: 30 betekent standaardafwijking ≥ 30% van gemiddelde. Dit wijst op extreme prijsinstabiliteit. Standaard: 30%"
|
||||
},
|
||||
"submit": "Doorgaan →"
|
||||
},
|
||||
"chart_data_export": {
|
||||
"title": "Grafiek Data Export",
|
||||
|
|
@ -172,7 +194,7 @@
|
|||
"data_description": {
|
||||
"chart_data_config": "YAML-configuratie voor `get_chartdata` service. Ondersteunde parameters: day (lijst met yesterday/today/tomorrow), resolution (interval/hourly), output_format, include_level, include_rating_level, include_average, en nog veel meer. Zie servicedocumentatie voor volledige lijst. Laat leeg om standaardinstellingen te gebruiken (today, interval resolution, array of objects)."
|
||||
},
|
||||
"submit": "Configuratie voltooien"
|
||||
"submit": "Voltooiën ✓"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@
|
|||
}
|
||||
},
|
||||
"common": {
|
||||
"step_progress": "Steg {step_num} av {total_steps}"
|
||||
"step_progress": "{step_num} / {total_steps}"
|
||||
},
|
||||
"config_subentries": {
|
||||
"home": {
|
||||
|
|
@ -84,29 +84,36 @@
|
|||
"options": {
|
||||
"step": {
|
||||
"init": {
|
||||
"title": "Allmänna inställningar",
|
||||
"description": "{step_progress}\n\nKonfigurera allmänna inställningar för Tibber Prisinformation & Betyg.\n\nAnvändare: {user_login}",
|
||||
"title": "⚙️ Allmänna inställningar",
|
||||
"description": "_{step_progress}_\n\n**Konfigurera allmänna inställningar för Tibber-prisinformation och betyg.**\n\n---\n\n**Användare:** {user_login}",
|
||||
"data": {
|
||||
"extended_descriptions": "Visa utökade beskrivningar i entitetsattribut"
|
||||
"extended_descriptions": "Utökade beskrivningar"
|
||||
},
|
||||
"submit": "Nästa till steg 2"
|
||||
"data_description": {
|
||||
"extended_descriptions": "Styr om entitetsattribut inkluderar detaljerade förklaringar och användningstips.\n\n• Inaktiverad (standard): Bara kort beskrivning\n• Aktiverad: Detaljerad förklaring + praktiska användningsexempel\n\nExempel:\nInaktiverad = 1 attribut\nAktiverad = 2 extra attribut"
|
||||
},
|
||||
"submit": "Fortsätt →"
|
||||
},
|
||||
"current_interval_price_rating": {
|
||||
"title": "Prisvärderingströsklar",
|
||||
"description": "{step_progress}\n\nKonfigurera trösklar för prisvärderingsnivåer (låg/normal/hög) baserat på jämförelse med rullande 24-timmars genomsnitt.",
|
||||
"title": "📊 Prisvärderingströsklar",
|
||||
"description": "_{step_progress}_\n\n**Konfigurera trösklar för prisvärderingsnivåer (låg/normal/hög) baserat på jämförelse med rullande 24-timmars genomsnitt.**\n\n---",
|
||||
"data": {
|
||||
"price_rating_threshold_low": "Låg värderingströskel (% under rullande genomsnitt)",
|
||||
"price_rating_threshold_high": "Hög värderingströskel (% över rullande genomsnitt)"
|
||||
"price_rating_threshold_low": "Låg tröskel",
|
||||
"price_rating_threshold_high": "Hög tröskel"
|
||||
},
|
||||
"submit": "Nästa till steg 3"
|
||||
"data_description": {
|
||||
"price_rating_threshold_low": "Procent under det rullande 24-timmars genomsnittet som det aktuella priset måste vara för att kvalificera som 'låg' värdering. Exempel: 5 betyder minst 5% under genomsnitt. Sensorer med denna värdering indikerar gynnsamma tidsfönster. Standard: 5%",
|
||||
"price_rating_threshold_high": "Procent över det rullande 24-timmars genomsnittet som det aktuella priset måste vara för att kvalificera som 'hög' värdering. Exempel: 10 betyder minst 10% över genomsnitt. Sensorer med denna värdering varnar för dyra tidsfönster. Standard: 10%"
|
||||
},
|
||||
"submit": "Fortsätt →"
|
||||
},
|
||||
"best_price": {
|
||||
"title": "Inställningar för bästa prisperiod",
|
||||
"description": "{step_progress}\n\nKonfigurera inställningar för Bästa Prisperiod binärsensor. Denna sensor är aktiv under perioder med de lägsta elpriserna.",
|
||||
"title": "💚 Bästa Pris Period Inställningar",
|
||||
"description": "_{step_progress}_\n\nKonfigurera inställningar för **Bästa Pris Period** binär sensor. Denna sensor är aktiv under perioder med de lägsta elpriserna.\n\n---",
|
||||
"data": {
|
||||
"best_price_min_period_length": "Minsta periodlängd",
|
||||
"best_price_flex": "Flexibilitet: Maximalt % över minimumpris",
|
||||
"best_price_min_distance_from_avg": "Minimiavstånd: Krävd % under dagligt genomsnitt",
|
||||
"best_price_min_period_length": "Minimal periodlängd",
|
||||
"best_price_flex": "Flexibilitet: Maximalt över minimumpris",
|
||||
"best_price_min_distance_from_avg": "Minimiavstånd: Krävs under dagsgenomsnitt",
|
||||
"best_price_max_level": "Prisnivåfilter (Valfritt)",
|
||||
"best_price_max_level_gap_count": "Gaptolerens för nivåfilter",
|
||||
"enable_min_periods_best": "Försök uppnå minsta antal perioder",
|
||||
|
|
@ -114,21 +121,24 @@
|
|||
"relaxation_attempts_best": "Antal avslappningsförsök"
|
||||
},
|
||||
"data_description": {
|
||||
"best_price_min_period_length": "Minsta varaktighet för att en period ska räknas som 'bästa pris'. Längre perioder är mer praktiska för att köra apparater som diskmaskiner eller värmepumpar. Bästa pris-perioder kräver minst 60 minuter (jämfört med 30 minuter för topppris-varningar) eftersom de ska ge meningsfulla tidsfönster för förbruksplanering, inte bara korta tillfällen.",
|
||||
"best_price_flex": "Maximalt över dagens minimumpris där intervaller fortfarande kvalificerar som 'bästa pris'. Rekommendation: 15-20 med avslappning aktiverad (standard), eller 25-35 utan avslappning. Maximum: 50 (hård gräns för tillförlitlig periodigkänning).",
|
||||
"best_price_min_distance_from_avg": "Säkerställer att perioder är betydligt billigare än dagsgenomsnittet, inte bara marginellt under det. Detta filtrerar brus och förhindrar att något-under-genomsnittet perioder markeras som 'bästa pris' på dagar med platta priser. Högre värden = striktare filtrering (endast riktigt billiga perioder kvalificerar). Standard: 5 betyder att perioder måste vara minst 5% under dagsgenomsnittet.",
|
||||
"best_price_max_level": "Visa endast bästa prisperioder om de innehåller intervall med prisnivåer ≤ valt värde. Till exempel: att välja 'Billigt' betyder att perioden måste ha minst ett 'MYCKET_BILLIGT' eller 'BILLIGT' intervall. Detta säkerställer att 'bästa pris'-perioder inte bara är relativt billiga för dagen, utan faktiskt billiga i absoluta tal. Välj 'Alla' för att visa bästa priser oavsett deras absoluta prisnivå.",
|
||||
"enable_min_periods_best": "När aktiverad kommer filtren att gradvis luckras upp om inte tillräckligt många perioder hittas. Detta försöker uppnå det önskade minsta antalet perioder för att säkerställa att du har möjligheter att dra nytta av låga priser även på dagar med ovanliga prismönster.",
|
||||
"min_periods_best": "Minsta antal bästa prisperioder att sträva efter per dag. Filtren kommer att luckras upp steg för steg för att försöka uppnå detta antal. Endast aktiv när 'Försök uppnå minsta antal perioder' är aktiverad. Standard: 1",
|
||||
"relaxation_attempts_best": "Hur många gånger avslappningslogiken får försöka hitta nya kombinationer av flex och filter. Öka detta om dagarna är extrema och du behöver fler försök för att nå minimikravet. Varje extra försök tar lite mer tid men ökar chansen att hitta perioder.",
|
||||
"best_price_max_level_gap_count": "Maximalt antal på varandra följande intervaller som får avvika med exakt ett nivåsteg från det erforderliga nivået. Till exempel: med 'Billigt' filter och gapantal 1 accepteras sekvensen 'BILLIGT, BILLIGT, NORMALT, BILLIGT' (NORMALT är ett steg över BILLIGT). Detta förhindrar att perioder delas upp av tillfälliga nivåavvikelser. Standard: 0 (strikt filtrering, ingen tolerans)."
|
||||
},
|
||||
"submit": "Nästa till steg 5"
|
||||
"submit": "Fortsätt →"
|
||||
},
|
||||
"peak_price": {
|
||||
"title": "Inställningar för topprisperiod",
|
||||
"description": "{step_progress}\n\nKonfigurera inställningar för Topprisperiod binärsensor. Denna sensor är aktiv under perioder med de högsta elpriserna.",
|
||||
"title": "🔴 Topppris Period Inställningar",
|
||||
"description": "_{step_progress}_\n\nKonfigurera inställningar för **Topppris Period** binär sensor. Denna sensor är aktiv under perioder med de högsta elpriserna.\n\n---",
|
||||
"data": {
|
||||
"peak_price_min_period_length": "Minsta periodlängd",
|
||||
"peak_price_flex": "Flexibilitet: Maximalt % under maximumpris (negativt värde)",
|
||||
"peak_price_min_distance_from_avg": "Minimiavstånd: Krävd % över dagligt genomsnitt",
|
||||
"peak_price_min_period_length": "Minimal periodlängd",
|
||||
"peak_price_flex": "Flexibilitet: Maximalt under maximumpris",
|
||||
"peak_price_min_distance_from_avg": "Minimiavstånd: Krävs över dagsgenomsnitt",
|
||||
"peak_price_min_level": "Prisnivåfilter (Valfritt)",
|
||||
"peak_price_max_level_gap_count": "Gaptolerens för nivåfilter",
|
||||
"enable_min_periods_peak": "Försök uppnå minsta antal perioder",
|
||||
|
|
@ -136,32 +146,44 @@
|
|||
"relaxation_attempts_peak": "Antal avslappningsförsök"
|
||||
},
|
||||
"data_description": {
|
||||
"peak_price_min_period_length": "Minsta varaktighet för att en period ska räknas som 'toppris'. Topppris-varningar är tillåtna för kortare perioder (minst 30 minuter jämfört med 60 minuter för bästa pris) eftersom korta dyra toppar är värda att varna om, även om de är för korta för förbruksplanering.",
|
||||
"peak_price_flex": "Maximalt under dagens maximumpris där intervaller fortfarande kvalificerar som 'toppris'. Rekommendation: -15 till -20 med avslappning aktiverad (standard), eller -25 till -35 utan avslappning. Maximum: -50 (hård gräns för tillförlitlig periodigkänning). Observera: Negativa värden anger avstånd under maximum.",
|
||||
"peak_price_min_distance_from_avg": "Säkerställer att perioder är betydligt dyrare än dagsgenomsnittet, inte bara marginellt över det. Detta filtrerar brus och förhindrar att något-över-genomsnittet perioder markeras som 'toppris' på dagar med platta priser. Högre värden = striktare filtrering (endast riktigt dyra perioder kvalificerar). Standard: 5 betyder att perioder måste vara minst 5% över dagsgenomsnittet.",
|
||||
"peak_price_min_level": "Visa endast topprisperioder om de innehåller intervall med prisnivåer ≥ valt värde. Till exempel måste perioden om du väljer 'Dyr' ha minst ett 'DYR' eller 'MYCKET_DYR' intervall. Detta säkerställer att 'toppris'-perioder inte bara är relativt dyra för dagen, utan faktiskt dyra i absoluta termer (inte bara 'lite dyrare än genomsnittet på en billig dag').",
|
||||
"enable_min_periods_peak": "När aktiverad kommer filtren att gradvis luckras upp om inte tillräckligt många perioder hittas. Detta försöker uppnå det önskade minsta antalet perioder för att säkerställa att du blir varnad för dyra perioder även på dagar med ovanliga prismönster.",
|
||||
"min_periods_peak": "Minsta antal topprisperioder att sträva efter per dag. Filtren kommer att luckras upp steg för steg för att försöka uppnå detta antal. Endast aktiv när 'Försök uppnå minsta antal perioder' är aktiverad. Standard: 1",
|
||||
"relaxation_attempts_peak": "Hur många gånger avslappningslogiken får försöka hitta nya kombinationer av flex och filter. Öka detta när topperioderna är svåra att hitta på grund av platta eller mycket volatila dagar. Fler försök ger större chans att hitta perioder men kräver lite mer beräkningstid.",
|
||||
"peak_price_max_level_gap_count": "Maximalt antal på varandra följande intervaller som får avvika med exakt ett nivåsteg från det erforderliga nivået. Till exempel: med 'Dyrt' filter och gapantal 2 accepteras sekvensen 'DYRT, NORMALT, NORMALT, DYRT' (NORMALT är ett steg under DYRT). Detta förhindrar att perioder delas upp av tillfälliga nivåavvikelser. Standard: 0 (strikt filtrering, ingen tolerans)."
|
||||
"peak_price_max_level_gap_count": "Maximalt antal på varandra följande intervaller som får avvika med exakt ett nivåsteg från det erforderliga nivået. Till exempel: med 'Dyrt' filter och gapantal 1 accepteras sekvensen 'DYRT, DYRT, NORMALT, DYRT' (NORMALT är ett steg under DYRT). Detta förhindrar att perioder delas upp av tillfälliga nivåavvikelser. Standard: 0 (strikt filtrering, ingen tolerans)."
|
||||
},
|
||||
"submit": "Nästa till steg 6"
|
||||
"submit": "Fortsätt →"
|
||||
},
|
||||
"price_trend": {
|
||||
"title": "Pristrendtrösklar",
|
||||
"description": "{step_progress}\n\nKonfigurera trösklar för pristrendsensorer. Dessa sensorer jämför det aktuella priset med genomsnittet av de nästa N timmarna för att avgöra om priserna stiger, faller eller är stabila.",
|
||||
"title": "📈 Pristrendtrösklar",
|
||||
"description": "_{step_progress}_\n\n**Konfigurera trösklar för pristrendsensorer. Dessa sensorer jämför det aktuella priset med genomsnittet av de nästa N timmarna för att avgöra om priserna stiger, faller eller är stabila.**\n\n---",
|
||||
"data": {
|
||||
"price_trend_threshold_rising": "Stigande tröskel (% över aktuellt pris)",
|
||||
"price_trend_threshold_falling": "Fallande tröskel (% under aktuellt pris, negativt värde)"
|
||||
"price_trend_threshold_rising": "Stigande tröskel",
|
||||
"price_trend_threshold_falling": "Fallande tröskel"
|
||||
},
|
||||
"submit": "Nästa till steg 7"
|
||||
"data_description": {
|
||||
"price_trend_threshold_rising": "Procent för genomsnittlig prisökning per timme som kvalificerar trenden som 'stigande'. Exempel: 5 betyder minst 5% ökning per timme. Sensorer med denna trend indikerar att priserna kommer att stiga snabbt. Standard: 5%",
|
||||
"price_trend_threshold_falling": "Procent för genomsnittlig prisminskning per timme som kvalificerar trenden som 'fallande'. Exempel: -5 betyder minst 5% minskning per timme. Sensorer med denna trend indikerar att priserna kommer att falla snabbt. Standard: -5%"
|
||||
},
|
||||
"submit": "Fortsätt →"
|
||||
},
|
||||
"volatility": {
|
||||
"title": "Volatilitet Trösklar",
|
||||
"description": "{step_progress}\n\nKonfigurera trösklar för volatilitetsklassificering. Volatilitet mäter relativ prisvariation med hjälp av variationskoefficienten (VK = standardavvikelse / medelvärde × 100%). Dessa trösklar är procentvärden som fungerar över alla prisnivåer.\n\nAnvänds av:\n• Volatilitetssensorer (klassificering)\n• Trendsensorer (adaptiv tröskel justering: <måttlig = mer känslig, ≥hög = mindre känslig)",
|
||||
"title": "💨 Volatilitetströsklar",
|
||||
"description": "_{step_progress}_\n\n**Konfigurera trösklar för volatilitetsklassificering. Volatilitet mäter relativ prisvariation med hjälp av variationskoefficienten (VK = standardavvikelse / medelvärde × 100%). Dessa trösklar är procentvärden som fungerar över alla prisnivåer.**\n\nAnvänds av:\n• Volatilitetssensorer (klassificering)\n• Trendsensorer (adaptiv tröskel justering: <måttlig = mer känslig, ≥hög = mindre känslig)\n\n---",
|
||||
"data": {
|
||||
"volatility_threshold_moderate": "Måttlig tröskel (VK ≥ denna %, t.ex. 15)",
|
||||
"volatility_threshold_high": "Hög tröskel (VK ≥ denna %, t.ex. 30)",
|
||||
"volatility_threshold_very_high": "Mycket hög tröskel (VK ≥ detta %, t.ex. 50)"
|
||||
"volatility_threshold_moderate": "Måttlig tröskel",
|
||||
"volatility_threshold_high": "Hög tröskel",
|
||||
"volatility_threshold_very_high": "Mycket hög tröskel"
|
||||
},
|
||||
"submit": "Nästa till steg 4"
|
||||
"data_description": {
|
||||
"volatility_threshold_moderate": "Gränsvärde för standardavvikelse (% av genomsnitt) för att klassificera prisvariation som 'måttlig'. Exempel: 10 betyder standardavvikelse ≥ 10% av genomsnitt. Detta indikerar ökad prisinstabilitet. Standard: 10%",
|
||||
"volatility_threshold_high": "Gränsvärde för standardavvikelse (% av genomsnitt) för att klassificera prisvariation som 'hög'. Exempel: 20 betyder standardavvikelse ≥ 20% av genomsnitt. Detta indikerar betydande prissvingningar. Standard: 20%",
|
||||
"volatility_threshold_very_high": "Gränsvärde för standardavvikelse (% av genomsnitt) för att klassificera prisvariation som 'mycket hög'. Exempel: 30 betyder standardavvikelse ≥ 30% av genomsnitt. Detta indikerar extrem prisinstabilitet. Standard: 30%"
|
||||
},
|
||||
"submit": "Fortsätt →"
|
||||
},
|
||||
"chart_data_export": {
|
||||
"title": "Diagramdataexport",
|
||||
|
|
@ -172,7 +194,7 @@
|
|||
"data_description": {
|
||||
"chart_data_config": "YAML-konfiguration för `get_chartdata` tjänst. Stödda parametrar: day (lista med yesterday/today/tomorrow), resolution (interval/hourly), output_format, include_level, include_rating_level, include_average, och många fler. Se tjänstdokumentation för fullständig lista. Lämna tomt för att använda standardinställningar (today, interval resolution, array of objects)."
|
||||
},
|
||||
"submit": "Slutför konfiguration"
|
||||
"submit": "Slutför →"
|
||||
}
|
||||
},
|
||||
"error": {
|
||||
|
|
|
|||
Loading…
Reference in a new issue