mirror of
https://github.com/jpawlowski/hass.tibber_prices.git
synced 2026-03-29 21:03:40 +00:00
Implemented multi-phase filter relaxation system to ensure minimum number
of best-price and peak-price periods are found, even on days with unusual
price patterns.
New configuration options per period type (best/peak):
- enable_min_periods_{best|peak}: Toggle feature on/off
- min_periods_{best|peak}: Target number of periods (default: 2)
- relaxation_step_{best|peak}: Step size for threshold increase (default: 25%)
Relaxation phases (applied sequentially until target reached):
1. Flex threshold increase (up to 4 steps, e.g., 15% → 18.75% → 22.5% → ...)
2. Volatility filter bypass + continued flex increase
3. All filters off + continued flex increase
Changes to period calculation:
- New calculate_periods_with_relaxation() wrapper function
- filter_periods_by_volatility() now applies post-calculation filtering
- _resolve_period_overlaps() merges baseline + relaxed periods intelligently
- Relaxed periods marked with relaxation_level, relaxation_threshold_* attributes
- Overlap detection prevents double-counting same intervals
Binary sensor attribute ordering improvements:
- Added helper methods for consistent attribute priority
- Relaxation info grouped in priority 6 (after detail attributes)
- Only shown when period was actually relaxed (relaxation_active=true)
Translation updates:
- Added UI labels + descriptions for 6 new config options (all 5 languages)
- Explained relaxation concept with examples in data_description fields
- Clarified volatility filter now applies per-period, not per-day
Impact: Users can configure integration to guarantee minimum number of
periods per day. System automatically relaxes filters when needed while
preserving baseline periods found with strict filters. Particularly useful
for automation reliability on days with flat pricing or unusual patterns.
Fixes edge case where no periods were found despite prices varying enough
for meaningful optimization decisions.
518 lines
25 KiB
JSON
518 lines
25 KiB
JSON
{
|
|
"config": {
|
|
"step": {
|
|
"user": {
|
|
"description": "Richte Tibber Preisinformationen & Bewertungen ein.\n\nUm einen API-Zugriffstoken zu generieren, besuche https://developer.tibber.com.",
|
|
"data": {
|
|
"access_token": "API-Zugriffstoken"
|
|
},
|
|
"submit": "Token validieren"
|
|
},
|
|
"select_home": {
|
|
"description": "Wähle ein Zuhause, um Preisinformationen und Bewertungen abzurufen.",
|
|
"data": {
|
|
"home_id": "Zuhause"
|
|
},
|
|
"title": "Wähle ein Zuhause",
|
|
"submit": "Zuhause auswählen"
|
|
},
|
|
"finish": {
|
|
"description": "Wähle ein Zuhause, um Preisinformationen und Bewertungen abzurufen.",
|
|
"data": {
|
|
"home_id": "Home ID"
|
|
},
|
|
"title": "Wähle ein Zuhause",
|
|
"submit": "Zuhause auswählen"
|
|
},
|
|
"reauth_confirm": {
|
|
"title": "Tibber Preis-Integration erneut authentifizieren",
|
|
"description": "Der Zugriffstoken für Tibber ist nicht mehr gültig. Bitte gib einen neuen API-Zugriffstoken ein, um diese Integration weiter zu nutzen.\n\nUm einen neuen API-Zugriffstoken zu generieren, besuche https://developer.tibber.com.",
|
|
"data": {
|
|
"access_token": "API-Zugriffstoken"
|
|
},
|
|
"submit": "Token aktualisieren"
|
|
}
|
|
},
|
|
"error": {
|
|
"auth": "Der Tibber Zugangstoken ist ungültig.",
|
|
"connection": "Verbindung zu Tibber nicht möglich. Bitte überprüfe deine Internetverbindung.",
|
|
"unknown": "Ein unerwarteter Fehler ist aufgetreten. Bitte überprüfe die Logs für Details.",
|
|
"cannot_connect": "Verbindung fehlgeschlagen",
|
|
"invalid_access_token": "Ungültiges Zugriffstoken",
|
|
"missing_homes": "Der neue Zugriffstoken hat keinen Zugriff auf alle konfigurierten Zuhause. Bitte verwende einen Zugriffstoken, der Zugriff auf die gleichen Tibber-Zuhause hat."
|
|
},
|
|
"abort": {
|
|
"already_configured": "Integration ist bereits konfiguriert",
|
|
"entry_not_found": "Tibber Konfigurationseintrag nicht gefunden.",
|
|
"setup_complete": "Einrichtung abgeschlossen! Du kannst zusätzliche Optionen für Tibber Preise in den Integrationsoptionen ändern, nachdem du diesen Dialog geschlossen hast.",
|
|
"reauth_successful": "Erneute Authentifizierung erfolgreich. Die Integration wurde mit dem neuen Zugriffstoken aktualisiert."
|
|
}
|
|
},
|
|
"common": {
|
|
"step_progress": "Schritt {step_num} von {total_steps}"
|
|
},
|
|
"config_subentries": {
|
|
"home": {
|
|
"initiate_flow": {
|
|
"user": "Tibber Zuhause hinzufügen"
|
|
},
|
|
"title": "Tibber Zuhause hinzufügen",
|
|
"step": {
|
|
"user": {
|
|
"title": "Tibber Zuhause hinzufügen",
|
|
"description": "Wähle ein Zuhause aus, das du zu deiner Tibber-Integration hinzufügen möchtest.",
|
|
"data": {
|
|
"home_id": "Zuhause"
|
|
}
|
|
}
|
|
},
|
|
"error": {
|
|
"api_error": "Fehler beim Abrufen der Zuhause von der Tibber API"
|
|
},
|
|
"abort": {
|
|
"no_parent_entry": "Übergeordneter Eintrag nicht gefunden",
|
|
"no_access_token": "Kein Zugriffstoken verfügbar",
|
|
"home_not_found": "Ausgewähltes Zuhause nicht gefunden",
|
|
"api_error": "Fehler beim Abrufen der Zuhause von der Tibber API",
|
|
"no_available_homes": "Keine zusätzlichen Zuhause verfügbar. Alle Zuhause von deinem Tibber-Konto wurden bereits hinzugefügt."
|
|
}
|
|
}
|
|
},
|
|
"options": {
|
|
"step": {
|
|
"init": {
|
|
"title": "Allgemeine Einstellungen",
|
|
"description": "{step_progress}\n\nKonfiguration allgemeiner Einstellungen für Tibber Preisinformationen & Bewertungen.\n\nBenutzer: {user_login}",
|
|
"data": {
|
|
"extended_descriptions": "Erweiterte Beschreibungen in Entity-Attributen anzeigen"
|
|
},
|
|
"submit": "Weiter zu Schritt 2"
|
|
},
|
|
"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-Periode Einstellungen",
|
|
"description": "{step_progress}\n\nKonfiguration für den Bestpreis-Periode Binärsensor. Dieser Sensor ist während der Zeiträume mit den niedrigsten Strompreisen aktiv.",
|
|
"data": {
|
|
"best_price_min_period_length": "Minimale Periodenlänge",
|
|
"best_price_flex": "Flexibilität: Maximal über dem Mindestpreis",
|
|
"best_price_min_distance_from_avg": "Mindestabstand: Erforderlich unter dem Tagesdurchschnitt",
|
|
"best_price_min_volatility": "Mindest-Volatilitätsfilter",
|
|
"best_price_max_level": "Preisniveau-Filter (Optional)",
|
|
"enable_min_periods_best": "Mindestanzahl Perioden anstreben",
|
|
"min_periods_best": "Mindestanzahl Perioden",
|
|
"relaxation_step_best": "Lockerungsschritt"
|
|
},
|
|
"data_description": {
|
|
"best_price_min_volatility": "Zeigt Bestpreis-Perioden nur an, wenn die interne Preisvolatilität der Periode (Preisspanne innerhalb der Periode) mindestens diesem Level entspricht. Standard: 'Niedrig' (zeigt Perioden mit beliebigem Volatilitätslevel) - ermöglicht das Finden günstiger Perioden auch wenn die Preise stabil sind. Wähle 'Moderat'/'Hoch' um nur Perioden mit signifikanten Preisschwankungen anzuzeigen, was auf dynamischere Preismöglichkeiten hinweisen kann.",
|
|
"best_price_max_level": "Zeigt Bestpreis-Perioden nur an, wenn sie Intervalle mit Preisniveaus ≤ dem gewählten Wert enthalten. Beispiel: Wahl von 'Günstig' bedeutet, dass die Periode mindestens ein 'SEHR_GÜNSTIG' oder 'GÜNSTIG' Intervall haben muss. Dies stellt sicher, dass 'Bestpreis'-Perioden 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.",
|
|
"enable_min_periods_best": "Wenn aktiviert, werden Filter schrittweise gelockert, falls nicht genug Perioden gefunden wurden. Dies versucht die gewünschte Mindestanzahl zu erreichen, was dazu führen kann, dass auch weniger optimale Zeiträume als Bestpreis-Perioden markiert werden.",
|
|
"min_periods_best": "Mindestanzahl an Bestpreis-Perioden, die pro Tag angestrebt werden. Filter werden schrittweise gelockert, um diese Anzahl zu erreichen. Nur aktiv, wenn 'Mindestanzahl Perioden anstreben' aktiviert ist. Standard: 1",
|
|
"relaxation_step_best": "Prozentsatz des ursprünglichen Flexibilitätsschwellwerts, der pro Lockerungsschritt addiert wird. Beispiel: Bei 15% Flexibilität und 25% Schrittgröße werden 15%, 18,75%, 22,5% usw. versucht. Höhere Werte bedeuten schnellere Lockerung, aber geringere Präzision."
|
|
},
|
|
"submit": "Weiter zu Schritt 5"
|
|
},
|
|
"peak_price": {
|
|
"title": "Spitzenpreis-Periode Einstellungen",
|
|
"description": "{step_progress}\n\nKonfiguration für den Spitzenpreis-Periode Binärsensor. Dieser Sensor ist während der Zeiträume mit den höchsten Strompreisen aktiv.",
|
|
"data": {
|
|
"peak_price_min_period_length": "Minimale Periodenlä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_volatility": "Mindest-Volatilitätsfilter",
|
|
"peak_price_min_level": "Preisniveau-Filter (Optional)",
|
|
"enable_min_periods_peak": "Mindestanzahl Perioden anstreben",
|
|
"min_periods_peak": "Mindestanzahl Perioden",
|
|
"relaxation_step_peak": "Lockerungsschritt"
|
|
},
|
|
"data_description": {
|
|
"peak_price_min_volatility": "Zeigt Spitzenpreis-Perioden nur an, wenn die interne Preisvolatilität der Periode (Preisspanne innerhalb der Periode) mindestens diesem Level entspricht. Standard: 'Niedrig' (zeigt Perioden mit beliebigem Volatilitätslevel) - ermöglicht das Identifizieren teurer Perioden auch wenn die Preise stabil sind. Wähle 'Moderat'/'Hoch' um nur Perioden mit signifikanten Preisschwankungen anzuzeigen, was auf dringenderen Bedarf hinweisen kann, diese Zeiten zu vermeiden.",
|
|
"peak_price_min_level": "Zeigt Spitzenpreis-Perioden nur an, wenn sie Intervalle mit Preisniveaus ≥ dem gewählten Wert enthalten. Beispiel: Wahl von 'Teuer' bedeutet, dass die Periode mindestens ein 'TEUER' oder 'SEHR_TEUER' Intervall haben muss. Dies stellt sicher, dass 'Spitzenpreis'-Perioden 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.",
|
|
"enable_min_periods_peak": "Wenn aktiviert, werden Filter schrittweise gelockert, falls nicht genug Perioden gefunden wurden. Dies versucht die gewünschte Mindestanzahl zu erreichen, um sicherzustellen, dass du auch an Tagen mit ungewöhnlichen Preismustern vor teuren Perioden gewarnt wirst.",
|
|
"min_periods_peak": "Mindestanzahl an Spitzenpreis-Perioden, die pro Tag angestrebt werden. Filter werden schrittweise gelockert, um diese Anzahl zu erreichen. Nur aktiv, wenn 'Mindestanzahl Perioden anstreben' aktiviert ist. Standard: 1",
|
|
"relaxation_step_peak": "Prozentsatz des ursprünglichen Flexibilitätsschwellwerts, der pro Lockerungsschritt addiert wird. Beispiel: Bei -15% Flexibilität und 25% Schrittgröße werden -15%, -18,75%, -22,5% usw. versucht. Höhere Werte bedeuten schnellere Lockerung, aber geringere Präzision."
|
|
},
|
|
"submit": "Weiter zu Schritt 6"
|
|
},
|
|
"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.",
|
|
"data": {
|
|
"price_trend_threshold_rising": "Steigender Schwellenwert (über dem aktuellen Preis)",
|
|
"price_trend_threshold_falling": "Fallender Schwellenwert (unter dem aktuellen Preis, negativer Wert)"
|
|
},
|
|
"submit": "Konfiguration abschließen"
|
|
},
|
|
"volatility": {
|
|
"title": "Preisvolatilität Schwellenwerte",
|
|
"description": "{step_progress}\n\nKonfiguriere Schwellenwerte für die Volatilitätsklassifizierung. Volatilität misst Preisschwankungen (Spanne zwischen Min/Max) in kleinster Währungseinheit. Diese Schwellenwerte werden von Volatilitätssensoren und Periodenfiltern verwendet.",
|
|
"data": {
|
|
"volatility_threshold_moderate": "Moderate Schwelle (Spanne ≥ dieser Wert)",
|
|
"volatility_threshold_high": "Hohe Schwelle (Spanne ≥ dieser Wert)",
|
|
"volatility_threshold_very_high": "Sehr hohe Schwelle (Spanne ≥ dieser Wert)"
|
|
},
|
|
"submit": "Weiter zu Schritt 4"
|
|
}
|
|
},
|
|
"error": {
|
|
"auth": "Der Tibber Zugangstoken ist ungültig.",
|
|
"connection": "Verbindung zu Tibber nicht möglich. Bitte überprüfe deine Internetverbindung.",
|
|
"unknown": "Ein unerwarteter Fehler ist aufgetreten. Bitte überprüfe die Logs für Details.",
|
|
"cannot_connect": "Verbindung fehlgeschlagen",
|
|
"invalid_access_token": "Ungültiges Zugriffstoken",
|
|
"different_home": "Der Zugriffstoken ist nicht gültig für die Home ID, für die diese Integration konfiguriert ist."
|
|
},
|
|
"abort": {
|
|
"entry_not_found": "Tibber Konfigurationseintrag nicht gefunden."
|
|
},
|
|
"best_price_flex": "Bestpreis Flexibilität (%)",
|
|
"peak_price_flex": "Spitzenpreis Flexibilität (%)",
|
|
"price_rating_threshold_low": "Niedriger Preis Schwellenwert (% zum gleitenden Durchschnitt)",
|
|
"price_rating_threshold_high": "Hoher Preis Schwellenwert (% zum gleitenden Durchschnitt)"
|
|
},
|
|
"entity": {
|
|
"sensor": {
|
|
"current_price": {
|
|
"name": "Aktueller Strompreis"
|
|
},
|
|
"next_interval_price": {
|
|
"name": "Nächster Preis"
|
|
},
|
|
"previous_interval_price": {
|
|
"name": "Vorheriger Preis"
|
|
},
|
|
"current_hour_average": {
|
|
"name": "Aktueller Stunden-Durchschnittspreis"
|
|
},
|
|
"next_hour_average": {
|
|
"name": "Nächster Stunden-Durchschnittspreis"
|
|
},
|
|
"price_level": {
|
|
"name": "Aktuelles Preisniveau",
|
|
"state": {
|
|
"very_cheap": "Sehr günstig",
|
|
"cheap": "Günstig",
|
|
"normal": "Normal",
|
|
"expensive": "Teuer",
|
|
"very_expensive": "Sehr teuer"
|
|
}
|
|
},
|
|
"next_interval_price_level": {
|
|
"name": "Nächstes Preisniveau",
|
|
"state": {
|
|
"very_cheap": "Sehr günstig",
|
|
"cheap": "Günstig",
|
|
"normal": "Normal",
|
|
"expensive": "Teuer",
|
|
"very_expensive": "Sehr teuer"
|
|
}
|
|
},
|
|
"previous_interval_price_level": {
|
|
"name": "Vorheriges Preisniveau",
|
|
"state": {
|
|
"very_cheap": "Sehr günstig",
|
|
"cheap": "Günstig",
|
|
"normal": "Normal",
|
|
"expensive": "Teuer",
|
|
"very_expensive": "Sehr teuer"
|
|
}
|
|
},
|
|
"current_hour_price_level": {
|
|
"name": "Aktuelles Stunden-Preisniveau",
|
|
"state": {
|
|
"very_cheap": "Sehr günstig",
|
|
"cheap": "Günstig",
|
|
"normal": "Normal",
|
|
"expensive": "Teuer",
|
|
"very_expensive": "Sehr teuer"
|
|
}
|
|
},
|
|
"next_hour_price_level": {
|
|
"name": "Nächstes Stunden-Preisniveau",
|
|
"state": {
|
|
"very_cheap": "Sehr günstig",
|
|
"cheap": "Günstig",
|
|
"normal": "Normal",
|
|
"expensive": "Teuer",
|
|
"very_expensive": "Sehr teuer"
|
|
}
|
|
},
|
|
"lowest_price_today": {
|
|
"name": "Mindestpreis heute"
|
|
},
|
|
"highest_price_today": {
|
|
"name": "Höchstpreis heute"
|
|
},
|
|
"average_price_today": {
|
|
"name": "Durchschnittspreis heute"
|
|
},
|
|
"lowest_price_tomorrow": {
|
|
"name": "Mindestpreis morgen"
|
|
},
|
|
"highest_price_tomorrow": {
|
|
"name": "Höchstpreis morgen"
|
|
},
|
|
"average_price_tomorrow": {
|
|
"name": "Durchschnittspreis morgen"
|
|
},
|
|
"trailing_price_average": {
|
|
"name": "Nachlaufender 24h-Durchschnittspreis"
|
|
},
|
|
"leading_price_average": {
|
|
"name": "Vorlaufender 24h-Durchschnittspreis"
|
|
},
|
|
"trailing_price_min": {
|
|
"name": "Nachlaufender 24h-Mindestpreis"
|
|
},
|
|
"trailing_price_max": {
|
|
"name": "Nachlaufender 24h-Höchstpreis"
|
|
},
|
|
"leading_price_min": {
|
|
"name": "Vorlaufender 24h-Mindestpreis"
|
|
},
|
|
"leading_price_max": {
|
|
"name": "Vorlaufender 24h-Höchstpreis"
|
|
},
|
|
"price_rating": {
|
|
"name": "Aktuelle Preisbewertung",
|
|
"state": {
|
|
"low": "Niedrig",
|
|
"normal": "Normal",
|
|
"high": "Hoch"
|
|
}
|
|
},
|
|
"next_interval_price_rating": {
|
|
"name": "Nächste Preisbewertung",
|
|
"state": {
|
|
"low": "Niedrig",
|
|
"normal": "Normal",
|
|
"high": "Hoch"
|
|
}
|
|
},
|
|
"previous_interval_price_rating": {
|
|
"name": "Vorherige Preisbewertung",
|
|
"state": {
|
|
"low": "Niedrig",
|
|
"normal": "Normal",
|
|
"high": "Hoch"
|
|
}
|
|
},
|
|
"current_hour_price_rating": {
|
|
"name": "Aktuelle Stunden-Preisbewertung",
|
|
"state": {
|
|
"low": "Niedrig",
|
|
"normal": "Normal",
|
|
"high": "Hoch"
|
|
}
|
|
},
|
|
"next_hour_price_rating": {
|
|
"name": "Nächste Stunden-Preisbewertung",
|
|
"state": {
|
|
"low": "Niedrig",
|
|
"normal": "Normal",
|
|
"high": "Hoch"
|
|
}
|
|
},
|
|
"next_avg_1h": {
|
|
"name": "Durchschnittspreis nächste 1h"
|
|
},
|
|
"next_avg_2h": {
|
|
"name": "Durchschnittspreis nächste 2h"
|
|
},
|
|
"next_avg_3h": {
|
|
"name": "Durchschnittspreis nächste 3h"
|
|
},
|
|
"next_avg_4h": {
|
|
"name": "Durchschnittspreis nächste 4h"
|
|
},
|
|
"next_avg_5h": {
|
|
"name": "Durchschnittspreis nächste 5h"
|
|
},
|
|
"next_avg_6h": {
|
|
"name": "Durchschnittspreis nächste 6h"
|
|
},
|
|
"next_avg_8h": {
|
|
"name": "Durchschnittspreis nächste 8h"
|
|
},
|
|
"next_avg_12h": {
|
|
"name": "Durchschnittspreis nächste 12h"
|
|
},
|
|
"price_trend_1h": {
|
|
"name": "Preistrend (1h)",
|
|
"state": {
|
|
"rising": "Steigend",
|
|
"falling": "Fallend",
|
|
"stable": "Stabil"
|
|
}
|
|
},
|
|
"price_trend_2h": {
|
|
"name": "Preistrend (2h)",
|
|
"state": {
|
|
"rising": "Steigend",
|
|
"falling": "Fallend",
|
|
"stable": "Stabil"
|
|
}
|
|
},
|
|
"price_trend_3h": {
|
|
"name": "Preistrend (3h)",
|
|
"state": {
|
|
"rising": "Steigend",
|
|
"falling": "Fallend",
|
|
"stable": "Stabil"
|
|
}
|
|
},
|
|
"price_trend_4h": {
|
|
"name": "Preistrend (4h)",
|
|
"state": {
|
|
"rising": "Steigend",
|
|
"falling": "Fallend",
|
|
"stable": "Stabil"
|
|
}
|
|
},
|
|
"price_trend_5h": {
|
|
"name": "Preistrend (5h)",
|
|
"state": {
|
|
"rising": "Steigend",
|
|
"falling": "Fallend",
|
|
"stable": "Stabil"
|
|
}
|
|
},
|
|
"price_trend_6h": {
|
|
"name": "Preistrend (6h)",
|
|
"state": {
|
|
"rising": "Steigend",
|
|
"falling": "Fallend",
|
|
"stable": "Stabil"
|
|
}
|
|
},
|
|
"price_trend_8h": {
|
|
"name": "Preistrend (8h)",
|
|
"state": {
|
|
"rising": "Steigend",
|
|
"falling": "Fallend",
|
|
"stable": "Stabil"
|
|
}
|
|
},
|
|
"price_trend_12h": {
|
|
"name": "Preistrend (12h)",
|
|
"state": {
|
|
"rising": "Steigend",
|
|
"falling": "Fallend",
|
|
"stable": "Stabil"
|
|
}
|
|
},
|
|
"daily_rating": {
|
|
"name": "Tägliche Preisbewertung"
|
|
},
|
|
"monthly_rating": {
|
|
"name": "Monatliche Preisbewertung"
|
|
},
|
|
"data_timestamp": {
|
|
"name": "Preisdaten-Ablauf"
|
|
},
|
|
"today_volatility": {
|
|
"name": "Preisvolatilität heute",
|
|
"state": {
|
|
"low": "Niedrig",
|
|
"moderate": "Moderat",
|
|
"high": "Hoch",
|
|
"very_high": "Sehr hoch"
|
|
}
|
|
},
|
|
"tomorrow_volatility": {
|
|
"name": "Preisvolatilität morgen",
|
|
"state": {
|
|
"low": "Niedrig",
|
|
"moderate": "Moderat",
|
|
"high": "Hoch",
|
|
"very_high": "Sehr hoch"
|
|
}
|
|
},
|
|
"next_24h_volatility": {
|
|
"name": "Preisvolatilität der nächsten 24h",
|
|
"state": {
|
|
"low": "Niedrig",
|
|
"moderate": "Moderat",
|
|
"high": "Hoch",
|
|
"very_high": "Sehr hoch"
|
|
}
|
|
},
|
|
"today_tomorrow_volatility": {
|
|
"name": "Preisvolatilität heute+morgen",
|
|
"state": {
|
|
"low": "Niedrig",
|
|
"moderate": "Moderat",
|
|
"high": "Hoch",
|
|
"very_high": "Sehr hoch"
|
|
}
|
|
},
|
|
"price_forecast": {
|
|
"name": "Preisprognose"
|
|
}
|
|
},
|
|
"binary_sensor": {
|
|
"peak_price_period": {
|
|
"name": "Spitzenpreis-Periode"
|
|
},
|
|
"best_price_period": {
|
|
"name": "Bestpreis-Periode"
|
|
},
|
|
"connection": {
|
|
"name": "Tibber API-Verbindung"
|
|
},
|
|
"tomorrow_data_available": {
|
|
"name": "Daten für morgen verfügbar"
|
|
}
|
|
}
|
|
},
|
|
"issues": {
|
|
"new_homes_available": {
|
|
"title": "Neue Tibber-Häuser erkannt",
|
|
"description": "Wir haben {count} neue(s) Zuhause in deinem Tibber-Konto erkannt: {homes}. Du kannst diese über die Tibber-Integration in Home Assistant hinzufügen."
|
|
},
|
|
"homes_removed": {
|
|
"title": "Tibber-Häuser entfernt",
|
|
"description": "Wir haben erkannt, dass {count} Zuhause aus deinem Tibber-Konto entfernt wurde(n): {homes}. Bitte überprüfe deine Tibber-Integrationskonfiguration."
|
|
}
|
|
},
|
|
"services": {
|
|
"refresh_user_data": {
|
|
"name": "Benutzerdaten aktualisieren",
|
|
"description": "Erzwingt eine Aktualisierung der Benutzerdaten (Häuser, Profilinformationen) aus der Tibber API. Dies kann nützlich sein, nachdem Änderungen an deinem Tibber-Konto vorgenommen wurden oder bei der Fehlerbehebung von Verbindungsproblemen.",
|
|
"fields": {
|
|
"entry_id": {
|
|
"name": "Eintrag-ID",
|
|
"description": "Die Konfigurationseintrag-ID für die Tibber-Integration."
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"selector": {
|
|
"volatility": {
|
|
"options": {
|
|
"low": "Niedrig",
|
|
"moderate": "Moderat",
|
|
"high": "Hoch",
|
|
"very_high": "Sehr hoch"
|
|
}
|
|
},
|
|
"price_level": {
|
|
"options": {
|
|
"any": "Beliebig",
|
|
"very_cheap": "Sehr günstig",
|
|
"cheap": "Günstig",
|
|
"normal": "Normal",
|
|
"expensive": "Teuer",
|
|
"very_expensive": "Sehr teuer"
|
|
}
|
|
}
|
|
},
|
|
"title": "Tibber Preisinformationen & Bewertungen"
|
|
}
|