hass.tibber_prices/custom_components/tibber_prices/translations/nl.json
Julian Pawlowski f4568be34e feat(sensors): add price volatility analysis and period filters
Added comprehensive volatility analysis system:
- 4 new volatility sensors (today, tomorrow, next_24h, today+tomorrow)
- Volatility classification (LOW/MODERATE/HIGH/VERY HIGH) based on price spread
- Configurable thresholds in options flow (step 6 of 6)
- Best/Peak price period filters using volatility and price level
- Price spread calculation in get_price service

Volatility sensors help users decide if price-based optimization is worthwhile.
For example, battery optimization only makes sense when volatility ≥ MODERATE.

Period filters allow AND-logic combinations:
- best_price_min_volatility: Only show cheap periods on volatile days
- best_price_max_level: Only show periods when prices reach desired level
- peak_price_min_volatility: Only show peaks on volatile days
- peak_price_min_level: Only show peaks when expensive levels occur

All 5 language files updated (de, en, nb, nl, sv) with:
- Volatility sensor translations (name, states, descriptions)
- Config flow step 6 "Volatility" with threshold settings
- Step progress indicators added to all config steps
- Period filter translations with usage tips

Impact: Users can now assess daily price volatility and configure period
sensors to only activate when conditions justify battery cycling or load
shifting. Reduces unnecessary battery wear on low-volatility days.
2025-11-09 14:24:34 +00:00

496 lines
21 KiB
JSON

