mirror of
https://github.com/jpawlowski/hass.tibber_prices.git
synced 2026-03-29 21:03:40 +00:00
Extends trend sensors from 3-level (rising/stable/falling) to 5-level scale (strongly_rising/rising/stable/falling/strongly_falling) for finer granularity. Changes: - Add PRICE_TREND_MAPPING with integer values (-2, -1, 0, +1, +2) matching PRICE_LEVEL_MAPPING pattern for consistent automation comparisons - Add configurable thresholds for strongly_rising (default: 6%) and strongly_falling (default: -6%) independent from base thresholds - Update calculate_price_trend() to return 3-tuple: (trend_state, diff_pct, trend_value) - Add trend_value attribute to all trend sensors for numeric comparisons - Update sensor entity descriptions with 5-level options - Add validation with cross-checks (strongly_rising > rising, etc.) - Update icons: chevron-double-up/down for strong trends, trending-up/down for normal Files changed: - const.py: PRICE_TREND_* constants, PRICE_TREND_MAPPING, config constants - utils/price.py: Extended calculate_price_trend() signature and return value - sensor/calculators/trend.py: Pass new thresholds, handle 3-tuple return - sensor/definitions.py: 5-level options for all 9 trend sensors - sensor/core.py: 5-level icon mapping - entity_utils/icons.py: 5-level trend icons - config_flow_handlers/: validators, schemas, options_flow for new settings - translations/*.json: Labels and error messages (en, de, nb, sv, nl) - tests/test_percentage_calculations.py: Updated for 3-tuple return Impact: Users get more nuanced trend information for automation decisions. New trend_value attribute enables numeric comparisons (e.g., > 0 for any rise). Existing automations using "rising"/"falling"/"stable" continue to work.
1198 lines
70 KiB
JSON
1198 lines
70 KiB
JSON
{
|
||
"config": {
|
||
"step": {
|
||
"account_choice": {
|
||
"title": "Velg konto",
|
||
"description": "Du kan legge til et nytt hjem fra en eksisterende Tibber-konto eller skrive inn et nytt API-token for en annen konto.",
|
||
"data": {
|
||
"account_choice": "Konto"
|
||
},
|
||
"submit": "Fortsett →"
|
||
},
|
||
"new_token": {
|
||
"title": "Skriv inn API-token",
|
||
"description": "Sett opp Tibber Prisinformasjon & Vurderinger.\n\nFor å generere et API-tilgangstoken, besøk https://developer.tibber.com.",
|
||
"data": {
|
||
"access_token": "API-tilgangstoken"
|
||
},
|
||
"submit": "Valider token"
|
||
},
|
||
"user": {
|
||
"description": "Sett opp Tibber Prisinformasjon & Vurderinger.\n\nFor å generere et API-tilgangstoken, besøk https://developer.tibber.com.",
|
||
"data": {
|
||
"access_token": "API-tilgangstoken"
|
||
},
|
||
"submit": "Valider token"
|
||
},
|
||
"select_home": {
|
||
"description": "Velg et hjem for å hente prisinformasjon og vurderinger.",
|
||
"data": {
|
||
"home_id": "Hjem"
|
||
},
|
||
"title": "Velg et hjem",
|
||
"submit": "Velg hjem"
|
||
},
|
||
"finish": {
|
||
"description": "Velg et hjem for å hente prisinformasjon og vurderinger.",
|
||
"data": {
|
||
"home_id": "Hjem-ID"
|
||
},
|
||
"title": "Velg et hjem",
|
||
"submit": "Velg hjem"
|
||
},
|
||
"reauth_confirm": {
|
||
"title": "Autentiser Tibber Prisintegrasjonen på nytt",
|
||
"description": "Tilgangstokenet for Tibber er ikke lenger gyldig. Vennligst oppgi et nytt API-tilgangstoken for å fortsette å bruke denne integrasjonen.\n\nFor å generere et nytt API-tilgangstoken, besøk https://developer.tibber.com.",
|
||
"data": {
|
||
"access_token": "API-tilgangstoken"
|
||
},
|
||
"submit": "Oppdater token"
|
||
}
|
||
},
|
||
"error": {
|
||
"auth": "Tibber-tilgangstokenet er ugyldig.",
|
||
"connection": "Kunne ikke koble til Tibber. Vennligst sjekk internettforbindelsen din.",
|
||
"unknown": "Uventet feil",
|
||
"cannot_connect": "Kunne ikke koble til",
|
||
"invalid_access_token": "Ugyldig tilgangstoken",
|
||
"missing_homes": "Det nye tilgangstokenet har ikke tilgang til alle konfigurerte hjem. Vennligst bruk et tilgangstoken som har tilgang til de samme Tibber-hjemmene.",
|
||
"home_already_configured": "Dette hjemmet er allerede konfigurert i en annen oppføring. Hvert hjem kan kun konfigureres én gang.",
|
||
"no_active_subscription": "Dette hjemmet har ikke en aktiv Tibber-kontrakt. Bare hjem med aktive strømkontrakter kan legges til Home Assistant.",
|
||
"subscription_expired": "Tibber-kontrakten for dette hjemmet har utløpt. Bare hjem med aktive eller fremtidige strømkontrakter kan legges til Home Assistant.",
|
||
"future_subscription_warning": "Merk: Tibber-kontrakten for dette hjemmet har ikke startet ennå. Funksjonaliteten kan være begrenset til kontrakten blir aktiv.",
|
||
"invalid_yaml_syntax": "Ugyldig YAML-syntaks. Vennligst sjekk innrykk, kolon og spesialtegn.",
|
||
"invalid_yaml_structure": "YAML må være en ordbok/objekt (nøkkel: verdi-par), ikke en liste eller ren tekst.",
|
||
"service_call_failed": "Service-kall validering feilet: {error_detail}",
|
||
"missing_entry_id": "Oppførings-ID er påkrevd, men ble ikke oppgitt.",
|
||
"invalid_entry_id": "Ugyldig oppførings-ID eller oppføring ikke funnet.",
|
||
"missing_home_id": "Hjem-ID mangler fra konfigurasjonsoppføringen.",
|
||
"user_data_not_available": "Brukerdata er ikke tilgjengelig. Vennligst oppdater brukerdata først.",
|
||
"price_fetch_failed": "Kunne ikke hente prisdata. Vennligst sjekk loggene for detaljer."
|
||
},
|
||
"abort": {
|
||
"already_configured": "Alle tilgjengelige Tibber-hjem er allerede konfigurert. Hvert hjem kan kun konfigureres én gang.",
|
||
"entry_not_found": "Tibber-konfigurasjonsoppføring ikke funnet.",
|
||
"setup_complete": "Oppsett fullført! Du kan endre ytterligere alternativer for Tibber Prices i integrasjonens alternativer etter å ha lukket denne dialogen.",
|
||
"reauth_successful": "Ny autentisering vellykket. Integrasjonen har blitt oppdatert med det nye tilgangstokenet."
|
||
}
|
||
},
|
||
"common": {
|
||
"step_progress": "{step_num} / {total_steps}"
|
||
},
|
||
"config_subentries": {
|
||
"home": {
|
||
"entry_type": "Tidsreisevisning",
|
||
"initiate_flow": {
|
||
"user": "Opprett tidsreisevisning"
|
||
},
|
||
"title": "Opprett tidsreisevisning",
|
||
"step": {
|
||
"user": {
|
||
"title": "Velg konfigurasjonsoppføring",
|
||
"description": "Velg konfigurasjonsoppføringen du vil opprette en tidsreisevisning for.\n\n**Tidsreisevisninger** lar deg se historiske prisdata som om det var nåværende tid. Dette er nyttig for å teste automatiseringer eller analysere tidligere prismønstre.",
|
||
"data": {
|
||
"parent_entry_id": "Konfigurasjonsoppføring"
|
||
}
|
||
},
|
||
"time_offset": {
|
||
"title": "Konfigurer tidsforskyvning",
|
||
"description": "Konfigurer hvor langt tilbake i tid denne visningen skal reise.\n\n**Anbefalt:** Bruk **≥2 dager** forskyvning for å unngå konflikter med \"yesterday\"-entiteter som også gir historiske data.\n\n**Eksempler:**\n• **-7 dager**: Vis priser fra 7 dager siden\n• **-2 dager, 3 timer**: Vis priser fra 2 dager og 3 timer siden\n• **-14 dager**: Vis priser fra 2 uker siden",
|
||
"data": {
|
||
"virtual_time_offset_days": "Dager tilbake",
|
||
"time_offset": "Ekstra tidsforskyvning"
|
||
},
|
||
"data_description": {
|
||
"virtual_time_offset_days": "Hvor mange dager å reise tilbake i tid. Glidebryter-område: 0 til 374 dager (≈1 år). Anbefalt: ≥2 dager for å unngå konflikter med \"yesterday\"-entiteter.",
|
||
"time_offset": "Valgfri finjustering: Legg til timer og/eller minutter til dagesforskyvningen. Tiden trekkes automatisk fra (reis lenger tilbake). Merk: Sekunder ignoreres - kun minuttbasert presisjon støttes."
|
||
}
|
||
},
|
||
"init": {
|
||
"title": "Konfigurer tidsforskyvning på nytt",
|
||
"description": "Oppdater tidsforskyvningen for denne tidsreisevisningen.",
|
||
"data": {
|
||
"virtual_time_offset_days": "Dager tilbake",
|
||
"time_offset": "Ekstra tidsforskyvning"
|
||
},
|
||
"data_description": {
|
||
"virtual_time_offset_days": "Hvor mange dager å reise tilbake i tid. Glidebryter-område: 0 til 374 dager (≈1 år). Anbefalt: ≥2 dager for å unngå konflikter med \"yesterday\"-entiteter.",
|
||
"time_offset": "Valgfri finjustering: Legg til timer og/eller minutter til dagesforskyvningen. Tiden trekkes automatisk fra (reis lenger tilbake). Merk: Sekunder ignoreres - kun minuttbasert presisjon støttes."
|
||
}
|
||
}
|
||
},
|
||
"error": {
|
||
"no_time_offset": "Minst én tidsforskyvningsverdi må være negativ (kun historiske data)."
|
||
},
|
||
"abort": {
|
||
"already_configured": "**En tidsreisevisning med denne eksakte tidsforskyvningen eksisterer allerede.**\n\nVelg en annen forskyvning.",
|
||
"no_main_entries": "Ingen hovedkonfigurasjonsoppføringer funnet. Legg til et Tibber-hjem først.",
|
||
"parent_entry_not_found": "Valgt konfigurasjonsoppføring ikke funnet."
|
||
}
|
||
}
|
||
},
|
||
"options": {
|
||
"step": {
|
||
"init": {
|
||
"menu_options": {
|
||
"general_settings": "⚙️ Generelle innstillinger",
|
||
"display_settings": "💱 Valutavisning",
|
||
"current_interval_price_rating": "📊 Prisvurdering",
|
||
"price_level": "🏷️ Prisnivå",
|
||
"volatility": "💨 Prisvolatilitet",
|
||
"best_price": "💚 Beste prisperiode",
|
||
"peak_price": "🔴 Toppprisperiode",
|
||
"price_trend": "📈 Pristrend",
|
||
"chart_data_export": "📊 Diagramdata-eksportsensor",
|
||
"reset_to_defaults": "🔄 Tilbakestill til standard",
|
||
"finish": "⬅️ Tilbake"
|
||
}
|
||
},
|
||
"general_settings": {
|
||
"title": "⚙️ Generelle innstillinger",
|
||
"description": "**Konfigurer generelle innstillinger for Tibber prisinformasjon og vurderinger.**\n\n---\n\n**Bruker:** {user_login}",
|
||
"data": {
|
||
"extended_descriptions": "Utvidede beskrivelser",
|
||
"average_sensor_display": "Gjennomsnittssensor-visning"
|
||
},
|
||
"data_description": {
|
||
"extended_descriptions": "Styrer om entitetsattributter inkluderer detaljerte forklaringer og brukstips.\n\n• Deaktivert (standard): Bare kort beskrivelse\n• Aktivert: Detaljert forklaring + praktiske brukseksempler\n\nEksempel:\nDeaktivert = 1 attributt\nAktivert = 2 ekstra attributter",
|
||
"average_sensor_display": "Velg hvilket statistisk mål som skal vises i sensortilstanden for gjennomsnittspris-sensorer. Den andre verdien vises som attributt.\n\n• **Median (standard)**: Viser den 'typiske' prisen, motstandsdyktig mot ekstreme topper - best for visning og menneskelig tolkning\n• **Aritmetisk gjennomsnitt**: Viser det sanne matematiske gjennomsnittet inkludert alle priser - best når du trenger eksakte kostnadsberegninger\n\nFor automatiseringer, bruk attributtet `price_mean` eller `price_median` for å få tilgang til begge verdier uavhengig av denne innstillingen."
|
||
},
|
||
"submit": "↩ Lagre & tilbake"
|
||
},
|
||
"display_settings": {
|
||
"title": "💱 Valutavisningsinnstillinger",
|
||
"description": "_{step_progress}_\n\n**Konfigurer hvordan strømpriser vises - i basisvaluta (€, kr) eller underenhet (ct, øre).**\n\n---",
|
||
"data": {
|
||
"currency_display_mode": "Visningsmodus"
|
||
},
|
||
"data_description": {
|
||
"currency_display_mode": "Velg hvordan priser vises:\n\n• **Basisvaluta** (€/kWh, kr/kWh): Desimalverdier (f.eks. 0,25 €/kWh) - forskjeller synlige fra 3.-4. desimalplass\n• **Underenhet** (ct/kWh, øre/kWh): Større verdier (f.eks. 25,00 ct/kWh) - forskjeller allerede synlige fra 1. desimalplass\n\nStandard avhenger av valutaen din:\n• EUR → Underenhet (cent) - tysk/nederlandsk preferanse\n• NOK/SEK/DKK → Basisvaluta (kroner) - skandinavisk preferanse\n• USD/GBP → Basisvaluta\n\n**💡 Tips:** Ved valg av underenhet kan du aktivere den ekstra sensoren \"Nåværende strømpris (Energi-dashboard)\" (deaktivert som standard)."
|
||
},
|
||
"submit": "↩ Lagre & tilbake"
|
||
},
|
||
"current_interval_price_rating": {
|
||
"title": "📊 Prisvurderingsinnstillinger",
|
||
"description": "**Konfigurer terskler og stabilisering for prisvurderingsnivåer (lav/normal/høy) basert på sammenligning med etterfølgende 24-timers gjennomsnitt.**",
|
||
"data": {
|
||
"price_rating_threshold_low": "Lav-terskel",
|
||
"price_rating_threshold_high": "Høy-terskel",
|
||
"price_rating_hysteresis": "Hysterese",
|
||
"price_rating_gap_tolerance": "Gap-toleranse"
|
||
},
|
||
"data_description": {
|
||
"price_rating_threshold_low": "Prosentverdi for hvor mye gjeldende pris må være under det etterfølgende 24-timers gjennomsnittet for å kvalifisere som 'lav' vurdering. Eksempel: -10 betyr minst 10% under gjennomsnitt. Sensorer med denne vurderingen indikerer gunstige tidsvinduer. Standard: -10%",
|
||
"price_rating_threshold_high": "Prosentverdi for hvor mye gjeldende pris må være over det etterfølgende 24-timers gjennomsnittet for å kvalifisere som 'høy' vurdering. Eksempel: 10 betyr minst 10% over gjennomsnitt. Sensorer med denne vurderingen advarer om dyre tidsvinduer. Standard: 10%",
|
||
"price_rating_hysteresis": "Prosentbånd rundt terskler for å unngå raske tilstandsendringer. Når vurderingen allerede er LAV, må prisen stige over (terskel + hysterese) for å bytte til NORMAL. Tilsvarende krever HØY at prisen faller under (terskel - hysterese) for å forlate tilstanden. Dette gir stabilitet for automatiseringer som reagerer på vurderingsendringer. Sett til 0 for å deaktivere. Standard: 2%",
|
||
"price_rating_gap_tolerance": "Maksimalt antall påfølgende intervaller som kan 'jevnes ut' hvis de avviker fra omkringliggende vurderinger. Små isolerte vurderingsendringer slås sammen med den dominerende nabogruppen. Dette gir stabilitet for automatiseringer ved å forhindre at korte vurderingstopper utløser unødvendige handlinger. Eksempel: 1 betyr at et enkelt 'normal'-intervall omgitt av 'høy'-intervaller korrigeres til 'høy'. Sett til 0 for å deaktivere. Standard: 1"
|
||
},
|
||
"submit": "↩ Lagre & tilbake"
|
||
},
|
||
"best_price": {
|
||
"title": "💚 Beste Prisperiode Innstillinger",
|
||
"description": "**Konfigurer innstillinger for Beste Prisperiode binærsensor. Denne sensoren er aktiv i perioder med de laveste strømprisene.**\n\n---",
|
||
"sections": {
|
||
"period_settings": {
|
||
"name": "Periodeinnstillinger",
|
||
"description": "Konfigurer periodelengde og prisnivåbegrensninger.",
|
||
"data": {
|
||
"best_price_min_period_length": "Minimum periodelengde",
|
||
"best_price_max_level": "Prisnivåfilter",
|
||
"best_price_max_level_gap_count": "Gaptoleranse"
|
||
},
|
||
"data_description": {
|
||
"best_price_min_period_length": "Minimum varighet for at en periode skal regnes som 'beste pris'. Lengre perioder er mer praktiske for å kjøre apparater som oppvaskmaskiner eller varmepumper. Beste pris-perioder krever minimum 60 minutter (sammenlignet med 30 minutter for topppris-advarsler) fordi de skal gi meningsfulle tidsvinduer for forbruksplanlegging, ikke bare kortvarige muligheter.",
|
||
"best_price_max_level": "Vis kun beste pris-perioder hvis de inneholder intervaller med prisnivåer ≤ valgt verdi. For eksempel: å velge '**Billig**' betyr at perioden må ha minst étt '**Veldig billig**' eller '**Billig**' intervall. Dette sikrer at 'beste pris'-perioder ikke bare er relativt billige for dagen, men faktisk billige i absolutte tall. Velg '**Alle**' for å vise beste priser uavhengig av deres absolutte prisnivå.",
|
||
"best_price_max_level_gap_count": "Maksimalt antall påfølgende intervaller som kan avvike med nøyaktig étt nivåtrinn fra det nødvendige nivået. For eksempel: med '**Billig**' filter og gapantall 1, aksepteres sekvensen '**Billig**, **Billig**, **Normal**, **Billig**' (**Normal** er étt trinn over **Billig**). Dette forhindrer at perioder blir delt opp av tilfeldige nivåavvik. **Merk:** Gaptoleranse krever perioder ≥90 minutter (6 intervaller) for å oppdage avvik effektivt. Standard: 0 (streng filtrering, ingen toleranse)."
|
||
}
|
||
},
|
||
"flexibility_settings": {
|
||
"name": "Fleksibilitetsinnstillinger",
|
||
"description": "Konfigurer prissammenligningsgrenser og filtrering.",
|
||
"data": {
|
||
"best_price_flex": "Fleksibilitet",
|
||
"best_price_min_distance_from_avg": "Minimumsavstand"
|
||
},
|
||
"data_description": {
|
||
"best_price_flex": "Maksimalt over den daglige minimumsprisen der intervaller fortsatt kvalifiserer som 'beste pris'. Anbefalt: 15-20 med lemping aktivert (standard), eller 25-35 uten lemping. Maksimum: 50 (hard grense for pålitelig periodegjenkjenning).",
|
||
"best_price_min_distance_from_avg": "Sikrer at perioder er betydelig billigere enn daglig gjennomsnitt, ikke bare marginalt under det. Dette filtrerer støy og forhindrer at litt-under-gjennomsnittet perioder markeres som 'beste pris' på dager med flate priser. Høyere verdier = strengere filtrering (bare virkelig billige perioder kvalifiserer). Standard: 5 betyr at perioder må være minst 5% under daglig gjennomsnitt."
|
||
}
|
||
},
|
||
"relaxation_and_target_periods": {
|
||
"name": "Lemping & Målperioder",
|
||
"description": "Konfigurer automatisk filterlemping og målperiodeantall. Aktiver 'Oppnå minimumsantall' for å aktivere lemping.",
|
||
"data": {
|
||
"enable_min_periods_best": "Oppnå minimumsantall",
|
||
"min_periods_best": "Minimumsperioder",
|
||
"relaxation_attempts_best": "Lempingsforsøk"
|
||
},
|
||
"data_description": {
|
||
"enable_min_periods_best": "Når aktivert vil filtre gradvis bli lempet hvis ikke nok perioder blir funnet. Dette forsøker å nå det ønskede minimumsantall perioder, som kan inkludere mindre optimale tidsvinduer som beste pris-perioder.",
|
||
"min_periods_best": "Minimumsantall beste pris-perioder å sikte på per dag. Filtre vil bli lempet steg for steg for å forsøke å oppnå dette antallet. Kun aktiv når 'Oppnå minimumsantall' er aktivert. Standard: 1",
|
||
"relaxation_attempts_best": "Hvor mange fleksnivåer (forsøk) å prøve før man gir opp. Hvert forsøk kjører alle filterkombinasjoner på det nye fleksnivået. Flere forsøk øker sjansen for å finne flere perioder på bekostning av lengre behandlingstid."
|
||
}
|
||
}
|
||
},
|
||
"submit": "↩ Lagre & tilbake"
|
||
},
|
||
"peak_price": {
|
||
"title": "🔴 Toppprisperiode Innstillinger",
|
||
"description": "**Konfigurer innstillinger for Toppprisperiode binærsensor. Denne sensoren er aktiv i perioder med de høyeste strømprisene.**\n\n---",
|
||
"sections": {
|
||
"period_settings": {
|
||
"name": "Periodeinnstillinger",
|
||
"description": "Konfigurer periodelengde og prisnivåbegrensninger.",
|
||
"data": {
|
||
"peak_price_min_period_length": "Minimum periodelengde",
|
||
"peak_price_min_level": "Prisnivåfilter",
|
||
"peak_price_max_level_gap_count": "Gaptoleranse"
|
||
},
|
||
"data_description": {
|
||
"peak_price_min_period_length": "Minimum varighet for at en periode skal regnes som 'topppris'. Topppris-advarsler er tillatt for kortere perioder (minimum 30 minutter sammenlignet med 60 minutter for beste pris) fordi korte dyre topper er verdt å advare om, selv om de er for korte for forbruksplanlegging.",
|
||
"peak_price_min_level": "Vis kun topprisperioder hvis de inneholder intervaller med prisnivåer ≥ valgt verdi. For eksempel: å velge '**Dyr**' betyr at perioden må ha minst étt '**Dyr**' eller '**Veldig dyr**' intervall. Dette sikrer at 'topppris'-perioder ikke bare er relativt dyre for dagen, men faktisk dyre i absolutte tall. Velg '**Alle**' for å vise topppriser uavhengig av deres absolutte prisnivå.",
|
||
"peak_price_max_level_gap_count": "Maksimalt antall påfølgende intervaller som kan avvike med nøyaktig étt nivåtrinn fra det nødvendige nivået. For eksempel: med '**Dyr**' filter og gapantall 1, aksepteres sekvensen '**Dyr**, **Dyr**, **Normal**, **Dyr**' (**Normal** er étt trinn under **Dyr**). Dette forhindrer at perioder blir delt opp av tilfeldige nivåavvik. **Merk:** Gaptoleranse krever perioder ≥90 minutter (6 intervaller) for å oppdage avvik effektivt. Standard: 0 (streng filtrering, ingen toleranse)."
|
||
}
|
||
},
|
||
"flexibility_settings": {
|
||
"name": "Fleksibilitetsinnstillinger",
|
||
"description": "Konfigurer prissammenligningskriterier og filtrering.",
|
||
"data": {
|
||
"peak_price_flex": "Fleksibilitet",
|
||
"peak_price_min_distance_from_avg": "Minimumsavstand"
|
||
},
|
||
"data_description": {
|
||
"peak_price_flex": "Maksimalt under den daglige maksimumsprisen der intervaller fortsatt kvalifiserer som 'topppris'. Anbefaling: -15 til -20 med lemping aktivert (standard), eller -25 til -35 uten lemping. Maksimum: -50 (hard grense for pålitelig periodegjenkjenning). Merk: Negative verdier angir avstand under maksimum.",
|
||
"peak_price_min_distance_from_avg": "Sikrer at perioder er betydelig dyrere enn daglig gjennomsnitt, ikke bare marginalt over det. Dette filtrerer støy og forhindrer at litt-over-gjennomsnittet perioder markeres som 'topppris' på dager med flate priser. Høyere verdier = strengere filtrering (bare virkelig dyre perioder kvalifiserer). Standard: 5 betyr at perioder må være minst 5% over daglig gjennomsnitt."
|
||
}
|
||
},
|
||
"relaxation_and_target_periods": {
|
||
"name": "Lemping & målperioder",
|
||
"description": "Konfigurer automatisk filterlempelse og målperioder. Aktiver 'Prøv å oppnå minimum antall perioder' for å aktivere lemping.",
|
||
"data": {
|
||
"enable_min_periods_peak": "Prøv å oppnå minimum antall perioder",
|
||
"min_periods_peak": "Minimum antall perioder",
|
||
"relaxation_attempts_peak": "Antall lempingsforsøk"
|
||
},
|
||
"data_description": {
|
||
"enable_min_periods_peak": "Når aktivert vil filtrene gradvis bli lempeligere hvis det ikke blir funnet nok perioder. Dette forsøker å nå ønsket minimum antall perioder for å sikre at du blir advart om dyre perioder selv på dager med uvanlige prismønstre.",
|
||
"min_periods_peak": "Minimum antall topp-pris-perioder å sikte mot per dag. Filtre vil bli lempet trinn for trinn for å prøve å oppnå dette antallet. Kun aktiv når 'Prøv å oppnå minimum antall perioder' er aktivert. Standard: 1",
|
||
"relaxation_attempts_peak": "Hvor mange fleksnivåer (forsøk) som testes før vi gir opp. Hvert forsøk kjører alle filterkombinasjoner på det nye fleksnivået. Flere forsøk øker sjansen for ekstra toppprisperioder, men tar litt lengre tid."
|
||
}
|
||
}
|
||
},
|
||
"submit": "↩ Lagre & tilbake"
|
||
},
|
||
"price_trend": {
|
||
"title": "📈 Pristrendterskler",
|
||
"description": "**Konfigurer terskler for pristrendsensorer. Disse sensorene sammenligner nåværende pris med gjennomsnittet av de neste N timene for å bestemme om prisene stiger sterkt, stiger, er stabile, faller eller faller sterkt.**",
|
||
"data": {
|
||
"price_trend_threshold_rising": "Stigende terskel",
|
||
"price_trend_threshold_strongly_rising": "Sterkt stigende terskel",
|
||
"price_trend_threshold_falling": "Fallende terskel",
|
||
"price_trend_threshold_strongly_falling": "Sterkt fallende terskel"
|
||
},
|
||
"data_description": {
|
||
"price_trend_threshold_rising": "Prosentverdi som gjennomsnittet av de neste N timene må være over den nåværende prisen for å kvalifisere som 'stigende' trend. Eksempel: 3 betyr gjennomsnittet er minst 3% høyere → prisene vil stige. Typiske verdier: 3-10%. Standard: 3%",
|
||
"price_trend_threshold_strongly_rising": "Prosentverdi som gjennomsnittet av de neste N timene må være over den nåværende prisen for å kvalifisere som 'sterkt stigende' trend. Må være høyere enn stigende terskel. Typiske verdier: 6-20%. Standard: 6%",
|
||
"price_trend_threshold_falling": "Prosentverdi (negativ) som gjennomsnittet av de neste N timene må være under den nåværende prisen for å kvalifisere som 'synkende' trend. Eksempel: -3 betyr gjennomsnittet er minst 3% lavere → prisene vil falle. Typiske verdier: -3 til -10%. Standard: -3%",
|
||
"price_trend_threshold_strongly_falling": "Prosentverdi (negativ) som gjennomsnittet av de neste N timene må være under den nåværende prisen for å kvalifisere som 'sterkt synkende' trend. Må være lavere (mer negativ) enn fallende terskel. Typiske verdier: -6 til -20%. Standard: -6%"
|
||
},
|
||
"submit": "↩ Lagre & tilbake"
|
||
},
|
||
"volatility": {
|
||
"title": "💨 Volatilitets-terskler",
|
||
"description": "**Konfigurer terskler for volatilitetsklassifisering.** Volatilitet måler relativ prisvariation ved hjelp av variasjonskoeffisienten (VK = standardavvik / gjennomsnitt × 100%). Disse tersklene er prosentverdier som fungerer på tvers av alle prisnivåer.\n\nBrukes av:\n• Volatilitetssensorer (klassifisering)\n• Trendsensorer (adaptiv terskel justering: <moderat = mer følsom, ≥høy = mindre følsom)",
|
||
"data": {
|
||
"volatility_threshold_moderate": "Moderat terskel",
|
||
"volatility_threshold_high": "Høy terskel",
|
||
"volatility_threshold_very_high": "Veldig høy terskel"
|
||
},
|
||
"data_description": {
|
||
"volatility_threshold_moderate": "Variasjonskoeffisient (VK) der prisene anses som 'moderat volatile'. VK = (standardavvik / gjennomsnitt) × 100%. Eksempel: 15 betyr prissvingninger på ±15% rundt gjennomsnittet. Sensorer viser denne klassifiseringen, trendsensorer blir mer følsomme. Standard: 15%",
|
||
"volatility_threshold_high": "Variasjonskoeffisient (VK) der prisene anses som 'svært volatile'. Eksempel: 30 betyr prissvingninger på ±30% rundt gjennomsnittet. Større prishopp forventes, trendsensorer blir mindre følsomme. Standard: 30%",
|
||
"volatility_threshold_very_high": "Variasjonskoeffisient (VK) der prisene anses som 'veldig svært volatile'. Eksempel: 50 betyr ekstreme prissvingninger på ±50% rundt gjennomsnittet. På slike dager er sterke pristoppsannsynlige. Standard: 50%"
|
||
},
|
||
"submit": "↩ Lagre & tilbake"
|
||
},
|
||
"chart_data_export": {
|
||
"title": "📊 Diagram-dataeksport Sensor",
|
||
"description": "Diagram-dataeksport-sensoren gir prisdata som sensorattributter.\n\n⚠️ **Merk:** Denne sensoren er en legacy-funksjon for kompatibilitet med eldre verktøy.\n\n**Anbefalt for nye oppsett:** Bruk `tibber_prices.get_chartdata` **tjenesten direkte** - den er mer fleksibel, effektiv og den moderne Home Assistant-tilnærmingen.\n\n**Når denne sensoren gir mening:**\n\n✅ Dashboardverktøyet ditt kan **kun** lese attributter (ingen tjenestekall)\n✅ Du trenger statiske data som oppdateres automatisk\n❌ **Ikke for automatiseringer:** Bruk `tibber_prices.get_chartdata` direkte der - mer fleksibel og effektiv!\n\n---\n\n**Aktiver sensoren:**\n\n1. Åpne **Innstillinger → Enheter og tjenester → Tibber Prices**\n2. Velg ditt hjem → Finn **'Diagramdataeksport'** (Diagnostikk-seksjonen)\n3. **Aktiver sensoren** (deaktivert som standard)\n\n**Konfigurasjon (valgfritt):**\n\nStandardinnstillinger fungerer umiddelbart (i dag+i morgen, 15-minutters intervaller, bare priser).\n\nFor tilpasning, legg til 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**Alle parametere:** Se `tibber_prices.get_chartdata` tjenestens dokumentasjon",
|
||
"submit": "↩ Ok & tilbake"
|
||
},
|
||
"reset_to_defaults": {
|
||
"title": "🔄 Tilbakestill til standard",
|
||
"description": "⚠️ **Advarsel:** Dette vil tilbakestille **ALLE** innstillinger til fabrikkstandard.\n\n**Hva vil bli tilbakestilt:**\n• Alle prisvurderingsterskler\n• Alle volatilitetsterskler\n• Alle pristrendterskler\n• Alle innstillinger for beste prisperiode\n• Alle innstillinger for toppprisperiode\n• Visningsinnstillinger\n• Generelle innstillinger\n\n**Hva vil IKKE bli tilbakestilt:**\n• Ditt Tibber API-token\n• Valgt hjem\n• Valuta\n\n**💡 Tips:** Dette er nyttig hvis du vil starte på nytt etter å ha eksperimentert med innstillinger.",
|
||
"data": {
|
||
"confirm_reset": "Ja, tilbakestill alt til standard"
|
||
},
|
||
"submit": "Tilbakestill nå"
|
||
},
|
||
"price_level": {
|
||
"title": "🏷️ Prisnivå-innstillinger",
|
||
"description": "**Konfigurer stabilisering for Tibbers prisnivå-klassifisering (veldig billig/billig/normal/dyr/veldig dyr).**\n\nTibbers API gir et prisnivå-felt for hvert intervall. Denne innstillingen jevner ut korte svingninger for å forhindre ustabilitet i automatiseringer.",
|
||
"data": {
|
||
"price_level_gap_tolerance": "Gap-toleranse"
|
||
},
|
||
"data_description": {
|
||
"price_level_gap_tolerance": "Maksimalt antall påfølgende intervaller som kan 'jevnes ut' hvis de avviker fra omkringliggende prisnivåer. Små isolerte nivåendringer slås sammen med den dominerende nabogruppen. Eksempel: 1 betyr at et enkelt 'normal'-intervall omgitt av 'billig'-intervaller korrigeres til 'billig'. Sett til 0 for å deaktivere. Standard: 1"
|
||
},
|
||
"submit": "↩ Lagre & tilbake"
|
||
}
|
||
},
|
||
"error": {
|
||
"auth": "Tibber-tilgangstokenet er ugyldig.",
|
||
"connection": "Kunne ikke koble til Tibber. Vennligst sjekk internettforbindelsen din.",
|
||
"unknown": "En uventet feil oppstod. Vennligst sjekk loggene for detaljer.",
|
||
"cannot_connect": "Kunne ikke koble til",
|
||
"invalid_access_token": "Ugyldig tilgangstoken",
|
||
"different_home": "Tilgangstokenet er ikke gyldig for hjem-ID-en denne integrasjonen er konfigurert for.",
|
||
"invalid_flex": "Fleksibilitetsprosent må være mellom -50% og +50%",
|
||
"invalid_best_price_distance": "Avstandsprosent må være mellom -50% og 0% (negativ = under gjennomsnitt)",
|
||
"invalid_peak_price_distance": "Avstandsprosent må være mellom 0% og 50% (positiv = over gjennomsnitt)",
|
||
"invalid_min_periods": "Minimumsantall perioder må være mellom 1 og 10",
|
||
"invalid_period_length": "Periodelengden må være minst 15 minutter (multipler av 15).",
|
||
"invalid_gap_count": "Gaptoleranse må være mellom 0 og 8",
|
||
"invalid_relaxation_attempts": "Lempingsforsøk må være mellom 1 og 12",
|
||
"invalid_price_rating_low": "Lav prisvurderingsgrense må være mellom -50% og -5%",
|
||
"invalid_price_rating_high": "Høy prisvurderingsgrense må være mellom 5% og 50%",
|
||
"invalid_price_rating_thresholds": "Lav grense må være mindre enn høy grense",
|
||
"invalid_volatility_threshold_moderate": "Moderat volatilitetsgrense må være mellom 5% og 25%",
|
||
"invalid_volatility_threshold_high": "Høy volatilitetsgrense må være mellom 20% og 40%",
|
||
"invalid_volatility_threshold_very_high": "Svært høy volatilitetsgrense må være mellom 35% og 80%",
|
||
"invalid_volatility_thresholds": "Grensene må være i stigende rekkefølge: moderat < høy < svært høy",
|
||
"invalid_price_trend_rising": "Stigende trendgrense må være mellom 1% og 50%",
|
||
"invalid_price_trend_falling": "Fallende trendgrense må være mellom -50% og -1%",
|
||
"invalid_price_trend_strongly_rising": "Sterkt stigende trendgrense må være mellom 2% og 100%",
|
||
"invalid_price_trend_strongly_falling": "Sterkt fallende trendgrense må være mellom -100% og -2%",
|
||
"invalid_trend_strongly_rising_less_than_rising": "Sterkt stigende-grense må være høyere enn stigende-grense",
|
||
"invalid_trend_strongly_falling_greater_than_falling": "Sterkt fallende-grense må være lavere (mer negativ) enn fallende-grense"
|
||
},
|
||
"abort": {
|
||
"entry_not_found": "Tibber-konfigurasjonsoppføring ikke funnet.",
|
||
"reset_cancelled": "Tilbakestilling avbrutt. Ingen endringer ble gjort i konfigurasjonen din.",
|
||
"reset_successful": "✅ Alle innstillinger har blitt tilbakestilt til fabrikkstandard. Konfigurasjonen din er nå som en ny installasjon.",
|
||
"finished": "Konfigurasjon fullført."
|
||
}
|
||
},
|
||
"entity": {
|
||
"sensor": {
|
||
"current_interval_price": {
|
||
"name": "Nåværende strømpris"
|
||
},
|
||
"current_interval_price_base": {
|
||
"name": "Nåværende strømpris (Energi-dashboard)"
|
||
},
|
||
"next_interval_price": {
|
||
"name": "Neste strømpris"
|
||
},
|
||
"previous_interval_price": {
|
||
"name": "Forrige strømpris"
|
||
},
|
||
"current_hour_average_price": {
|
||
"name": "⌀ Timepris nåværende"
|
||
},
|
||
"next_hour_average_price": {
|
||
"name": "⌀ Timepris neste"
|
||
},
|
||
"current_interval_price_level": {
|
||
"name": "Nåværende prisnivå",
|
||
"state": {
|
||
"very_cheap": "Veldig billig",
|
||
"cheap": "Billig",
|
||
"normal": "Normal",
|
||
"expensive": "Dyr",
|
||
"very_expensive": "Veldig dyr"
|
||
}
|
||
},
|
||
"next_interval_price_level": {
|
||
"name": "Neste prisnivå",
|
||
"state": {
|
||
"very_cheap": "Veldig billig",
|
||
"cheap": "Billig",
|
||
"normal": "Normal",
|
||
"expensive": "Dyr",
|
||
"very_expensive": "Veldig dyr"
|
||
}
|
||
},
|
||
"previous_interval_price_level": {
|
||
"name": "Forrige prisnivå",
|
||
"state": {
|
||
"very_cheap": "Veldig billig",
|
||
"cheap": "Billig",
|
||
"normal": "Normal",
|
||
"expensive": "Dyr",
|
||
"very_expensive": "Veldig dyr"
|
||
}
|
||
},
|
||
"current_hour_price_level": {
|
||
"name": "Nåværende timepris nivå",
|
||
"state": {
|
||
"very_cheap": "Veldig billig",
|
||
"cheap": "Billig",
|
||
"normal": "Normal",
|
||
"expensive": "Dyr",
|
||
"very_expensive": "Veldig dyr"
|
||
}
|
||
},
|
||
"next_hour_price_level": {
|
||
"name": "Neste timepris nivå",
|
||
"state": {
|
||
"very_cheap": "Veldig billig",
|
||
"cheap": "Billig",
|
||
"normal": "Normal",
|
||
"expensive": "Dyr",
|
||
"very_expensive": "Veldig dyr"
|
||
}
|
||
},
|
||
"lowest_price_today": {
|
||
"name": "Dagens laveste pris"
|
||
},
|
||
"highest_price_today": {
|
||
"name": "Dagens høyeste pris"
|
||
},
|
||
"average_price_today": {
|
||
"name": "⌀ Pris i dag"
|
||
},
|
||
"lowest_price_tomorrow": {
|
||
"name": "Morgendagens laveste pris"
|
||
},
|
||
"highest_price_tomorrow": {
|
||
"name": "Morgendagens høyeste pris"
|
||
},
|
||
"average_price_tomorrow": {
|
||
"name": "⌀ Pris i morgen"
|
||
},
|
||
"yesterday_price_level": {
|
||
"name": "Prisnivå i går",
|
||
"state": {
|
||
"very_cheap": "Veldig billig",
|
||
"cheap": "Billig",
|
||
"normal": "Normal",
|
||
"expensive": "Dyr",
|
||
"very_expensive": "Veldig dyr"
|
||
}
|
||
},
|
||
"today_price_level": {
|
||
"name": "Prisnivå i dag",
|
||
"state": {
|
||
"very_cheap": "Veldig billig",
|
||
"cheap": "Billig",
|
||
"normal": "Normal",
|
||
"expensive": "Dyr",
|
||
"very_expensive": "Veldig dyr"
|
||
}
|
||
},
|
||
"tomorrow_price_level": {
|
||
"name": "Prisnivå i morgen",
|
||
"state": {
|
||
"very_cheap": "Veldig billig",
|
||
"cheap": "Billig",
|
||
"normal": "Normal",
|
||
"expensive": "Dyr",
|
||
"very_expensive": "Veldig dyr"
|
||
}
|
||
},
|
||
"yesterday_price_rating": {
|
||
"name": "Prisvurdering i går",
|
||
"state": {
|
||
"low": "Lav",
|
||
"normal": "Normal",
|
||
"high": "Høy"
|
||
}
|
||
},
|
||
"today_price_rating": {
|
||
"name": "Prisvurdering i dag",
|
||
"state": {
|
||
"low": "Lav",
|
||
"normal": "Normal",
|
||
"high": "Høy"
|
||
}
|
||
},
|
||
"tomorrow_price_rating": {
|
||
"name": "Prisvurdering i morgen",
|
||
"state": {
|
||
"low": "Lav",
|
||
"normal": "Normal",
|
||
"high": "Høy"
|
||
}
|
||
},
|
||
"trailing_price_average": {
|
||
"name": "⌀ Pris glidende 24t"
|
||
},
|
||
"leading_price_average": {
|
||
"name": "⌀ Pris fremtidig 24t"
|
||
},
|
||
"trailing_price_min": {
|
||
"name": "Glidende 24t minimumspris"
|
||
},
|
||
"trailing_price_max": {
|
||
"name": "Glidende 24t maksimumspris"
|
||
},
|
||
"leading_price_min": {
|
||
"name": "Fremtidig 24t minimumspris"
|
||
},
|
||
"leading_price_max": {
|
||
"name": "Fremtidig 24t maksimumspris"
|
||
},
|
||
"current_interval_price_rating": {
|
||
"name": "Nåværende prisvurdering",
|
||
"state": {
|
||
"low": "Lav",
|
||
"normal": "Normal",
|
||
"high": "Høy"
|
||
}
|
||
},
|
||
"next_interval_price_rating": {
|
||
"name": "Neste prisvurdering",
|
||
"state": {
|
||
"low": "Lav",
|
||
"normal": "Normal",
|
||
"high": "Høy"
|
||
}
|
||
},
|
||
"previous_interval_price_rating": {
|
||
"name": "Forrige prisvurdering",
|
||
"state": {
|
||
"low": "Lav",
|
||
"normal": "Normal",
|
||
"high": "Høy"
|
||
}
|
||
},
|
||
"current_hour_price_rating": {
|
||
"name": "Nåværende timeprisvurdering",
|
||
"state": {
|
||
"low": "Lav",
|
||
"normal": "Normal",
|
||
"high": "Høy"
|
||
}
|
||
},
|
||
"next_hour_price_rating": {
|
||
"name": "Neste timeprisvurdering",
|
||
"state": {
|
||
"low": "Lav",
|
||
"normal": "Normal",
|
||
"high": "Høy"
|
||
}
|
||
},
|
||
"next_avg_1h": {
|
||
"name": "⌀ Pris neste 1t"
|
||
},
|
||
"next_avg_2h": {
|
||
"name": "⌀ Pris neste 2t"
|
||
},
|
||
"next_avg_3h": {
|
||
"name": "⌀ Pris neste 3t"
|
||
},
|
||
"next_avg_4h": {
|
||
"name": "⌀ Pris neste 4t"
|
||
},
|
||
"next_avg_5h": {
|
||
"name": "⌀ Pris neste 5t"
|
||
},
|
||
"next_avg_6h": {
|
||
"name": "⌀ Pris neste 6t"
|
||
},
|
||
"next_avg_8h": {
|
||
"name": "⌀ Pris neste 8t"
|
||
},
|
||
"next_avg_12h": {
|
||
"name": "⌀ Pris neste 12t"
|
||
},
|
||
"price_trend_1h": {
|
||
"name": "Pristrend (1t)",
|
||
"state": {
|
||
"strongly_rising": "Sterkt stigende",
|
||
"rising": "Stigende",
|
||
"stable": "Stabil",
|
||
"falling": "Fallende",
|
||
"strongly_falling": "Sterkt fallende"
|
||
}
|
||
},
|
||
"price_trend_2h": {
|
||
"name": "Pristrend (2t)",
|
||
"state": {
|
||
"strongly_rising": "Sterkt stigende",
|
||
"rising": "Stigende",
|
||
"stable": "Stabil",
|
||
"falling": "Fallende",
|
||
"strongly_falling": "Sterkt fallende"
|
||
}
|
||
},
|
||
"price_trend_3h": {
|
||
"name": "Pristrend (3t)",
|
||
"state": {
|
||
"strongly_rising": "Sterkt stigende",
|
||
"rising": "Stigende",
|
||
"stable": "Stabil",
|
||
"falling": "Fallende",
|
||
"strongly_falling": "Sterkt fallende"
|
||
}
|
||
},
|
||
"price_trend_4h": {
|
||
"name": "Pristrend (4t)",
|
||
"state": {
|
||
"strongly_rising": "Sterkt stigende",
|
||
"rising": "Stigende",
|
||
"stable": "Stabil",
|
||
"falling": "Fallende",
|
||
"strongly_falling": "Sterkt fallende"
|
||
}
|
||
},
|
||
"price_trend_5h": {
|
||
"name": "Pristrend (5t)",
|
||
"state": {
|
||
"strongly_rising": "Sterkt stigende",
|
||
"rising": "Stigende",
|
||
"stable": "Stabil",
|
||
"falling": "Fallende",
|
||
"strongly_falling": "Sterkt fallende"
|
||
}
|
||
},
|
||
"price_trend_6h": {
|
||
"name": "Pristrend (6t)",
|
||
"state": {
|
||
"strongly_rising": "Sterkt stigende",
|
||
"rising": "Stigende",
|
||
"stable": "Stabil",
|
||
"falling": "Fallende",
|
||
"strongly_falling": "Sterkt fallende"
|
||
}
|
||
},
|
||
"price_trend_8h": {
|
||
"name": "Pristrend (8t)",
|
||
"state": {
|
||
"strongly_rising": "Sterkt stigende",
|
||
"rising": "Stigende",
|
||
"stable": "Stabil",
|
||
"falling": "Fallende",
|
||
"strongly_falling": "Sterkt fallende"
|
||
}
|
||
},
|
||
"price_trend_12h": {
|
||
"name": "Pristrend (12t)",
|
||
"state": {
|
||
"strongly_rising": "Sterkt stigende",
|
||
"rising": "Stigende",
|
||
"stable": "Stabil",
|
||
"falling": "Fallende",
|
||
"strongly_falling": "Sterkt fallende"
|
||
}
|
||
},
|
||
"current_price_trend": {
|
||
"name": "Nåværende pristrend",
|
||
"state": {
|
||
"strongly_rising": "Sterkt stigende",
|
||
"rising": "Stigende",
|
||
"stable": "Stabil",
|
||
"falling": "Fallende",
|
||
"strongly_falling": "Sterkt fallende"
|
||
}
|
||
},
|
||
"next_price_trend_change": {
|
||
"name": "Neste trendendring"
|
||
},
|
||
"daily_rating": {
|
||
"name": "Daglig prisvurdering"
|
||
},
|
||
"monthly_rating": {
|
||
"name": "Månedlig prisvurdering"
|
||
},
|
||
"data_lifecycle_status": {
|
||
"name": "Datalivssyklus-status",
|
||
"state": {
|
||
"cached": "Hurtigbufret",
|
||
"fresh": "Fersk",
|
||
"refreshing": "Oppdaterer",
|
||
"searching_tomorrow": "Søker morgendagens data",
|
||
"turnover_pending": "Midnattskifte venter",
|
||
"error": "Feil"
|
||
}
|
||
},
|
||
"today_volatility": {
|
||
"name": "Volatilitet i dag",
|
||
"state": {
|
||
"low": "Lav",
|
||
"moderate": "Moderat",
|
||
"high": "Høy",
|
||
"very_high": "Svært Høy"
|
||
}
|
||
},
|
||
"tomorrow_volatility": {
|
||
"name": "Volatilitet i morgen",
|
||
"state": {
|
||
"low": "Lav",
|
||
"moderate": "Moderat",
|
||
"high": "Høy",
|
||
"very_high": "Svært Høy"
|
||
}
|
||
},
|
||
"next_24h_volatility": {
|
||
"name": "Volatilitet neste 24t",
|
||
"state": {
|
||
"low": "Lav",
|
||
"moderate": "Moderat",
|
||
"high": "Høy",
|
||
"very_high": "Svært Høy"
|
||
}
|
||
},
|
||
"today_tomorrow_volatility": {
|
||
"name": "Volatilitet i dag+i morgen",
|
||
"state": {
|
||
"low": "Lav",
|
||
"moderate": "Moderat",
|
||
"high": "Høy",
|
||
"very_high": "Svært Høy"
|
||
}
|
||
},
|
||
"best_price_end_time": {
|
||
"name": "Beste pris slutter"
|
||
},
|
||
"best_price_period_duration": {
|
||
"name": "Beste pris varighet"
|
||
},
|
||
"best_price_remaining_minutes": {
|
||
"name": "Beste pris gjenværende tid"
|
||
},
|
||
"best_price_progress": {
|
||
"name": "Beste pris fremgang"
|
||
},
|
||
"best_price_next_start_time": {
|
||
"name": "Beste pris starter"
|
||
},
|
||
"best_price_next_in_minutes": {
|
||
"name": "Beste pris starter om"
|
||
},
|
||
"peak_price_end_time": {
|
||
"name": "Topppris slutter"
|
||
},
|
||
"peak_price_period_duration": {
|
||
"name": "Topppris varighet"
|
||
},
|
||
"peak_price_remaining_minutes": {
|
||
"name": "Topppris gjenværende tid"
|
||
},
|
||
"peak_price_progress": {
|
||
"name": "Topppris fremgang"
|
||
},
|
||
"peak_price_next_start_time": {
|
||
"name": "Topppris starter"
|
||
},
|
||
"peak_price_next_in_minutes": {
|
||
"name": "Topppris starter om"
|
||
},
|
||
"home_type": {
|
||
"name": "Boligtype",
|
||
"state": {
|
||
"apartment": "Leilighet",
|
||
"rowhouse": "Rekkehus",
|
||
"house": "Hus",
|
||
"cottage": "Hytte"
|
||
}
|
||
},
|
||
"home_size": {
|
||
"name": "Boligareal"
|
||
},
|
||
"main_fuse_size": {
|
||
"name": "Hovedsikring"
|
||
},
|
||
"number_of_residents": {
|
||
"name": "Antall beboere"
|
||
},
|
||
"primary_heating_source": {
|
||
"name": "Primær varmekilde",
|
||
"state": {
|
||
"air2air_heatpump": "Luft-til-luft-varmepumpe",
|
||
"air2water_heatpump": "Luft-til-vann-varmepumpe",
|
||
"boiler": "Varmtvannsbereder",
|
||
"central_heating": "Sentralvarme",
|
||
"district_heating": "Fjernvarme",
|
||
"district": "Fjernvarme",
|
||
"electric_boiler": "Elektrisk varmtvannsbereder",
|
||
"electricity": "Elektrisitet",
|
||
"floor": "Gulvvarme",
|
||
"gas": "Gass",
|
||
"ground_heatpump": "Jordvarmepumpe",
|
||
"ground": "Jordvarmepumpe",
|
||
"oil": "Olje",
|
||
"other": "Annet",
|
||
"waste": "Spillvarme"
|
||
}
|
||
},
|
||
"grid_company": {
|
||
"name": "Nettselskap"
|
||
},
|
||
"grid_area_code": {
|
||
"name": "Nettområdekode"
|
||
},
|
||
"price_area_code": {
|
||
"name": "Prisområdekode"
|
||
},
|
||
"consumption_ean": {
|
||
"name": "Forbruks-EAN"
|
||
},
|
||
"production_ean": {
|
||
"name": "Produksjons-EAN"
|
||
},
|
||
"energy_tax_type": {
|
||
"name": "Energiavgiftstype"
|
||
},
|
||
"vat_type": {
|
||
"name": "MVA-type"
|
||
},
|
||
"estimated_annual_consumption": {
|
||
"name": "Estimert årlig forbruk"
|
||
},
|
||
"subscription_status": {
|
||
"name": "Abonnementsstatus",
|
||
"state": {
|
||
"running": "Aktiv",
|
||
"ended": "Avsluttet",
|
||
"pending": "Venter",
|
||
"unknown": "Ukjent"
|
||
}
|
||
},
|
||
"chart_data_export": {
|
||
"name": "Diagramdataeksport",
|
||
"state": {
|
||
"pending": "Venter",
|
||
"ready": "Klar",
|
||
"error": "Feil"
|
||
}
|
||
},
|
||
"chart_metadata": {
|
||
"name": "Diagrammetadata",
|
||
"state": {
|
||
"pending": "Venter",
|
||
"ready": "Klar",
|
||
"error": "Feil"
|
||
}
|
||
}
|
||
},
|
||
"binary_sensor": {
|
||
"peak_price_period": {
|
||
"name": "Toppris-periode"
|
||
},
|
||
"best_price_period": {
|
||
"name": "Lavpris-periode"
|
||
},
|
||
"connection": {
|
||
"name": "Tibber API-tilkobling"
|
||
},
|
||
"tomorrow_data_available": {
|
||
"name": "Morgendagens data tilgjengelig"
|
||
},
|
||
"has_ventilation_system": {
|
||
"name": "Har ventilasjonsanlegg"
|
||
},
|
||
"realtime_consumption_enabled": {
|
||
"name": "Sanntidsforbruk aktivert"
|
||
}
|
||
}
|
||
},
|
||
"issues": {
|
||
"new_homes_available": {
|
||
"title": "Nye Tibber-hjem oppdaget",
|
||
"description": "Vi oppdaget {count} nytt/nye hjem på din Tibber-konto: {homes}. Du kan legge dem til i Home Assistant gjennom Tibber-integrasjonskonfigurasjonen."
|
||
},
|
||
"homes_removed": {
|
||
"title": "Tibber-hjem fjernet",
|
||
"description": "Vi oppdaget at {count} hjem har blitt fjernet fra din Tibber-konto: {homes}. Vennligst gjennomgå din Tibber-integrasjonskonfigurasjon."
|
||
},
|
||
"tomorrow_data_missing": {
|
||
"title": "Prisdata for i morgen mangler for {home_name}",
|
||
"description": "Strømprisdata for i morgen er fortsatt utilgjengelig etter {warning_hour}:00. Dette er uvanlig, da Tibber vanligvis publiserer morgendagens priser på ettermiddagen (rundt 13:00-14:00 CET).\n\nMulige årsaker:\n- Tibber har ikke publisert morgendagens priser ennå\n- Midlertidige API-problemer\n- Strømleverandøren din har ikke sendt inn priser til Tibber\n\nDette problemet vil løse seg automatisk når morgendagens data blir tilgjengelig. Hvis dette vedvarer etter 20:00, vennligst sjekk Tibber-appen eller kontakt Tibber-support."
|
||
},
|
||
"rate_limit_exceeded": {
|
||
"title": "API-hastighetsbegrensning overskredet for {home_name}",
|
||
"description": "Tibber-APIet har hastighetsbegrenset denne integrasjonen etter {error_count} påfølgende feil. Dette betyr at forespørsler blir gjort for hyppig.\n\nIntegrasjonen vil automatisk prøve på nytt med økende forsinkelser. Dette problemet vil løse seg når hastighetsbegrensningen utløper.\n\nHvis dette vedvarer i flere timer, vurder:\n- Å sjekke om flere Home Assistant-instanser bruker samme API-token\n- Å verifisere at ingen andre applikasjoner bruker Tibber-API-tokenet ditt mye\n- Å redusere oppdateringsfrekvensen hvis du har tilpasset den"
|
||
},
|
||
"home_not_found": {
|
||
"title": "Hjemmet {home_name} ble ikke funnet i Tibber-kontoen",
|
||
"description": "Hjemmet konfigurert i denne integrasjonen (oppførings-ID: {entry_id}) er ikke lenger tilgjengelig i Tibber-kontoen din. Dette skjer vanligvis når:\n- Hjemmet ble slettet fra Tibber-kontoen din\n- Hjemmet ble flyttet til en annen Tibber-konto\n- Tilgang til dette hjemmet ble tilbakekalt\n\nVennligst fjern denne integrasjonsoppføringen og legg den til på nytt hvis hjemmet fortsatt skal overvåkes. For å fjerne denne oppføringen, gå til Innstillinger → Enheter og tjenester → Tibber Prices og slett {home_name}-konfigurasjonen."
|
||
}
|
||
},
|
||
"services": {
|
||
"get_price": {
|
||
"name": "Hent prisdata",
|
||
"description": "Hent prisdata for et spesifikt tidsrom med automatisk ruting. Utviklings- og testtjeneste for price_info_for_range API-funksjonen. Bruker automatisk PRICE_INFO, PRICE_INFO_RANGE eller begge basert på tidsromgrensen.",
|
||
"fields": {
|
||
"entry_id": {
|
||
"name": "Oppførings-ID",
|
||
"description": "Konfigurasjonsoppførings-IDen for Tibber-integrasjonen."
|
||
},
|
||
"start_time": {
|
||
"name": "Starttid",
|
||
"description": "Start av tidsrommet (inklusiv, tidssonetilpasset)."
|
||
},
|
||
"end_time": {
|
||
"name": "Sluttid",
|
||
"description": "Slutt av tidsrommet (eksklusiv, tidssonetilpasset)."
|
||
}
|
||
}
|
||
},
|
||
"get_apexcharts_yaml": {
|
||
"name": "Hent ApexCharts-kort YAML",
|
||
"description": "⚠️ VIKTIG: Denne tjenesten genererer en GRUNNLEGGENDE EKSEMPEL-konfigurasjon for ApexCharts-kort som et utgangspunkt. Det er IKKE en komplett løsning for alle ApexCharts-funksjoner. Denne integrasjonen er primært en DATALEVERANDØR. Den genererte YAML-en demonstrerer hvordan du bruker `get_chartdata`-tjenesten for å hente prisdata. På grunn av den segmenterte naturen til våre data (forskjellige tidsperioder per serie) og bruken av Home Assistants service-API i stedet for entitetsattributter, er mange avanserte ApexCharts-funksjoner (som in_header, visse transformasjoner) ikke kompatible eller krever manuell tilpasning. Du er velkommen til å tilpasse den genererte YAML for dine spesifikke behov, men vær oppmerksom på at omfattende ApexCharts-konfigurasjonsstøtte er utenfor rammen av denne integrasjonen. Bidrag fra fellesskapet med forbedrede konfigurasjoner er alltid velkomne - hvis du finner en bedre oppsett som fungerer, vennligst del det slik at alle kan dra nytte av det! For direkte datatilgang for å bygge dine egne diagrammer, bruk `get_chartdata`-tjenesten i stedet.",
|
||
"fields": {
|
||
"entry_id": {
|
||
"name": "Oppførings-ID",
|
||
"description": "Konfigureringsoppførings-IDen for Tibber-integrasjonen."
|
||
},
|
||
"day": {
|
||
"name": "Dag",
|
||
"description": "Hvilken dag som skal visualiseres (standard: Rullerende vindu). Faste dagalternativer (I går/I dag/I morgen) viser 24t-spenn uten ekstra avhengigheter. Dynamiske alternativer krever config-template-card: Rullerende vindu lager et fast 48t-vindu som automatisk skifter mellom i går+i dag og i dag+i morgen basert på datatilgjengelighet. Rullerende vindu (Auto-Zoom) oppfører seg likt, men zoomer i tillegg automatisk inn (2t tilbakeblikk + gjenværende tid til midnatt, graph_span reduseres hvert 15. minutt)."
|
||
},
|
||
"level_type": {
|
||
"name": "Nivåtype",
|
||
"description": "Velg hvilken prisnivåklassifisering som skal visualiseres: 'rating_level' (lav/normal/høy basert på dine konfigurerte terskelverdier) eller 'level' (Tibber API-nivåer: veldig billig/billig/normal/dyr/veldig dyr)."
|
||
},
|
||
"highlight_best_price": {
|
||
"name": "Fremhev beste prisperioder",
|
||
"description": "Legg til et halvgjennomsiktig grønt overlegg for å fremheve de beste prisperiodene i diagrammet. Dette gjør det enkelt å visuelt identifisere de optimale tidene for energiforbruk."
|
||
}
|
||
}
|
||
},
|
||
"get_chartdata": {
|
||
"name": "Hent diagramdata",
|
||
"description": "Returnerer prisdata i et enkelt diagramvennlig format kompatibelt med Tibber Core-integrasjonens utdatastruktur. Perfekt for bruk med populære diagramkort som ha-price-timeline-card, ApexCharts Card, Plotly Graph Card, Mini Graph Card eller den innebygde History Graph Card. Feltnavn og datastruktur kan tilpasses for å matche diagrammets krav.",
|
||
"sections": {
|
||
"general": {
|
||
"name": "Generelt",
|
||
"description": "Basisalternativer for henting av diagramdata."
|
||
},
|
||
"selection": {
|
||
"name": "Valg",
|
||
"description": "Velg hvilke data som skal inkluderes i utdataene."
|
||
},
|
||
"filters": {
|
||
"name": "Filtre",
|
||
"description": "Filtrer data basert på prisnivåer, prisvurderinger eller spesielle perioder."
|
||
},
|
||
"transformation": {
|
||
"name": "Transformer data",
|
||
"description": "Transformer datautdataene for bedre diagramkompatibilitet."
|
||
},
|
||
"format": {
|
||
"name": "Format",
|
||
"description": "Tilpass utdataformatet."
|
||
},
|
||
"arrays_of_arrays": {
|
||
"name": "Avanserte utdatainnstillinger: Array av arrays",
|
||
"description": "Innstillinger for utdataformat ved bruk av array av arrays."
|
||
},
|
||
"arrays_of_objects": {
|
||
"name": "Avanserte utdatainnstillinger: Array av objekter",
|
||
"description": "Innstillinger for utdataformat ved bruk av array av objekter."
|
||
}
|
||
},
|
||
"fields": {
|
||
"entry_id": {
|
||
"name": "Oppførings-ID",
|
||
"description": "Konfig-oppførings-ID for Tibber-integrasjonen."
|
||
},
|
||
"day": {
|
||
"name": "Dag",
|
||
"description": "Hvilken dag(er) skal det hentes priser for. Du kan velge flere dager. Hvis ikke angitt, returneres et rullerende 2-dagers vindu: i dag+i morgen (når morgendagens data er tilgjengelig) eller i går+i dag (når morgendagens data ikke er tilgjengelig ennå). Dette gir kontinuerlig diagramvisning uten hull."
|
||
},
|
||
"resolution": {
|
||
"name": "Oppløsning",
|
||
"description": "Tidsoppløsning for de returnerte dataene. Alternativer: 'interval' (standard, 15-minutters intervaller, 96 datapunkter per dag), 'hourly' (timegjennomsnitt, 24 datapunkter per dag)."
|
||
},
|
||
"output_format": {
|
||
"name": "Utdataformat",
|
||
"description": "Utdataformat for de returnerte dataene. Alternativer: 'array_of_objects' (standard, array av objekter med tilpassbare feltnavn), 'array_of_arrays' (array av [tidsstempel, pris]-arrays med avsluttende null-punkt for stepline-diagrammer)."
|
||
},
|
||
"array_fields": {
|
||
"name": "Array-felt",
|
||
"description": "Definer hvilke felt som skal inkluderes. Bruk feltnavn i krøllparenteser, adskilt med komma. Tilgjengelige felt: start_time, price_per_kwh, level, rating_level, average. Felt vil automatisk aktiveres selv om include_*-alternativene ikke er satt. La stå tom for standard (kun tidsstempel og pris)."
|
||
},
|
||
"subunit_currency": {
|
||
"name": "Underenhet valuta",
|
||
"description": "Returner priser i underenhet valutaenheter (øre for NOK/SEK, cent for EUR) i stedet for basisvalutaenheter. Deaktivert som standard."
|
||
},
|
||
"round_decimals": {
|
||
"name": "Rund desimaler",
|
||
"description": "Antall desimalplasser å runde priser til (0-10). Hvis ikke angitt, brukes standard presisjon (4 desimaler for basisvaluta, 2 for underenhet valuta)."
|
||
},
|
||
"include_level": {
|
||
"name": "Inkluder prisnivå",
|
||
"description": "Inkluder Tibber-prisnivåfeltet (veldig billig/billig/normal/dyr/veldig dyr) i hvert datapunkt."
|
||
},
|
||
"include_rating_level": {
|
||
"name": "Inkluder prisvurdering",
|
||
"description": "Inkluder det beregnede prisvurderingsfeltet (lav/normal/høy) basert på dine konfigurerte terskler i hvert datapunkt."
|
||
},
|
||
"include_average": {
|
||
"name": "Inkluder gjennomsnitt",
|
||
"description": "Inkluder daglig gjennomsnittspris i hvert datapunkt for sammenligning."
|
||
},
|
||
"level_filter": {
|
||
"name": "Prisnivåfilter",
|
||
"description": "Filtrer intervaller for å bare inkludere spesifikke Tibber-prisnivåer (veldig billig/billig/normal/dyr/veldig dyr). Hvis ikke angitt, inkluderes alle nivåer."
|
||
},
|
||
"rating_level_filter": {
|
||
"name": "Prisvurderingsfilter",
|
||
"description": "Filtrer intervaller for å inkludere bare spesifikke prisvurderinger (lav/normal/høy). Hvis ikke spesifisert, inkluderes alle vurderinger."
|
||
},
|
||
"period_filter": {
|
||
"name": "Periodefilter",
|
||
"description": "Filtrer intervaller for å inkludere kun de innenfor Beste pris- eller Topp pris-perioder. Alternativer: 'best_price' (kun intervaller i Beste pris-perioder), 'peak_price' (kun intervaller i Topp pris-perioder). Hvis ikke spesifisert, inkluderes alle intervaller. Bruker forhåndsberegnede periodedata fra binære sensorer."
|
||
},
|
||
"insert_nulls": {
|
||
"name": "Sett inn NULL-verdier",
|
||
"description": "Kontroller innsetting av NULL-verdier for filtrerte data. 'none' (standard): Ingen NULL-verdier, bare matchende intervaller. 'segments': Legg til NULL-punkter ved segmentgrenser for rene hull i diagrammer (anbefalt for trinnlinjediagrammer). 'all': Sett inn NULL for alle tidsstempler der filteret ikke samsvarer (nyttig for kontinuerlig tidsserievisualisering)."
|
||
},
|
||
"connect_segments": {
|
||
"name": "Koble segmenter",
|
||
"description": "[KUN MED 'Sett inn NULL-verdier'] Når aktivert, legges tilkoblingspunkter til ved segmentgrenser for å visuelt koble ulike prisnivå-segmenter i trinnlinjediagrammer. Når prisen går NED, legges et punkt med lavere pris til på slutten av gjeldende segment. Når prisen går OPP, legges et holdepunkt til før hullet. Dette skaper jevne visuelle overganger mellom segmenter i stedet for brå hull."
|
||
},
|
||
"add_trailing_null": {
|
||
"name": "Legg til avsluttende null-punkt",
|
||
"description": "Legg til et siste datapunkt med nullverdier (unntatt tidsstempel) på slutten. Noen diagrambiblioteker trenger dette for å forhindre ekstrapolering/interpolering til visningsportens kant ved bruk av trinnlinje-rendering. La være deaktivert med mindre diagrammet ditt krever det."
|
||
},
|
||
"start_time_field": {
|
||
"name": "Starttid-feltnavn",
|
||
"description": "Egendefinert navn for starttid-feltet i utdata. Standard er 'start_time' hvis ikke angitt."
|
||
},
|
||
"end_time_field": {
|
||
"name": "Sluttid-feltnavn",
|
||
"description": "Egendefinert navn for sluttid-feltet i utdata. Standard er 'end_time' hvis ikke angitt. Brukes kun med period_filter."
|
||
},
|
||
"price_field": {
|
||
"name": "Prisfelt-navn",
|
||
"description": "Tilpasset navn for prisfeltet i utdata. Standard er 'price_per_kwh'."
|
||
},
|
||
"level_field": {
|
||
"name": "Prisnivåfelt-navn",
|
||
"description": "Tilpasset navn for prisnivåfeltet i utdata. Standard er 'level'. Brukes bare når include_level er aktivert."
|
||
},
|
||
"rating_level_field": {
|
||
"name": "Prisvurderingsfelt-navn",
|
||
"description": "Tilpasset navn for prisvurderingsfeltet i utdata. Standard er 'rating_level'. Brukes bare når include_rating_level er aktivert."
|
||
},
|
||
"average_field": {
|
||
"name": "Gjennomsnittsfelt-navn",
|
||
"description": "Tilpasset navn for gjennomsnittsfeltet i utdata. Standard er 'average'. Brukes bare når include_average er aktivert."
|
||
},
|
||
"metadata": {
|
||
"name": "Metadata",
|
||
"description": "Kontroller metadata-inkludering i svaret. 'include' (standard): Returnerer både diagramdata og metadata med prisstatistikk, valutainformasjon, Y-akse forslag og tidsperiode. 'only': Returnerer bare metadata uten å behandle diagramdata (raskt, nyttig for dynamisk Y-akse konfigurasjon). 'none': Returnerer bare diagramdata uten metadata."
|
||
},
|
||
"data_key": {
|
||
"name": "Datanøkkel",
|
||
"description": "Tilpasset navn for datanøkkelen på toppnivå i svaret. Standard er 'data' hvis ikke angitt."
|
||
}
|
||
}
|
||
},
|
||
"refresh_user_data": {
|
||
"name": "Oppdater brukerdata",
|
||
"description": "Tvinger en oppdatering av brukerdataene (hjem, profilinformasjon) fra Tibber API. Dette kan være nyttig etter å ha gjort endringer i Tibber-kontoen din eller ved feilsøking av tilkoblingsproblemer.",
|
||
"fields": {
|
||
"entry_id": {
|
||
"name": "Oppførings-ID",
|
||
"description": "Konfig-oppførings-ID for Tibber-integrasjonen."
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"selector": {
|
||
"account_choice": {
|
||
"options": {
|
||
"new_token": "Legg til ny Tibber-konto med API-token"
|
||
}
|
||
},
|
||
"day": {
|
||
"options": {
|
||
"yesterday": "I går",
|
||
"today": "I dag",
|
||
"tomorrow": "I morgen",
|
||
"rolling_window": "Rullerende vindu",
|
||
"rolling_window_autozoom": "Rullerende vindu (Auto-Zoom)"
|
||
}
|
||
},
|
||
"resolution": {
|
||
"options": {
|
||
"interval": "Intervall (15 min)",
|
||
"hourly": "Hver time"
|
||
}
|
||
},
|
||
"output_format": {
|
||
"options": {
|
||
"array_of_objects": "Array av objekter",
|
||
"array_of_arrays": "Array av arrays"
|
||
}
|
||
},
|
||
"level_type": {
|
||
"options": {
|
||
"rating_level": "Vurderingsnivå (lav/normal/høy)",
|
||
"level": "Tibber-nivå (veldig billig til veldig dyr)"
|
||
}
|
||
},
|
||
"level_filter": {
|
||
"options": {
|
||
"very_cheap": "Veldig billig",
|
||
"cheap": "Billig",
|
||
"normal": "Normal",
|
||
"expensive": "Dyr",
|
||
"very_expensive": "Veldig dyr"
|
||
}
|
||
},
|
||
"rating_level_filter": {
|
||
"options": {
|
||
"low": "Lav",
|
||
"normal": "Normal",
|
||
"high": "Høy"
|
||
}
|
||
},
|
||
"insert_nulls": {
|
||
"options": {
|
||
"none": "Ingen",
|
||
"segments": "Segmenter",
|
||
"all": "Alle"
|
||
}
|
||
},
|
||
"period_filter": {
|
||
"options": {
|
||
"best_price": "Beste prisperioder",
|
||
"peak_price": "Topp prisperioder"
|
||
}
|
||
},
|
||
"metadata": {
|
||
"options": {
|
||
"include": "Inkluder (data + metadata)",
|
||
"only": "Kun metadata",
|
||
"none": "Ingen (kun data)"
|
||
}
|
||
},
|
||
"volatility": {
|
||
"options": {
|
||
"low": "Lav",
|
||
"moderate": "Moderat",
|
||
"high": "Høy",
|
||
"very_high": "Svært høy"
|
||
}
|
||
},
|
||
"current_interval_price_level": {
|
||
"options": {
|
||
"any": "Alle",
|
||
"very_cheap": "Svært billig",
|
||
"cheap": "Billig",
|
||
"normal": "Normal",
|
||
"expensive": "Dyr",
|
||
"very_expensive": "Svært dyr"
|
||
}
|
||
},
|
||
"currency_display_mode": {
|
||
"options": {
|
||
"base": "Basisvaluta (€, kr)",
|
||
"subunit": "Underenhet valuta (ct, øre)"
|
||
}
|
||
},
|
||
"average_sensor_display": {
|
||
"options": {
|
||
"median": "Median",
|
||
"mean": "Aritmetisk gjennomsnitt"
|
||
}
|
||
}
|
||
},
|
||
"title": "Tibber Prisinformasjon & Vurderinger"
|
||
}
|