mirror of
https://github.com/jpawlowski/hass.tibber_prices.git
synced 2026-03-29 21:03:40 +00:00
API Client:
- Changed async_get_price_info() to accept home_ids parameter
- Implemented _get_price_info_for_specific_homes() using GraphQL aliases
(home0: home(id: "abc") { ... }) for efficient multi-home queries
- Extended async_get_viewer_details() with comprehensive home metadata
(owner, address, meteringPointData, subscription, features)
- Removed deprecated async_get_data() method (combined query no longer needed)
- Updated _is_data_empty() to handle aliased response structure
Coordinator:
- Added _get_configured_home_ids() to collect all active config entries
- Modified _fetch_all_homes_data() to only query configured homes
- Added refresh_user_data() forcing user data refresh (bypasses cache)
- Improved get_user_profile() with detailed user info (name, login, accountType)
- Fixed get_user_homes() to extract from viewer object
Binary Sensors:
- Added has_ventilation_system sensor (home metadata)
- Added realtime_consumption_enabled sensor (features check)
- Refactored state getter mapping to dictionary pattern
Diagnostic Sensors (12 new):
- Home metadata: home_type, home_size, main_fuse_size, number_of_residents,
primary_heating_source
- Metering point: grid_company, grid_area_code, price_area_code,
consumption_ean, production_ean, energy_tax_type, vat_type,
estimated_annual_consumption
- Subscription: subscription_status
- Added available property override to hide diagnostic sensors with no data
Config Flow:
- Fixed subentry flow to exclude parent home_id from available homes
- Added debug logging for home title generation
Entity:
- Made attribution translatable (get_translation("attribution"))
- Removed hardcoded user name suffix from subentry device names
Impact: Enables multi-home setups with dedicated subentries. Each home gets
its own set of sensors and only configured homes are queried (reduces API
load). New diagnostic sensors provide comprehensive home metadata from Tibber
API. Users can track ventilation systems, heating types, metering point info,
and subscription status.
688 lines
30 KiB
JSON
688 lines
30 KiB
JSON
{
|
||
"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."
|
||
},
|
||
"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": "Steg {step_num} av {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\nKonfigurera allmänna inställningar för Tibber Prisinformation & Betyg.\n\nAnvändare: {user_login}",
|
||
"data": {
|
||
"extended_descriptions": "Visa utökade beskrivningar i entitetsattribut"
|
||
},
|
||
"submit": "Nästa till steg 2"
|
||
},
|
||
"current_interval_price_rating": {
|
||
"title": "Prisvärderingströsklar",
|
||
"description": "{step_progress}\n\nKonfigurera trösklar för prisvärderingsnivåer (låg/normal/hög) baserat på jämförelse med rullande 24-timmars genomsnitt.",
|
||
"data": {
|
||
"price_rating_threshold_low": "Låg värderingströskel (% under rullande genomsnitt)",
|
||
"price_rating_threshold_high": "Hög värderingströskel (% över rullande genomsnitt)"
|
||
},
|
||
"submit": "Nästa till steg 3"
|
||
},
|
||
"best_price": {
|
||
"title": "Inställningar för bästa prisperiod",
|
||
"description": "{step_progress}\n\nKonfigurera inställningar för Bästa Prisperiod binärsensor. Denna sensor är aktiv under perioder med de lägsta elpriserna.",
|
||
"data": {
|
||
"best_price_min_period_length": "Minsta periodlängd",
|
||
"best_price_flex": "Flexibilitet: Maximalt % över minimumpris",
|
||
"best_price_min_distance_from_avg": "Minimiavstånd: Krävd % under dagligt genomsnitt",
|
||
"best_price_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_step_best": "Avslappningssteg",
|
||
"relaxation_attempts_best": "Antal avslappningsförsök"
|
||
},
|
||
"data_description": {
|
||
"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_step_best": "Procentandel av den ursprungliga flexibilitetströskeln att lägga till per avslappningssteg. Till exempel: med 15% flexibilitet och 25% stegstorlek kommer filtren att prova 15%, 18,75%, 22,5%, osv. Högre värden innebär snabbare avslappning men mindre precision.",
|
||
"relaxation_attempts_best": "Hur många gånger avslappningslogiken får försöka hitta nya kombinationer av flex och filter. Öka detta om dagarna är extrema och du behöver fler försök för att nå minimikravet. Varje extra försök tar lite mer tid men ökar chansen att hitta perioder.",
|
||
"best_price_max_level_gap_count": "Maximalt antal på varandra följande intervaller som får avvika med exakt ett nivåsteg från det erforderliga nivået. Till exempel: med 'Billigt' filter och gapantal 1 accepteras sekvensen 'BILLIGT, BILLIGT, NORMALT, BILLIGT' (NORMALT är ett steg över BILLIGT). Detta förhindrar att perioder delas upp av tillfälliga nivåavvikelser. Standard: 0 (strikt filtrering, ingen tolerans)."
|
||
},
|
||
"submit": "Nästa till steg 5"
|
||
},
|
||
"peak_price": {
|
||
"title": "Inställningar för topprisperiod",
|
||
"description": "{step_progress}\n\nKonfigurera inställningar för Topprisperiod binärsensor. Denna sensor är aktiv under perioder med de högsta elpriserna.",
|
||
"data": {
|
||
"peak_price_min_period_length": "Minsta periodlängd",
|
||
"peak_price_flex": "Flexibilitet: Maximalt % under maximumpris (negativt värde)",
|
||
"peak_price_min_distance_from_avg": "Minimiavstånd: Krävd % över dagligt genomsnitt",
|
||
"peak_price_min_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_step_peak": "Avslappningssteg",
|
||
"relaxation_attempts_peak": "Antal avslappningsförsök"
|
||
},
|
||
"data_description": {
|
||
"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_step_peak": "Procentandel av den ursprungliga flexibilitetströskeln att lägga till per avslappningssteg. Till exempel: med -15% flexibilitet och 25% stegstorlek kommer filtren att prova -15%, -18,75%, -22,5%, osv. Högre värden innebär snabbare avslappning men mindre precision.",
|
||
"relaxation_attempts_peak": "Hur många gånger avslappningslogiken får försöka hitta nya kombinationer av flex och filter. Öka detta när topperioderna är svåra att hitta på grund av platta eller mycket volatila dagar. Fler försök ger större chans att hitta perioder men kräver lite mer beräkningstid.",
|
||
"peak_price_max_level_gap_count": "Maximalt antal på varandra följande intervaller som får avvika med exakt ett nivåsteg från det erforderliga nivået. Till exempel: med 'Dyrt' filter och gapantal 2 accepteras sekvensen 'DYRT, NORMALT, NORMALT, DYRT' (NORMALT är ett steg under DYRT). Detta förhindrar att perioder delas upp av tillfälliga nivåavvikelser. Standard: 0 (strikt filtrering, ingen tolerans)."
|
||
},
|
||
"submit": "Nästa till steg 6"
|
||
},
|
||
"price_trend": {
|
||
"title": "Pristrendtrösklar",
|
||
"description": "{step_progress}\n\nKonfigurera trösklar för pristrendsensorer. Dessa sensorer jämför det aktuella priset med genomsnittet av de nästa N timmarna för att avgöra om priserna stiger, faller eller är stabila.",
|
||
"data": {
|
||
"price_trend_threshold_rising": "Stigande tröskel (% över aktuellt pris)",
|
||
"price_trend_threshold_falling": "Fallande tröskel (% under aktuellt pris, negativt värde)"
|
||
},
|
||
"submit": "Slutför konfigurationen"
|
||
},
|
||
"volatility": {
|
||
"title": "Prisvolatilitet Trösklar",
|
||
"description": "{step_progress}\n\nKonfigurera trösklar för volatilitetsklassificering. Volatilitet mäter relativa prisvariationer med hjälp av variationskoefficienten (VK = standardavvikelse / medelvärde × 100%). Dessa trösklar är procentvärden som fungerar på alla prisnivåer och används av volatilitetssensorer och periodfilter.",
|
||
"data": {
|
||
"volatility_threshold_moderate": "Måttlig tröskel (VK ≥ denna %, t.ex. 15)",
|
||
"volatility_threshold_high": "Hög tröskel (VK ≥ denna %, t.ex. 30)",
|
||
"volatility_threshold_very_high": "Mycket hög tröskel (VK ≥ detta %, t.ex. 50)"
|
||
},
|
||
"submit": "Nästa till steg 4"
|
||
}
|
||
},
|
||
"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"
|
||
}
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"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": {
|
||
"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": {
|
||
"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"
|
||
}
|