{
"config": {
"step": {
"user": {
"description": "Stel Tibber Prijsinformatie & Beoordelingen in.\n\nOm een API-toegangstoken te genereren, bezoek https://developer.tibber.com.",
"data": {
"access_token": "API-toegangstoken"
},
"submit": "Token valideren"
},
"select_home": {
"description": "Selecteer een huis om prijsinformatie en beoordelingen op te halen.",
"data": {
"home_id": "Huis"
},
"title": "Kies een huis",
"submit": "Huis selecteren"
},
"finish": {
"description": "Selecteer een huis om prijsinformatie en beoordelingen op te halen.",
"data": {
"home_id": "Huis-ID"
},
"title": "Kies een huis",
"submit": "Huis selecteren"
},
"reauth_confirm": {
"title": "Tibber Prijs-integratie opnieuw authenticeren",
"description": "Het toegangstoken voor Tibber is niet langer geldig. Voer een nieuw API-toegangstoken in om deze integratie te blijven gebruiken.\n\nOm een nieuw API-toegangstoken te genereren, bezoek https://developer.tibber.com.",
"data": {
"access_token": "API-toegangstoken"
},
"submit": "Token bijwerken"
}
},
"error": {
"auth": "Het Tibber-toegangstoken is ongeldig.",
"connection": "Kan geen verbinding maken met Tibber. Controleer uw internetverbinding.",
"unknown": "Onverwachte fout",
"cannot_connect": "Verbinding mislukt",
"invalid_access_token": "Ongeldig toegangstoken",
"missing_homes": "Het nieuwe toegangstoken heeft geen toegang tot alle geconfigureerde huizen. Gebruik een toegangstoken dat toegang heeft tot dezelfde Tibber-huizen."
},
"abort": {
"already_configured": "Integratie is al geconfigureerd",
"entry_not_found": "Tibber-configuratie-item niet gevonden.",
"setup_complete": "Installatie voltooid! U kunt aanvullende opties voor Tibber-prijzen wijzigen in de integratie-opties na het sluiten van dit dialoogvenster.",
"reauth_successful": "Herauthenticatie succesvol. De integratie is bijgewerkt met het nieuwe toegangstoken."
}
},
"common": {
"step_progress": "Stap {step_num} van {total_steps}"
},
"config_subentries": {
"home": {
"initiate_flow": {
"user": "Tibber-huis toevoegen"
},
"title": "Tibber-huis toevoegen",
"step": {
"user": {
"title": "Tibber-huis toevoegen",
"description": "Selecteer een huis om toe te voegen aan uw Tibber-integratie.\n\n**Opmerking:** Na het toevoegen van dit huis, kunt u extra huizen toevoegen via het contextmenu van de integratie door \"Tibber-huis toevoegen\" te selecteren.",
"data": {
"home_id": "Huis"
}
}
},
"error": {
"api_error": "Ophalen van huizen van Tibber API mislukt"
},
"abort": {
"no_parent_entry": "Bovenliggend item niet gevonden",
"no_access_token": "Geen toegangstoken beschikbaar",
"home_not_found": "Geselecteerd huis niet gevonden",
"api_error": "Ophalen van huizen van Tibber API mislukt",
"no_available_homes": "Geen extra huizen beschikbaar om toe te voegen. Alle huizen van uw Tibber-account zijn al toegevoegd."
}
}
},
"options": {
"step": {
"init": {
"title": "Algemene instellingen",
"description": "{step_progress}\n\nConfigureer algemene instellingen voor Tibber Prijsinformatie & Beoordelingen.\n\nGebruiker: {user_login}",
"data": {
"extended_descriptions": "Uitgebreide beschrijvingen tonen in entiteitsattributen"
}
},
"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.",
"data": {
"price_rating_threshold_low": "Lage beoordelingsdrempel (% onder voortschrijdend gemiddelde)",
"price_rating_threshold_high": "Hoge beoordelingsdrempel (% boven voortschrijdend gemiddelde)"
}
},
"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.",
"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_volatility": "Minimum volatiliteitsfilter",
"best_price_max_level": "Prijsniveaufilter (Optioneel)"
},
"data_description": {
"best_price_min_volatility": "Toon alleen beste prijsperiodes wanneer de volatiliteit van vandaag dit niveau bereikt of overschrijdt. Standaard: 'Laag' (toon ongeacht volatiliteit) - batterijoptimalisatie is nuttig zelfs bij kleine prijsvariaties. Selecteer 'Matig'/'Hoog' om periodes alleen op meer volatiele dagen te tonen.",
"best_price_max_level": "Toon alleen beste prijsperiodes als minstens één interval vandaag een prijsniveau ≤ geselecteerde waarde heeft. Werkt met EN-logica: volatiliteitsfilter (indien ingesteld) EN niveaufilter moeten beide voldaan zijn. Nuttig om batterij laden op dure dagen te vermijden. Selecteer 'Alle' om dit filter uit te schakelen."
}
},
"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.",
"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_volatility": "Minimum volatiliteitsfilter",
"peak_price_min_level": "Prijsniveaufilter (Optioneel)"
},
"data_description": {
"peak_price_min_volatility": "Toon alleen piekprijsperiodes wanneer de volatiliteit van vandaag dit niveau bereikt of overschrijdt. Standaard: 'Laag' (toon ongeacht volatiliteit) - piekwaarschuwingen zijn relevant zelfs bij lage spreiding omdat vermijding van dure uren altijd belangrijk is. Selecteer 'Matig'/'Hoog' om alleen pieken op volatiele dagen te tonen.",
"peak_price_min_level": "Toon alleen piekprijsperiodes als minstens één interval vandaag een prijsniveau ≥ geselecteerde waarde heeft. Werkt met EN-logica: volatiliteitsfilter (indien ingesteld) EN niveaufilter moeten beide voldaan zijn. Meestal ingesteld op 'Alle' omdat piekperiodes relatief zijn aan de dag. Selecteer 'Alle' om dit filter uit te schakelen."
}
},
"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.",
"data": {
"price_trend_threshold_rising": "Stijgende drempel (% boven huidige prijs)",
"price_trend_threshold_falling": "Dalende drempel (% onder huidige prijs, negatieve waarde)"
}
},
"volatility": {
"title": "Prijsvolatiliteit Drempels",
"description": "{step_progress}\n\nConfigureer drempels voor volatiliteitsclassificatie. Volatiliteit meet prijsschommelingen (spreiding tussen min/max) in kleinste valuta-eenheid (ct/øre). Deze drempels worden gebruikt door volatiliteitssensoren en periodefilters.",
"data": {
"volatility_threshold_moderate": "Matige drempel (ct/øre, spreiding ≥ deze waarde)",
"volatility_threshold_high": "Hoge drempel (ct/øre, spreiding ≥ deze waarde)",
"volatility_threshold_very_high": "Zeer hoge drempel (ct/øre, spreiding ≥ deze waarde)"
}
}
},
"error": {
"auth": "Het Tibber-toegangstoken is ongeldig.",
"connection": "Kan geen verbinding maken met Tibber. Controleer uw internetverbinding.",
"unknown": "Er is een onverwachte fout opgetreden. Controleer de logboeken voor details.",
"cannot_connect": "Verbinding mislukt",
"invalid_access_token": "Ongeldig toegangstoken",
"different_home": "Het toegangstoken is niet geldig voor de huis-ID waarvoor deze integratie is geconfigureerd."
},
"abort": {
"entry_not_found": "Tibber-configuratie-item niet gevonden."
}
},
"entity": {
"sensor": {
"current_price": {
"name": "Huidige elektriciteitsprijs"
},
"next_interval_price": {
"name": "Volgende prijs"
},
"previous_interval_price": {
"name": "Vorige elektriciteitsprijs"
},
"current_hour_average": {
"name": "Huidig uurgemiddelde prijs"
},
"next_hour_average": {
"name": "Volgend uurgemiddelde prijs"
},
"price_level": {
"name": "Huidig prijsniveau",
"state": {
"very_cheap": "Zeer goedkoop",
"cheap": "Goedkoop",
"normal": "Normaal",
"expensive": "Duur",
"very_expensive": "Zeer duur"
}
},
"next_interval_price_level": {
"name": "Volgend prijsniveau",
"state": {
"very_cheap": "Zeer goedkoop",
"cheap": "Goedkoop",
"normal": "Normaal",
"expensive": "Duur",
"very_expensive": "Zeer duur"
}
},
"previous_interval_price_level": {
"name": "Vorig prijsniveau",
"state": {
"very_cheap": "Zeer goedkoop",
"cheap": "Goedkoop",
"normal": "Normaal",
"expensive": "Duur",
"very_expensive": "Zeer duur"
}
},
"current_hour_price_level": {
"name": "Huidig uurprijsniveau",
"state": {
"very_cheap": "Zeer goedkoop",
"cheap": "Goedkoop",
"normal": "Normaal",
"expensive": "Duur",
"very_expensive": "Zeer duur"
}
},
"next_hour_price_level": {
"name": "Volgend uurprijsniveau",
"state": {
"very_cheap": "Zeer goedkoop",
"cheap": "Goedkoop",
"normal": "Normaal",
"expensive": "Duur",
"very_expensive": "Zeer duur"
}
},
"lowest_price_today": {
"name": "Laagste prijs vandaag"
},
"highest_price_today": {
"name": "Hoogste prijs vandaag"
},
"average_price_today": {
"name": "Gemiddelde prijs vandaag"
},
"lowest_price_tomorrow": {
"name": "Laagste prijs morgen"
},
"highest_price_tomorrow": {
"name": "Hoogste prijs morgen"
},
"average_price_tomorrow": {
"name": "Gemiddelde prijs morgen"
},
"trailing_price_average": {
"name": "Voortschrijdend 24u gemiddelde prijs"
},
"leading_price_average": {
"name": "Vooruitlopend 24u gemiddelde prijs"
},
"trailing_price_min": {
"name": "Voortschrijdend 24u minimumprijs"
},
"trailing_price_max": {
"name": "Voortschrijdend 24u maximumprijs"
},
"leading_price_min": {
"name": "Vooruitlopend 24u minimumprijs"
},
"leading_price_max": {
"name": "Vooruitlopend 24u maximumprijs"
},
"price_rating": {
"name": "Huidige prijsbeoordeling",
"state": {
"low": "Laag",
"normal": "Normaal",
"high": "Hoog"
}
},
"next_interval_price_rating": {
"name": "Volgende prijsbeoordeling",
"state": {
"low": "Laag",
"normal": "Normaal",
"high": "Hoog"
}
},
"previous_interval_price_rating": {
"name": "Vorige prijsbeoordeling",
"state": {
"low": "Laag",
"normal": "Normaal",
"high": "Hoog"
}
},
"current_hour_price_rating": {
"name": "Huidig uurprijs beoordeling",
"state": {
"low": "Laag",
"normal": "Normaal",
"high": "Hoog"
}
},
"next_hour_price_rating": {
"name": "Volgend uurprijs beoordeling",
"state": {
"low": "Laag",
"normal": "Normaal",
"high": "Hoog"
}
},
"next_avg_1h": {
"name": "Volgende 1u gemiddelde prijs"
},
"next_avg_2h": {
"name": "Volgende 2u gemiddelde prijs"
},
"next_avg_3h": {
"name": "Volgende 3u gemiddelde prijs"
},
"next_avg_4h": {
"name": "Volgende 4u gemiddelde prijs"
},
"next_avg_5h": {
"name": "Volgende 5u gemiddelde prijs"
},
"next_avg_6h": {
"name": "Volgende 6u gemiddelde prijs"
},
"next_avg_8h": {
"name": "Volgende 8u gemiddelde prijs"
},
"next_avg_12h": {
"name": "Volgende 12u gemiddelde prijs"
},
"price_trend_1h": {
"name": "Prijstrend (1u)",
"state": {
"rising": "Stijgend",
"falling": "Dalend",
"stable": "Stabiel"
}
},
"price_trend_2h": {
"name": "Prijstrend (2u)",
"state": {
"rising": "Stijgend",
"falling": "Dalend",
"stable": "Stabiel"
}
},
"price_trend_3h": {
"name": "Prijstrend (3u)",
"state": {
"rising": "Stijgend",
"falling": "Dalend",
"stable": "Stabiel"
}
},
"price_trend_4h": {
"name": "Prijstrend (4u)",
"state": {
"rising": "Stijgend",
"falling": "Dalend",
"stable": "Stabiel"
}
},
"price_trend_5h": {
"name": "Prijstrend (5u)",
"state": {
"rising": "Stijgend",
"falling": "Dalend",
"stable": "Stabiel"
}
},
"price_trend_6h": {
"name": "Prijstrend (6u)",
"state": {
"rising": "Stijgend",
"falling": "Dalend",
"stable": "Stabiel"
}
},
"price_trend_8h": {
"name": "Prijstrend (8u)",
"state": {
"rising": "Stijgend",
"falling": "Dalend",
"stable": "Stabiel"
}
},
"price_trend_12h": {
"name": "Prijstrend (12u)",
"state": {
"rising": "Stijgend",
"falling": "Dalend",
"stable": "Stabiel"
}
},
"daily_rating": {
"name": "Dagelijkse prijsbeoordeling"
},
"monthly_rating": {
"name": "Maandelijkse prijsbeoordeling"
},
"data_timestamp": {
"name": "Prijsgegevens Vervaldatum"
},
"today_volatility": {
"name": "Vandaag Prijsvolatiliteit",
"state": {
"low": "Laag",
"moderate": "Gematigd",
"high": "Hoog",
"very_high": "Zeer Hoog"
}
},
"tomorrow_volatility": {
"name": "Morgen Prijsvolatiliteit",
"state": {
"low": "Laag",
"moderate": "Gematigd",
"high": "Hoog",
"very_high": "Zeer Hoog"
}
},
"next_24h_volatility": {
"name": "Volgende 24u Prijsvolatiliteit",
"state": {
"low": "Laag",
"moderate": "Gematigd",
"high": "Hoog",
"very_high": "Zeer Hoog"
}
},
"today_tomorrow_volatility": {
"name": "Vandaag+Morgen Prijsvolatiliteit",
"state": {
"low": "Laag",
"moderate": "Gematigd",
"high": "Hoog",
"very_high": "Zeer Hoog"
}
},
"price_forecast": {
"name": "Prijsprognose"
}
},
"binary_sensor": {
"peak_price_period": {
"name": "Piekprijsperiode"
},
"best_price_period": {
"name": "Beste prijsperiode"
},
"connection": {
"name": "Tibber API-verbinding"
},
"tomorrow_data_available": {
"name": "Gegevens van morgen beschikbaar"
}
}
},
"issues": {
"new_homes_available": {
"title": "Nieuwe Tibber-huizen gedetecteerd",
"description": "We hebben {count} nieuw(e) huis/huizen op uw Tibber-account gedetecteerd: {homes}. U kunt ze toevoegen aan Home Assistant via de Tibber-integratieconfiguratie."
},
"homes_removed": {
"title": "Tibber-huizen verwijderd",
"description": "We hebben gedetecteerd dat {count} huis/huizen zijn verwijderd van uw Tibber-account: {homes}. Controleer uw Tibber-integratieconfiguratie."
}
},
"services": {
"refresh_user_data": {
"name": "Gebruikersgegevens vernieuwen",
"description": "Forceert een vernieuwing van de gebruikersgegevens (huizen, profielinformatie) van de Tibber API. Dit kan handig zijn na het maken van wijzigingen in uw Tibber-account of bij het oplossen van verbindingsproblemen.",
"fields": {
"entry_id": {
"name": "Item-ID",
"description": "De config-item-ID voor de Tibber-integratie."
}
}
}
},
"selector": {
"volatility": {
"options": {
"LOW": "Laag",
"MODERATE": "Matig",
"HIGH": "Hoog",
"VERY_HIGH": "Zeer hoog"
}
},
"price_level": {
"options": {
"ANY": "Alle",
"VERY_CHEAP": "Zeer goedkoop",
"CHEAP": "Goedkoop",
"NORMAL": "Normaal",
"EXPENSIVE": "Duur",
"VERY_EXPENSIVE": "Zeer duur"
}
}
},
"title": "Tibber Prijsinformatie & Beoordelingen"
}