mirror of
https://github.com/jpawlowski/hass.tibber_prices.git
synced 2026-03-30 13:23:41 +00:00
Added two new rolling window options for get_apexcharts_yaml service to provide flexible dynamic chart visualization: - rolling_window: Fixed 48h window that automatically shifts between yesterday+today and today+tomorrow based on data availability - rolling_window_autozoom: Same as rolling_window but with progressive zoom-in (2h lookback + remaining time until midnight, updates every 15min) Implementation changes: - Updated service schema validation to accept new day options - Added entity mapping patterns for both rolling modes - Implemented minute-based graph_span calculation with quarter-hour alignment - Added config-template-card integration for dynamic span updates - Used current_interval_price sensor as 15-minute update trigger - Unified data loading: both rolling modes omit day parameter for dynamic selection - Applied ternary operator pattern for cleaner day_param logic - Made grid lines more subtle (borderColor #f5f5f5, strokeDashArray 0) Translation updates: - Added selector options in all 5 languages (de, en, nb, nl, sv) - Updated field descriptions to include default behavior and new options - Documented that rolling window is default when day parameter omitted Documentation updates: - Updated user docs (actions.md, automation-examples.md) with new options - Added detailed explanation of day parameter options - Included examples for both rolling_window and rolling_window_autozoom modes Impact: Users can now create auto-adapting ApexCharts that show 48h rolling windows with optional progressive zoom throughout the day. Requires config-template-card for dynamic behavior.
1093 lines
60 KiB
JSON
1093 lines
60 KiB
JSON
{
|
||
"config": {
|
||
"step": {
|
||
"account_choice": {
|
||
"title": "Välj konto",
|
||
"description": "Du kan lägga till ett annat hem från ett befintligt Tibber-konto eller ange ett nytt API-token för ett annat konto.",
|
||
"data": {
|
||
"account_choice": "Konto"
|
||
},
|
||
"submit": "Fortsätt →"
|
||
},
|
||
"new_token": {
|
||
"title": "Ange API-token",
|
||
"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"
|
||
},
|
||
"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. Använd en åtkomsttoken som har åtkomst till samma Tibber-hem.",
|
||
"home_already_configured": "Detta hem är redan konfigurerat i en annan post. Varje hem kan endast konfigureras en gång.",
|
||
"no_active_subscription": "Detta hem har inget aktivt Tibber-avtal. Endast hem med aktiva elavtal kan läggas till i Home Assistant.",
|
||
"subscription_expired": "Tibber-avtalet för detta hem har gått ut. Endast hem med aktiva eller framtida elavtal kan läggas till i Home Assistant.",
|
||
"future_subscription_warning": "Obs: Tibber-avtalet för detta hem har inte startat än. Funktionaliteten kan vara begränsad tills avtalet blir aktivt.",
|
||
"invalid_yaml_syntax": "Ogiltig YAML-syntax. Kontrollera indragning, 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": "Tjänsteanropsvalidering misslyckades: {error_detail}",
|
||
"missing_entry_id": "Post-ID krävs men tillhandahölls inte.",
|
||
"invalid_entry_id": "Ogiltig post-ID eller post hittades inte.",
|
||
"missing_home_id": "Hem-ID saknas från konfigurationsposten.",
|
||
"user_data_not_available": "Användardata är inte tillgänglig. Uppdatera användardata först.",
|
||
"price_fetch_failed": "Kunde inte hämta prisdata. Kontrollera loggarna för detaljer."
|
||
},
|
||
"abort": {
|
||
"already_configured": "Alla tillgängliga Tibber-hem är redan konfigurerade. Varje hem kan endast konfigureras en gång.",
|
||
"entry_not_found": "Tibber-konfigurationspost hittades inte.",
|
||
"setup_complete": "Installation klar! Du kan ändra ytterligare alternativ för Tibber Prices 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": {
|
||
"entry_type": "Tidsresevy",
|
||
"initiate_flow": {
|
||
"user": "Skapa tidsresevy"
|
||
},
|
||
"title": "Skapa tidsresevy",
|
||
"step": {
|
||
"user": {
|
||
"title": "Välj konfigurationspost",
|
||
"description": "Välj konfigurationsposten som du vill skapa en tidsresevy för.\n\n**Tidsresevyer** låter dig se historiska prisdata som om det vore nuvarande tid. Detta är användbart för att testa automationer eller analysera tidigare prismönster.",
|
||
"data": {
|
||
"parent_entry_id": "Konfigurationspost"
|
||
}
|
||
},
|
||
"time_offset": {
|
||
"title": "Konfigurera tidsförskjutning",
|
||
"description": "Konfigurera hur långt tillbaka i tiden denna vy ska resa.\n\n**Rekommenderat:** Använd **≥2 dagar** förskjutning för att undvika konflikter med \"yesterday\"-entiteter som också tillhandahåller historisk data.\n\n**Exempel:**\n• **-7 dagar**: Visa priser från 7 dagar sedan\n• **-2 dagar, 3 timmar**: Visa priser från 2 dagar och 3 timmar sedan\n• **-14 dagar**: Visa priser från 2 veckor sedan",
|
||
"data": {
|
||
"virtual_time_offset_days": "Dagar tillbaka",
|
||
"time_offset": "Extra tidsförskjutning"
|
||
},
|
||
"data_description": {
|
||
"virtual_time_offset_days": "Hur många dagar att resa tillbaka i tiden. Skjutreglage område: 0 till 374 dagar (≈1 år). Rekommenderat: ≥2 dagar för att undvika konflikter med \"yesterday\"-entiteter.",
|
||
"time_offset": "Valfri finjustering: Lägg till timmar och/eller minuter till dagförskjutningen. Tiden subtraheras automatiskt (res längre tillbaka). Obs: Sekunder ignoreras - endast minutbaserad precision stöds."
|
||
}
|
||
},
|
||
"init": {
|
||
"title": "Konfigurera om tidsförskjutning",
|
||
"description": "Uppdatera tidsförskjutningen för denna tidsresevy.",
|
||
"data": {
|
||
"virtual_time_offset_days": "Dagar tillbaka",
|
||
"time_offset": "Extra tidsförskjutning"
|
||
},
|
||
"data_description": {
|
||
"virtual_time_offset_days": "Hur många dagar att resa tillbaka i tiden. Skjutreglage område: 0 till 374 dagar (≈1 år). Rekommenderat: ≥2 dagar för att undvika konflikter med \"yesterday\"-entiteter.",
|
||
"time_offset": "Valfri finjustering: Lägg till timmar och/eller minuter till dagförskjutningen. Tiden subtraheras automatiskt (res längre tillbaka). Obs: Sekunder ignoreras - endast minutbaserad precision stöds."
|
||
}
|
||
}
|
||
},
|
||
"error": {
|
||
"no_time_offset": "Minst ett tidsförskjutningsvärde måste vara negativt (endast historiska data)."
|
||
},
|
||
"abort": {
|
||
"already_configured": "**En tidsresevy med denna exakta tidsförskjutning existerar redan.**\n\nVälj en annan förskjutning.",
|
||
"no_main_entries": "Inga huvudkonfigurationsposter hittades. Lägg först till ett Tibber-hem.",
|
||
"parent_entry_not_found": "Vald konfigurationspost hittades inte."
|
||
}
|
||
}
|
||
},
|
||
"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---",
|
||
"sections": {
|
||
"price_rating_thresholds": {
|
||
"name": "Prisvärderingströsklar",
|
||
"description": "Definiera prisvärderingsnivåer.",
|
||
"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---",
|
||
"sections": {
|
||
"period_settings": {
|
||
"name": "Period Settings",
|
||
"description": "Configure period duration and price level constraints.",
|
||
"data": {
|
||
"best_price_min_period_length": "Minimum Period Length",
|
||
"best_price_max_level": "Price Level Filter",
|
||
"best_price_max_level_gap_count": "Gap Tolerance"
|
||
},
|
||
"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 minimum 60 minutes (compared to 30 minutes for peak price alerts) because they should provide meaningful time windows for consumption planning, not just brief opportunities.",
|
||
"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. **Note:** Gap tolerance requires periods ≥90 minutes (6 intervals) to detect outliers effectively. Default: 0 (strict filtering, no tolerance)."
|
||
}
|
||
},
|
||
"flexibility_settings": {
|
||
"name": "Flexibility Settings",
|
||
"description": "Configure price comparison thresholds and filtering.",
|
||
"data": {
|
||
"best_price_flex": "Flexibility",
|
||
"best_price_min_distance_from_avg": "Minimum Distance"
|
||
},
|
||
"data_description": {
|
||
"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."
|
||
}
|
||
},
|
||
"relaxation_and_target_periods": {
|
||
"name": "Relaxation & Target Periods",
|
||
"description": "Configure automatic filter relaxation and target period counts. Enable 'Achieve Minimum Count' to activate relaxation.",
|
||
"data": {
|
||
"enable_min_periods_best": "Achieve Minimum Count",
|
||
"min_periods_best": "Minimum Periods",
|
||
"relaxation_attempts_best": "Relaxation Attempts"
|
||
},
|
||
"data_description": {
|
||
"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 'Achieve Minimum 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": "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---",
|
||
"sections": {
|
||
"period_settings": {
|
||
"name": "Periodinställningar",
|
||
"description": "Konfigurera periodlängd och prisnivåbegränsningar.",
|
||
"data": {
|
||
"peak_price_min_period_length": "Minimal periodlängd",
|
||
"peak_price_min_level": "Prisnivåfilter",
|
||
"peak_price_max_level_gap_count": "Gaptolerens"
|
||
},
|
||
"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_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').",
|
||
"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. **Obs:** Gaptoleransen kräver perioder ≥90 minuter (6 intervaller) för att detektera avvikelser effektivt. Standard: 0 (strikt filtrering, ingen tolerans)."
|
||
}
|
||
},
|
||
"flexibility_settings": {
|
||
"name": "Flexibilitetsinställningar",
|
||
"description": "Konfigurera prisjämförelsekriterer och filtrering.",
|
||
"data": {
|
||
"peak_price_flex": "Flexibilitet",
|
||
"peak_price_min_distance_from_avg": "Minimiavstånd"
|
||
},
|
||
"data_description": {
|
||
"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."
|
||
}
|
||
},
|
||
"relaxation_and_target_periods": {
|
||
"name": "Avslappning & målperioder",
|
||
"description": "Konfigurera automatisk filteravslappning och målperioder. Aktivera 'Försök uppnå minsta antal perioder' för att aktivera avslappning.",
|
||
"data": {
|
||
"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": {
|
||
"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."
|
||
}
|
||
}
|
||
},
|
||
"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---",
|
||
"sections": {
|
||
"price_trend_thresholds": {
|
||
"name": "Pristrendtrösklar",
|
||
"description": "Definiera pristrendnivåer.",
|
||
"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---",
|
||
"sections": {
|
||
"volatility_thresholds": {
|
||
"name": "Volatilitetströsklar",
|
||
"description": "Definiera volatilitetsklassificeringsignivåer.",
|
||
"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.",
|
||
"invalid_flex": "TRANSLATE: Flexibility percentage must be between -50% and +50%",
|
||
"invalid_best_price_distance": "TRANSLATE: Distance percentage must be between -50% and 0% (negative = below average)",
|
||
"invalid_peak_price_distance": "TRANSLATE: Distance percentage must be between 0% and 50% (positive = above average)",
|
||
"invalid_min_periods": "TRANSLATE: Minimum periods count must be between 1 and 10",
|
||
"invalid_period_length": "Periodlängden måste vara minst 15 minuter (multiplar av 15).",
|
||
"invalid_gap_count": "Gaptolerans måste vara mellan 0 och 8",
|
||
"invalid_relaxation_attempts": "Avslappningsförsök måste vara mellan 1 och 12",
|
||
"invalid_price_rating_low": "Låg prisklassificeringströskel måste vara mellan -50% och -5%",
|
||
"invalid_price_rating_high": "Hög prisklassificeringströskel måste vara mellan 5% och 50%",
|
||
"invalid_price_rating_thresholds": "Låg tröskel måste vara mindre än hög tröskel",
|
||
"invalid_volatility_threshold_moderate": "Måttlig volatilitetströskel måste vara mellan 5% och 25%",
|
||
"invalid_volatility_threshold_high": "Hög volatilitetströskel måste vara mellan 20% och 40%",
|
||
"invalid_volatility_threshold_very_high": "Mycket hög volatilitetströskel måste vara mellan 35% och 80%",
|
||
"invalid_volatility_thresholds": "Trösklar måste vara i stigande ordning: måttlig < hög < mycket hög",
|
||
"invalid_price_trend_rising": "Stigande trendtröskel måste vara mellan 1% och 50%",
|
||
"invalid_price_trend_falling": "Fallande trendtröskel måste vara mellan -50% och -1%"
|
||
},
|
||
"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_lifecycle_status": {
|
||
"name": "Datalivscykel-status",
|
||
"state": {
|
||
"cached": "Cachad",
|
||
"fresh": "Färsk",
|
||
"refreshing": "Uppdaterar",
|
||
"searching_tomorrow": "Söker morgondagens data",
|
||
"turnover_pending": "Midnattskifte väntar",
|
||
"error": "Fel"
|
||
}
|
||
},
|
||
"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"
|
||
},
|
||
"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_price": {
|
||
"name": "Hämta prisdata",
|
||
"description": "Hämta prisdata för ett specifikt tidsintervall med automatisk routing. Utvecklings- och testtjänst för price_info_for_range API-funktionen. Använder automatiskt PRICE_INFO, PRICE_INFO_RANGE eller båda baserat på tidsintervallgränsen.",
|
||
"fields": {
|
||
"entry_id": {
|
||
"name": "Post-ID",
|
||
"description": "Konfigurationspost-ID för Tibber-integrationen."
|
||
},
|
||
"start_time": {
|
||
"name": "Starttid",
|
||
"description": "Start av tidsintervallet (inklusiv, tidszonskänslig)."
|
||
},
|
||
"end_time": {
|
||
"name": "Sluttid",
|
||
"description": "Slut av tidsintervallet (exklusiv, tidszonskänslig)."
|
||
}
|
||
}
|
||
},
|
||
"get_apexcharts_yaml": {
|
||
"name": "Hämta ApexCharts-kort YAML",
|
||
"description": "⚠️ VIKTIGT: Denna tjänst genererar en GRUNDLÄGGANDE EXEMPEL-konfiguration för ApexCharts-kort som utgångspunkt. Det är INTE en komplett lösning för alla ApexCharts-funktioner. Denna integration är i första hand en DATALEVERANTÖR. Den genererade YAML demonstrerar hur du använder `get_chartdata`-tjänsten för att hämta prisdata. På grund av den segmenterade naturen hos våra data (olika tidsperioder per serie) och användningen av Home Assistants service-API istället för entitetsattribut, är många avancerade ApexCharts-funktioner (som in_header, vissa transformationer) inte kompatibla eller kräver manuell anpassning. Du är välkommen att anpassa den genererade YAML för dina specifika behov, men förstå att omfattande ApexCharts-konfigurationsstöd ligger utanför ramen för denna integration. Gemenskapsbidrag med förbättrade konfigurationer är alltid uppskattade - om du hittar en bättre inställning som fungerar, dela den gärna så att alla kan dra nytta av det! För direkt dataåtkomst för att bygga dina egna diagram, använd `get_chartdata`-tjänsten istället.",
|
||
"fields": {
|
||
"entry_id": {
|
||
"name": "Post-ID",
|
||
"description": "Konfigurationspost-ID för Tibber-integrationen."
|
||
},
|
||
"day": {
|
||
"name": "Dag",
|
||
"description": "Vilken dag som ska visualiseras (standard: Rullande fönster). Fasta dagalternativ (Igår/Idag/Imorgon) visar 24t-spann utan extra beroenden. Dynamiska alternativ kräver config-template-card: Rullande fönster skapar ett fast 48t-fönster som automatiskt växlar mellan igår+idag och idag+imorgon baserat på datatillgänglighet. Rullande fönster (Auto-Zoom) beter sig likadant men zoomar dessutom automatiskt in (2t tillbakablick + återstående tid till midnatt, graph_span minskar varje kvart)."
|
||
},
|
||
"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)."
|
||
},
|
||
"highlight_best_price": {
|
||
"name": "Markera bästa prisperioder",
|
||
"description": "Lägg till ett halvgenomskinligt grönt överlägg för att markera de bästa prisperioderna i diagrammet. Detta gör det enkelt att visuellt identifiera de optimala tiderna för energiförbrukning."
|
||
}
|
||
}
|
||
},
|
||
"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.",
|
||
"sections": {
|
||
"general": {
|
||
"name": "Allmänt",
|
||
"description": "Grundalternativ för hämtning av diagramdata."
|
||
},
|
||
"selection": {
|
||
"name": "Val",
|
||
"description": "Välj vilka data som ska inkluderas i utdatan."
|
||
},
|
||
"filters": {
|
||
"name": "Filter",
|
||
"description": "Filtrera data baserat på prisnivåer, prisvärderingar eller speciella perioder."
|
||
},
|
||
"transformation": {
|
||
"name": "Transformera data",
|
||
"description": "Transformera datautdatan för bättre diagramkompatibilitet."
|
||
},
|
||
"format": {
|
||
"name": "Format",
|
||
"description": "Anpassa utdataformatet."
|
||
},
|
||
"arrays_of_arrays": {
|
||
"name": "Avancerade utdatainställningar: Array av arrayer",
|
||
"description": "Inställningar för utdataformat vid användning av array av arrayer."
|
||
},
|
||
"arrays_of_objects": {
|
||
"name": "Avancerade utdatainställningar: Array av objekt",
|
||
"description": "Inställningar för utdataformat vid användning av array av objekt."
|
||
}
|
||
},
|
||
"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 ett rullande 2-dagars fönster: idag+imorgon (när morgondagens data är tillgänglig) eller igår+idag (när morgondagens data inte är tillgänglig ännu). Detta ger kontinuerlig diagramvisning utan luckor."
|
||
},
|
||
"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",
|
||
"description": "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å",
|
||
"description": "Inkludera Tibber-prisnivåfältet (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE) i varje datapunkt."
|
||
},
|
||
"include_rating_level": {
|
||
"name": "Inkludera prisvärdering",
|
||
"description": "Inkludera det beräknade prisvärderingsfältet (LOW, NORMAL, HIGH) baserat på dina konfigurerade trösklar i varje datapunkt."
|
||
},
|
||
"include_average": {
|
||
"name": "Inkludera genomsnitt",
|
||
"description": "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)."
|
||
},
|
||
"connect_segments": {
|
||
"name": "Anslut segment",
|
||
"description": "[ENDAST MED 'Infoga NULL-värden'] När aktiverad, läggs anslutningspunkter till vid segmentgränser för att visuellt ansluta olika prisnivå-segment i steglinjediagram. När priset går NER läggs en punkt med lägre pris till i slutet av nuvarande segment. När priset går UPP läggs en hållpunkt till före luckan. Detta skapar mjuka visuella övergångar mellan segment istället för abrupta luckor."
|
||
},
|
||
"add_trailing_null": {
|
||
"name": "Lägg till avslutande null-punkt",
|
||
"description": "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",
|
||
"description": "Anpassat namn för starttid-fältet i utdata. Standard är 'start_time' om inte angivet."
|
||
},
|
||
"end_time_field": {
|
||
"name": "Sluttid-fältnamn",
|
||
"description": "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",
|
||
"description": "Anpassat namn för prisfältet i utdata. Standard är 'price_per_kwh'."
|
||
},
|
||
"level_field": {
|
||
"name": "Prisnivåfältsnamn",
|
||
"description": "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",
|
||
"description": "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",
|
||
"description": "Anpassat namn för genomsnittsfältet i utdata. Standard är 'average'. Används endast när include_average är aktiverad."
|
||
},
|
||
"data_key": {
|
||
"name": "Datanyckel",
|
||
"description": "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": {
|
||
"account_choice": {
|
||
"options": {
|
||
"new_token": "Lägg till nytt Tibber-konto med API-token"
|
||
}
|
||
},
|
||
"day": {
|
||
"options": {
|
||
"yesterday": "Igår",
|
||
"today": "Idag",
|
||
"tomorrow": "Imorgon",
|
||
"rolling_window": "Rullande fönster",
|
||
"rolling_window_autozoom": "Rullande fönster (Auto-Zoom)"
|
||
}
|
||
},
|
||
"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"
|
||
}
|