hass.tibber_prices/custom_components/tibber_prices/translations/sv.json
Julian Pawlowski e950737478 feat(chart_export): migrate sensor config from UI to configuration.yaml
Moved Chart Data Export sensor configuration from config flow textarea
to configuration.yaml for better maintainability and consistency with
Home Assistant standards.

Changes:
- __init__.py: Added async_setup() with CONFIG_SCHEMA for tibber_prices.chart_export
- const.py: Added DATA_CHART_CONFIG constant for hass.data storage
- options_flow.py: Simplified chart_data_export step to info-only page
- schemas.py: get_chart_data_export_schema() returns empty schema (no input fields)
- sensor/chart_data.py: Reads config from hass.data instead of config_entry.options
- All 5 translation files: Updated chart_data_export description with:
  - Clear heading: "📊 Chart Data Export Sensor"
  - Intro line explaining sensor purpose
  - Legacy warning (⚠) recommending service use
  - Two valid use cases (✅): attribute-only tools, auto-updating data
  - One discouraged use case (❌): automations should use service directly
  - 3-step activation instructions
  - YAML configuration example with all parameters
  - Correct default behavior: today+tomorrow, 15-minute intervals, prices only

Impact: Users configure chart export in configuration.yaml instead of UI.
Sensor remains disabled by default (diagnostic sensor). Config flow shows
prominent info page guiding users toward service usage while keeping
sensor available for legacy dashboard tools that only read attributes.
2025-11-20 13:41:26 +00:00

899 lines
47 KiB
JSON
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"config": {
"step": {
"user": {
"description": "Konfigurera Tibber Prisinformation & Betyg.\n\nFör att generera en API-Ätkomsttoken, besök https://developer.tibber.com.",
"data": {
"access_token": "API-Ätkomsttoken"
},
"submit": "Validera token"
},
"select_home": {
"description": "VÀlj ett hem för att hÀmta prisinformation och betyg.",
"data": {
"home_id": "Hem"
},
"title": "VĂ€lj ett hem",
"submit": "VĂ€lj hem"
},
"finish": {
"description": "VÀlj ett hem för att hÀmta prisinformation och betyg.",
"data": {
"home_id": "Hem-ID"
},
"title": "VĂ€lj ett hem",
"submit": "VĂ€lj hem"
},
"reauth_confirm": {
"title": "Autentisera Tibber Prisintegrationen igen",
"description": "Åtkomsttoken för Tibber Ă€r inte lĂ€ngre giltig. VĂ€nligen ange en ny API-Ă„tkomsttoken för att fortsĂ€tta anvĂ€nda denna integration.\n\nFör att generera en ny API-Ă„tkomsttoken, besök https://developer.tibber.com.",
"data": {
"access_token": "API-Ätkomsttoken"
},
"submit": "Uppdatera token"
}
},
"error": {
"auth": "Tibber-Ätkomsttoken Àr ogiltig.",
"connection": "Kunde inte ansluta till Tibber. VĂ€nligen kontrollera din internetanslutning.",
"unknown": "OvÀntat fel",
"cannot_connect": "Kunde inte ansluta",
"invalid_access_token": "Ogiltig Ätkomsttoken",
"missing_homes": "Den nya Ätkomsttoken har inte Ätkomst till alla konfigurerade hem. VÀnligen anvÀnd en Ätkomsttoken som har Ätkomst till samma Tibber-hem.",
"invalid_yaml_syntax": "Ogiltig YAML-syntax. Kontrollera indrag, kolon och specialtecken.",
"invalid_yaml_structure": "YAML mÄste vara en ordbok/objekt (nyckel: vÀrde-par), inte en lista eller ren text.",
"service_call_failed": "Service-anrop validering misslyckades: {error_detail}"
},
"abort": {
"already_configured": "Integrationen Àr redan konfigurerad",
"entry_not_found": "Tibber-konfigurationspost hittades inte.",
"setup_complete": "Konfiguration klar! Du kan Àndra ytterligare alternativ för Tibber-priser i integrationens alternativ efter att ha stÀngt denna dialog.",
"reauth_successful": "Omautentisering lyckades. Integrationen har uppdaterats med den nya Ätkomsttoken."
}
},
"common": {
"step_progress": "{step_num} / {total_steps}"
},
"config_subentries": {
"home": {
"initiate_flow": {
"user": "LĂ€gg till Tibber-hem"
},
"title": "LĂ€gg till Tibber-hem",
"step": {
"user": {
"title": "LĂ€gg till Tibber-hem",
"description": "VÀlj ett hem att lÀgga till i din Tibber-integration.\n\n**Obs:** Efter att ha lagt till detta hem kan du lÀgga till ytterligare hem frÄn integrationens kontextmeny genom att vÀlja \"LÀgg till Tibber-hem\".",
"data": {
"home_id": "Hem"
}
}
},
"error": {
"api_error": "Kunde inte hÀmta hem frÄn Tibber API"
},
"abort": {
"no_parent_entry": "Överordnad post hittades inte",
"no_access_token": "Ingen Ätkomsttoken tillgÀnglig",
"home_not_found": "Valt hem hittades inte",
"api_error": "Kunde inte hÀmta hem frÄn Tibber API",
"no_available_homes": "Inga ytterligare hem tillgÀngliga att lÀgga till. Alla hem frÄn ditt Tibber-konto har redan lagts till."
}
}
},
"options": {
"step": {
"init": {
"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": "Utökade beskrivningar"
},
"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\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 tröskel",
"price_rating_threshold_high": "Hög tröskel"
},
"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": "💚 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": "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",
"min_periods_best": "Minsta antal perioder",
"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": "FortsĂ€tt →"
},
"peak_price": {
"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": "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",
"min_periods_peak": "Minsta antal perioder",
"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 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": "FortsĂ€tt →"
},
"price_trend": {
"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",
"price_trend_threshold_falling": "Fallande tröskel"
},
"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": "💹 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",
"volatility_threshold_high": "Hög tröskel",
"volatility_threshold_very_high": "Mycket hög tröskel"
},
"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": "📊 Diagram-dataexport Sensor",
"description": "_{step_progress}_\n\nDiagram-dataexport-sensorn tillhandahĂ„ller prisdata som sensorattribut.\n\n⚠ **Observera:** Denna sensor Ă€r en legacy-funktion för kompatibilitet med Ă€ldre verktyg.\n\n**Rekommenderat för nya installationer:** AnvĂ€nd `tibber_prices.get_chartdata` **tjĂ€nsten direkt** - den Ă€r mer flexibel, effektiv och det moderna Home Assistant-tillvĂ€gagĂ„ngssĂ€ttet.\n\n**NĂ€r denna sensor Ă€r meningsfull:**\n\n✅ Ditt dashboardverktyg kan **endast** lĂ€sa attribut (inga tjĂ€nsteanrop)\n✅ Du behöver statiska data som uppdateras automatiskt\n❌ **Inte för automationer:** AnvĂ€nd `tibber_prices.get_chartdata` direkt dĂ€r - mer flexibel och effektiv!\n\n---\n\n**Aktivera sensorn:**\n\n1. Öppna **InstĂ€llningar → Enheter och tjĂ€nster → Tibber Prices**\n2. VĂ€lj ditt hem → Hitta **'Diagramdataexport'** (Diagnostik-sektionen)\n3. **Aktivera sensorn** (inaktiverad som standard)\n\n**Konfiguration (valfritt):**\n\nStandardinstĂ€llningar fungerar direkt (idag+imorgon, 15-minuters intervaller, endast priser).\n\nFör anpassning, lĂ€gg till i **`configuration.yaml`**:\n\n```yaml\ntibber_prices:\n chart_export:\n day:\n - today\n - tomorrow\n include_level: true\n include_rating_level: true\n```\n\n**Alla parametrar:** Se `tibber_prices.get_chartdata` tjĂ€nstdokumentation",
"submit": "Slutför ✓"
}
},
"error": {
"auth": "Tibber-Ätkomsttoken Àr ogiltig.",
"connection": "Kunde inte ansluta till Tibber. VĂ€nligen kontrollera din internetanslutning.",
"unknown": "Ett ovÀntat fel intrÀffade. VÀnligen kontrollera loggarna för detaljer.",
"cannot_connect": "Kunde inte ansluta",
"invalid_access_token": "Ogiltig Ätkomsttoken",
"different_home": "Åtkomsttoken Ă€r inte giltig för hem-ID:t som denna integration Ă€r konfigurerad för."
},
"abort": {
"entry_not_found": "Tibber-konfigurationspost hittades inte."
}
},
"entity": {
"sensor": {
"current_interval_price": {
"name": "Nuvarande elpris"
},
"current_interval_price_major": {
"name": "Nuvarande elpris (Energipanel)"
},
"next_interval_price": {
"name": "NĂ€sta elpris"
},
"previous_interval_price": {
"name": "FöregÄende elpris"
},
"current_hour_average_price": {
"name": "⌀ Timpris nuvarande"
},
"next_hour_average_price": {
"name": "⌀ Timpris nĂ€sta"
},
"current_interval_price_level": {
"name": "Nuvarande prisnivÄ",
"state": {
"very_cheap": "Mycket billigt",
"cheap": "Billigt",
"normal": "Normal",
"expensive": "Dyrt",
"very_expensive": "Mycket dyrt"
}
},
"next_interval_price_level": {
"name": "NÀsta prisnivÄ",
"state": {
"very_cheap": "Mycket billigt",
"cheap": "Billigt",
"normal": "Normal",
"expensive": "Dyrt",
"very_expensive": "Mycket dyrt"
}
},
"previous_interval_price_level": {
"name": "FöregÄende prisnivÄ",
"state": {
"very_cheap": "Mycket billigt",
"cheap": "Billigt",
"normal": "Normal",
"expensive": "Dyrt",
"very_expensive": "Mycket dyrt"
}
},
"current_hour_price_level": {
"name": "Nuvarande timprisnivÄ",
"state": {
"very_cheap": "Mycket billigt",
"cheap": "Billigt",
"normal": "Normal",
"expensive": "Dyrt",
"very_expensive": "Mycket dyrt"
}
},
"next_hour_price_level": {
"name": "NÀsta timprisnivÄ",
"state": {
"very_cheap": "Mycket billigt",
"cheap": "Billigt",
"normal": "Normal",
"expensive": "Dyrt",
"very_expensive": "Mycket dyrt"
}
},
"lowest_price_today": {
"name": "Dagens lÀgsta pris"
},
"highest_price_today": {
"name": "Dagens högsta pris"
},
"average_price_today": {
"name": "⌀ Pris idag"
},
"lowest_price_tomorrow": {
"name": "Morgondagens lÀgsta pris"
},
"highest_price_tomorrow": {
"name": "Morgondagens högsta pris"
},
"average_price_tomorrow": {
"name": "⌀ Pris imorgon"
},
"yesterday_price_level": {
"name": "PrisnivÄ igÄr",
"state": {
"very_cheap": "Mycket billigt",
"cheap": "Billigt",
"normal": "Normalt",
"expensive": "Dyrt",
"very_expensive": "Mycket dyrt"
}
},
"today_price_level": {
"name": "PrisnivÄ idag",
"state": {
"very_cheap": "Mycket billigt",
"cheap": "Billigt",
"normal": "Normalt",
"expensive": "Dyrt",
"very_expensive": "Mycket dyrt"
}
},
"tomorrow_price_level": {
"name": "PrisnivÄ imorgon",
"state": {
"very_cheap": "Mycket billigt",
"cheap": "Billigt",
"normal": "Normalt",
"expensive": "Dyrt",
"very_expensive": "Mycket dyrt"
}
},
"yesterday_price_rating": {
"name": "PrisvÀrdering igÄr",
"state": {
"low": "LÄg",
"normal": "Normal",
"high": "Hög"
}
},
"today_price_rating": {
"name": "PrisvÀrdering idag",
"state": {
"low": "LÄg",
"normal": "Normal",
"high": "Hög"
}
},
"tomorrow_price_rating": {
"name": "PrisvÀrdering imorgon",
"state": {
"low": "LÄg",
"normal": "Normal",
"high": "Hög"
}
},
"trailing_price_average": {
"name": "⌀ Pris rullande 24t"
},
"leading_price_average": {
"name": "⌀ Pris framĂ„tblickande 24t"
},
"trailing_price_min": {
"name": "Rullande 24t minimumpris"
},
"trailing_price_max": {
"name": "Rullande 24t maximumpris"
},
"leading_price_min": {
"name": "FramÄtblickande 24t minimumpris"
},
"leading_price_max": {
"name": "FramÄtblickande 24t maximumpris"
},
"current_interval_price_rating": {
"name": "Nuvarande prisvÀrdering",
"state": {
"low": "LÄg",
"normal": "Normal",
"high": "Hög"
}
},
"next_interval_price_rating": {
"name": "NÀsta prisvÀrdering",
"state": {
"low": "LÄg",
"normal": "Normal",
"high": "Hög"
}
},
"previous_interval_price_rating": {
"name": "FöregÄende prisvÀrdering",
"state": {
"low": "LÄg",
"normal": "Normal",
"high": "Hög"
}
},
"current_hour_price_rating": {
"name": "Nuvarande timprisvÀrdering",
"state": {
"low": "LÄg",
"normal": "Normal",
"high": "Hög"
}
},
"next_hour_price_rating": {
"name": "NÀsta timprisvÀrdering",
"state": {
"low": "LÄg",
"normal": "Normal",
"high": "Hög"
}
},
"next_avg_1h": {
"name": "⌀ Pris nĂ€sta 1t"
},
"next_avg_2h": {
"name": "⌀ Pris nĂ€sta 2t"
},
"next_avg_3h": {
"name": "⌀ Pris nĂ€sta 3t"
},
"next_avg_4h": {
"name": "⌀ Pris nĂ€sta 4t"
},
"next_avg_5h": {
"name": "⌀ Pris nĂ€sta 5t"
},
"next_avg_6h": {
"name": "⌀ Pris nĂ€sta 6t"
},
"next_avg_8h": {
"name": "⌀ Pris nĂ€sta 8t"
},
"next_avg_12h": {
"name": "⌀ Pris nĂ€sta 12t"
},
"price_trend_1h": {
"name": "Pristrend (1t)",
"state": {
"rising": "Stigande",
"falling": "Fallande",
"stable": "Stabil"
}
},
"price_trend_2h": {
"name": "Pristrend (2t)",
"state": {
"rising": "Stigande",
"falling": "Fallande",
"stable": "Stabil"
}
},
"price_trend_3h": {
"name": "Pristrend (3t)",
"state": {
"rising": "Stigande",
"falling": "Fallande",
"stable": "Stabil"
}
},
"price_trend_4h": {
"name": "Pristrend (4t)",
"state": {
"rising": "Stigande",
"falling": "Fallande",
"stable": "Stabil"
}
},
"price_trend_5h": {
"name": "Pristrend (5t)",
"state": {
"rising": "Stigande",
"falling": "Fallande",
"stable": "Stabil"
}
},
"price_trend_6h": {
"name": "Pristrend (6t)",
"state": {
"rising": "Stigande",
"falling": "Fallande",
"stable": "Stabil"
}
},
"price_trend_8h": {
"name": "Pristrend (8t)",
"state": {
"rising": "Stigande",
"falling": "Fallande",
"stable": "Stabil"
}
},
"price_trend_12h": {
"name": "Pristrend (12t)",
"state": {
"rising": "Stigande",
"falling": "Fallande",
"stable": "Stabil"
}
},
"current_price_trend": {
"name": "Nuvarande pristrend",
"state": {
"rising": "Stigande",
"falling": "Fallande",
"stable": "Stabil"
}
},
"next_price_trend_change": {
"name": "NÀsta trendförÀndring"
},
"daily_rating": {
"name": "Daglig prisvÀrdering"
},
"monthly_rating": {
"name": "MÄnatlig prisvÀrdering"
},
"data_timestamp": {
"name": "Prisdata UtgÄngsdatum"
},
"today_volatility": {
"name": "Volatilitet idag",
"state": {
"low": "LÄg",
"moderate": "MÄttlig",
"high": "Hög",
"very_high": "Mycket Hög"
}
},
"tomorrow_volatility": {
"name": "Volatilitet imorgon",
"state": {
"low": "LÄg",
"moderate": "MÄttlig",
"high": "Hög",
"very_high": "Mycket Hög"
}
},
"next_24h_volatility": {
"name": "Volatilitet nÀsta 24t",
"state": {
"low": "LÄg",
"moderate": "MÄttlig",
"high": "Hög",
"very_high": "Mycket Hög"
}
},
"today_tomorrow_volatility": {
"name": "Volatilitet idag+imorgon",
"state": {
"low": "LÄg",
"moderate": "MÄttlig",
"high": "Hög",
"very_high": "Mycket Hög"
}
},
"best_price_end_time": {
"name": "BĂ€sta pris slutar"
},
"best_price_period_duration": {
"name": "BĂ€sta pris varaktighet"
},
"best_price_remaining_minutes": {
"name": "BÀsta pris ÄterstÄende tid"
},
"best_price_progress": {
"name": "BĂ€sta pris framsteg"
},
"best_price_next_start_time": {
"name": "BĂ€sta pris startar"
},
"best_price_next_in_minutes": {
"name": "BĂ€sta pris startar om"
},
"peak_price_end_time": {
"name": "Topppris slutar"
},
"peak_price_period_duration": {
"name": "Topppris varaktighet"
},
"peak_price_remaining_minutes": {
"name": "Topppris ÄterstÄende tid"
},
"peak_price_progress": {
"name": "Topppris framsteg"
},
"peak_price_next_start_time": {
"name": "Topppris startar"
},
"peak_price_next_in_minutes": {
"name": "Topppris startar om"
},
"price_forecast": {
"name": "Prisprognos"
},
"home_type": {
"name": "Bostadstyp",
"state": {
"apartment": "LĂ€genhet",
"rowhouse": "Radhus",
"house": "Hus",
"cottage": "Stuga"
}
},
"home_size": {
"name": "Boyta"
},
"main_fuse_size": {
"name": "HuvudsÀkring"
},
"number_of_residents": {
"name": "Antal boende"
},
"primary_heating_source": {
"name": "PrimÀr vÀrmekÀlla",
"state": {
"air2air_heatpump": "Luft-till-luft-vÀrmepump",
"air2water_heatpump": "Luft-till-vatten-vÀrmepump",
"boiler": "Varmvattenberedare",
"central_heating": "CentralvÀrme",
"district_heating": "FjÀrrvÀrme",
"district": "FjÀrrvÀrme",
"electric_boiler": "Elektrisk varmvattenberedare",
"electricity": "Elektricitet",
"floor": "GolvvÀrme",
"gas": "Gas",
"ground_heatpump": "BergvÀrmepump",
"ground": "BergvÀrmepump",
"oil": "Olja",
"other": "Annat",
"waste": "SpillvÀrme"
}
},
"grid_company": {
"name": "NĂ€tbolag"
},
"grid_area_code": {
"name": "NÀtomrÄdeskod"
},
"price_area_code": {
"name": "PrisomrÄdeskod"
},
"consumption_ean": {
"name": "Förbruknings-EAN"
},
"production_ean": {
"name": "Produktions-EAN"
},
"energy_tax_type": {
"name": "Energiskattetyp"
},
"vat_type": {
"name": "Momstyp"
},
"estimated_annual_consumption": {
"name": "Uppskattat Ärsförbrukning"
},
"subscription_status": {
"name": "Abonnemangsstatus",
"state": {
"running": "Aktiv",
"ended": "Avslutad",
"pending": "VĂ€ntar",
"unknown": "OkÀnd"
}
},
"chart_data_export": {
"name": "Diagramdataexport",
"state": {
"pending": "VĂ€ntar",
"ready": "Redo",
"error": "Fel"
}
}
},
"binary_sensor": {
"peak_price_period": {
"name": "Toppris-period"
},
"best_price_period": {
"name": "BĂ€sta pris-period"
},
"connection": {
"name": "Tibber API-anslutning"
},
"tomorrow_data_available": {
"name": "Morgondagens data tillgÀnglig"
},
"has_ventilation_system": {
"name": "Har ventilationssystem"
},
"realtime_consumption_enabled": {
"name": "Realtidsförbrukning aktiverad"
}
}
},
"issues": {
"new_homes_available": {
"title": "Nya Tibber-hem upptÀckta",
"description": "Vi upptÀckte {count} nytt/nya hem pÄ ditt Tibber-konto: {homes}. Du kan lÀgga till dem i Home Assistant via Tibber-integrationskonfigurationen."
},
"homes_removed": {
"title": "Tibber-hem borttagna",
"description": "Vi upptÀckte att {count} hem har tagits bort frÄn ditt Tibber-konto: {homes}. VÀnligen granska din Tibber-integrationskonfiguration."
}
},
"services": {
"get_apexcharts_yaml": {
"name": "HĂ€mta ApexCharts-kort YAML",
"description": "Returnerar ett fÀrdigt YAML-utklipp för ett ApexCharts-kort som visualiserar Tibber-priser för den valda dagen. AnvÀnd detta för att enkelt lÀgga till ett förkonfigurerat diagram till din instrumentpanel. YAML kommer att anvÀnda get_chartdata-tjÀnsten för data.",
"fields": {
"entry_id": {
"name": "Post-ID",
"description": "Konfigurationspost-ID för Tibber-integrationen."
},
"day": {
"name": "Dag",
"description": "Vilken dag som ska visualiseras (igÄr, idag eller imorgon)."
},
"level_type": {
"name": "NivÄtyp",
"description": "VÀlj vilken prisnivÄklassificering som ska visualiseras: 'rating_level' (lÄg/normal/hög baserat pÄ dina konfigurerade tröskelvÀrden) eller 'level' (Tibber API-nivÄer: mycket billig/billig/normal/dyr/mycket dyr)."
}
}
},
"get_chartdata": {
"name": "HĂ€mta diagramdata",
"description": "Returnerar prisdata i ett enkelt diagramvÀnligt format kompatibelt med Tibber Core-integrationens outputstruktur. Perfekt för anvÀndning med populÀra diagramkort som ha-price-timeline-card, ApexCharts Card, Plotly Graph Card, Mini Graph Card eller den inbyggda History Graph Card. FÀltnamn och datastruktur kan anpassas för att matcha diagrammets krav.",
"fields": {
"entry_id": {
"name": "Post-ID",
"description": "Konfigurationspost-ID för Tibber-integrationen."
},
"day": {
"name": "Dag",
"description": "Vilken dag(ar) ska priser hÀmtas för. Du kan vÀlja flera dagar. Om inte angivet, returneras alla tillgÀngliga data (idag + imorgon om tillgÀngligt)."
},
"resolution": {
"name": "Upplösning",
"description": "Tidsupplösning för returnerade data. Alternativ: 'interval' (standard, 15-minuters intervaller, 96 datapunkter per dag), 'hourly' (timgenomsnitt, 24 datapunkter per dag)."
},
"output_format": {
"name": "Utdataformat",
"description": "Utdataformat för returnerade data. Alternativ: 'array_of_objects' (standard, array av objekt med anpassningsbara fÀltnamn), 'array_of_arrays' (array av [tidsstÀmpel, pris]-arrayer med avslutande null-punkt för stepline-diagram)."
},
"array_fields": {
"name": "Array-fÀlt (endast Array av arrayer)",
"description": "[ENDAST FÖR Array av arrayer FORMAT] Definiera vilka fĂ€lt som ska inkluderas. AnvĂ€nd fĂ€ltnamn inom mĂ„svingar, separerade med kommatecken. TillgĂ€ngliga fĂ€lt: start_time, price_per_kwh, level, rating_level, average. FĂ€lt aktiveras automatiskt Ă€ven om include_*-alternativ inte Ă€r instĂ€llda. LĂ€mna tomt för standard (endast tidsstĂ€mpel och pris)."
},
"minor_currency": {
"name": "Mindre valutaenhet",
"description": "Returnera priser i mindre valutaenheter (öre för SEK/NOK, cent för EUR) istÀllet för huvudvalutaenheter. Inaktiverad som standard."
},
"round_decimals": {
"name": "Avrunda decimaler",
"description": "Antal decimaler att avrunda priser till (0-10). Om inte angivet anvÀnds standardprecision (4 decimaler för huvudvaluta, 2 för mindre valutaenhet)."
},
"include_level": {
"name": "Inkludera prisnivÄ (endast Array av objekt)",
"description": "[ENDAST FÖR Array av objekt FORMAT] Inkludera Tibber-prisnivĂ„fĂ€ltet (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE) i varje datapunkt."
},
"include_rating_level": {
"name": "Inkludera prisvÀrdering (endast Array av objekt)",
"description": "[ENDAST FÖR Array av objekt FORMAT] Inkludera det berĂ€knade prisvĂ€rderingsfĂ€ltet (LOW, NORMAL, HIGH) baserat pĂ„ dina konfigurerade trösklar i varje datapunkt."
},
"include_average": {
"name": "Inkludera genomsnitt (endast Array av objekt)",
"description": "[ENDAST FÖR Array av objekt FORMAT] Inkludera dagligt genomsnittspris i varje datapunkt för jĂ€mförelse."
},
"level_filter": {
"name": "PrisnivÄfilter",
"description": "Filtrera intervaller för att endast inkludera specifika Tibber-prisnivÄer (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE). Om inget anges inkluderas alla nivÄer."
},
"rating_level_filter": {
"name": "PrisvÀrderingsfilter",
"description": "Filtrera intervall för att endast inkludera specifika prisvÀrderingar (LOW, NORMAL, HIGH). Om inte angivet inkluderas alla vÀrderingar."
},
"period_filter": {
"name": "Periodfilter",
"description": "Filtrera intervall för att endast inkludera de inom BÀsta pris- eller Topp pris-perioder. Alternativ: 'best_price' (endast intervall i BÀsta pris-perioder), 'peak_price' (endast intervall i Topp pris-perioder). Om inte angivet inkluderas alla intervall. AnvÀnder förberÀknad perioddata frÄn binÀra sensorer."
},
"insert_nulls": {
"name": "Infoga NULL-vÀrden",
"description": "Kontrollera infogning av NULL-vÀrden för filtrerad data. 'none' (standard): Inga NULL-vÀrden, endast matchande intervall. 'segments': LÀgg till NULL-punkter vid segmentgrÀnser för rena luckor i diagram (rekommenderas för steglinjediagram). 'all': Infoga NULL för alla tidsstÀmplar dÀr filtret inte matchar (anvÀndbart för kontinuerlig tidsserievisualisering)."
},
"add_trailing_null": {
"name": "LĂ€gg till avslutande null-punkt",
"description": "[BÅDA FORMATEN] LĂ€gg till en sista datapunkt med nullvĂ€rden (utom tidsstĂ€mpel) i slutet. Vissa diagrambibliotek behöver detta för att förhindra extrapolering/interpolering till visningsportens kant vid anvĂ€ndning av trappstegsrendering. LĂ€mna inaktiverad om inte ditt diagram krĂ€ver det."
},
"start_time_field": {
"name": "Starttid-fÀltnamn (endast Array of Objects)",
"description": "[ENDAST FÖR Array of Objects FORMAT] Anpassat namn för starttid-fĂ€ltet i utdata. Standard Ă€r 'start_time' om inte angivet."
},
"end_time_field": {
"name": "Sluttid-fÀltnamn (endast Array of Objects)",
"description": "[ENDAST FÖR Array of Objects FORMAT] Anpassat namn för sluttid-fĂ€ltet i utdata. Standard Ă€r 'end_time' om inte angivet. AnvĂ€nds endast med period_filter."
},
"price_field": {
"name": "PrisfÀltsnamn (endast Array av objekt)",
"description": "[ENDAST FÖR Array av objekt FORMAT] Anpassat namn för prisfĂ€ltet i utdata. Standard Ă€r 'price_per_kwh'."
},
"level_field": {
"name": "PrisnivÄfÀltsnamn (endast Array av objekt)",
"description": "[ENDAST FÖR Array av objekt FORMAT] Anpassat namn för prisnivĂ„fĂ€ltet i utdata. Standard Ă€r 'level'. AnvĂ€nds endast nĂ€r include_level Ă€r aktiverad."
},
"rating_level_field": {
"name": "PrisvÀrderingsfÀltsnamn (endast Array av objekt)",
"description": "[ENDAST FÖR Array av objekt FORMAT] Anpassat namn för prisvĂ€rderingsfĂ€ltet i utdata. Standard Ă€r 'rating_level'. AnvĂ€nds endast nĂ€r include_rating_level Ă€r aktiverad."
},
"average_field": {
"name": "GenomsnittsfÀltsnamn (endast Array av objekt)",
"description": "[ENDAST FÖR Array av objekt FORMAT] Anpassat namn för genomsnittsfĂ€ltet i utdata. Standard Ă€r 'average'. AnvĂ€nds endast nĂ€r include_average Ă€r aktiverad."
},
"data_key": {
"name": "Datanyckel (bÄda formaten)",
"description": "[BÅDA FORMATEN] Anpassat namn för datanyckeln pĂ„ toppnivĂ„ i svaret. Standard Ă€r 'data' om inte angivet. För ApexCharts-kompatibilitet med Array av arrayer, anvĂ€nd 'points'."
}
}
},
"refresh_user_data": {
"name": "Uppdatera anvÀndardata",
"description": "Tvingar en uppdatering av anvÀndardata (hem, profilinformation) frÄn Tibber API. Detta kan vara anvÀndbart efter att ha gjort Àndringar i ditt Tibber-konto eller vid felsökning av anslutningsproblem.",
"fields": {
"entry_id": {
"name": "Post-ID",
"description": "Konfigurationspost-ID för Tibber-integrationen."
}
}
}
},
"selector": {
"day": {
"options": {
"yesterday": "IgÄr",
"today": "Idag",
"tomorrow": "Imorgon"
}
},
"resolution": {
"options": {
"interval": "Intervall (15 min)",
"hourly": "Varje timme"
}
},
"output_format": {
"options": {
"array_of_objects": "Array av objekt",
"array_of_arrays": "Array av arrayer"
}
},
"level_type": {
"options": {
"rating_level": "BetygsÀttningsnivÄ (lÄg/normal/hög)",
"level": "Tibber-nivÄ (mycket billig till mycket dyr)"
}
},
"level_filter": {
"options": {
"very_cheap": "Mycket billig",
"cheap": "Billig",
"normal": "Normal",
"expensive": "Dyr",
"very_expensive": "Mycket dyr"
}
},
"rating_level_filter": {
"options": {
"low": "LÄg",
"normal": "Normal",
"high": "Hög"
}
},
"insert_nulls": {
"options": {
"none": "Ingen",
"segments": "Segment",
"all": "Alla"
}
},
"period_filter": {
"options": {
"best_price": "BĂ€sta prisperioder",
"peak_price": "Topp prisperioder"
}
},
"volatility": {
"options": {
"low": "LÄg",
"moderate": "MÄttlig",
"high": "Hög",
"very_high": "Mycket hög"
}
},
"current_interval_price_level": {
"options": {
"any": "Alla",
"very_cheap": "Mycket billigt",
"cheap": "Billigt",
"normal": "Normalt",
"expensive": "Dyrt",
"very_expensive": "Mycket dyrt"
}
}
},
"title": "Tibber Prisinformation & Betyg"
}