mirror of
https://github.com/jpawlowski/hass.tibber_prices.git
synced 2026-03-30 05:13:40 +00:00
feat(services): rewrite ApexCharts service for modern workflow
Complete overhaul of the ApexCharts integration service layer to support modern chart card workflows with flexible data formatting and filtering. Replaced services: - Removed: get_price, get_apexcharts_data (legacy, entity-based) - Added: get_chartdata (flexible data service) - Improved: get_apexcharts_yaml (now uses get_chartdata internally) New get_chartdata service features: - Multiple output formats (array_of_objects, array_of_arrays) - Customizable field names for chart compatibility - Resolution options (15-min intervals, hourly averages) - Advanced filtering (level_filter, rating_level_filter) - NULL insertion modes (none, segments, all) for clean gaps - Minor currency support (cents/øre) with custom rounding - Optional fields (level, rating_level, average) - Multi-day support (yesterday/today/tomorrow) Enhanced get_apexcharts_yaml service: - Direct entry_id parameter (no entity_id lookup needed) - Uses get_chartdata with WebSocket API (data_generator) - Improved ApexCharts configuration: * Gradient fill (70% opacity → 20%) * Grid styling with dashed lines * Zoom & Pan tools (animations disabled for performance) * Optimized legend (top-left, compact markers) * Y-axis auto-scaling (min: 0 for visibility, supports negative prices) * 2 decimal places (improved precision) * Browser locale formatting (automatic comma/point) * insert_nulls='segments' for clean gaps between levels - Multi-language support (translated titles, series names) - Day selection (yesterday/today/tomorrow with correct span config) Service translations: - Added comprehensive field descriptions (all 5 languages: de, en, nb, nl, sv) - Selector translations for all options (day, resolution, output_format, etc.) - ApexCharts title translations in custom_translations/ Technical improvements: - Hourly aggregation uses exact 4-interval windows (:00/:15/:30/:45) - Level/rating aggregation follows sensor logic (aggregate_level_data, aggregate_rating_data) - Midnight extension for last interval of filtered data (seamless day transitions) - Case-insensitive filter matching (normalized to uppercase) - Ruff complexity fixed (extracted _get_level_translation helper) Impact: Users can now generate production-ready ApexCharts YAML with a single service call, or use get_chartdata flexibly with any chart card (ApexCharts, Plotly, Mini Graph, etc.). Supports complex filtering scenarios (e.g., "show only LOW rating periods") with clean visual gaps. Full multi-language support.
This commit is contained in:
parent
7bc83ed3e2
commit
fb70f29ac9
12 changed files with 1648 additions and 571 deletions
|
|
@ -1,4 +1,8 @@
|
||||||
{
|
{
|
||||||
|
"apexcharts": {
|
||||||
|
"title_rating_level": "Preisphasen Tagesverlauf",
|
||||||
|
"title_level": "Preisniveau"
|
||||||
|
},
|
||||||
"sensor": {
|
"sensor": {
|
||||||
"current_interval_price": {
|
"current_interval_price": {
|
||||||
"description": "Der aktuelle Strompreis pro kWh",
|
"description": "Der aktuelle Strompreis pro kWh",
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,8 @@
|
||||||
{
|
{
|
||||||
|
"apexcharts": {
|
||||||
|
"title_rating_level": "Price Phases Daily Progress",
|
||||||
|
"title_level": "Price Level"
|
||||||
|
},
|
||||||
"sensor": {
|
"sensor": {
|
||||||
"current_interval_price": {
|
"current_interval_price": {
|
||||||
"description": "The current electricity price per kWh",
|
"description": "The current electricity price per kWh",
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,8 @@
|
||||||
{
|
{
|
||||||
|
"apexcharts": {
|
||||||
|
"title_rating_level": "Prisfaser daglig fremgang",
|
||||||
|
"title_level": "Prisnivå"
|
||||||
|
},
|
||||||
"sensor": {
|
"sensor": {
|
||||||
"current_interval_price": {
|
"current_interval_price": {
|
||||||
"description": "Den nåværende elektrisitetsprisen per kWh",
|
"description": "Den nåværende elektrisitetsprisen per kWh",
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,8 @@
|
||||||
{
|
{
|
||||||
|
"apexcharts": {
|
||||||
|
"title_rating_level": "Prijsfasen dagelijkse voortgang",
|
||||||
|
"title_level": "Prijsniveau"
|
||||||
|
},
|
||||||
"sensor": {
|
"sensor": {
|
||||||
"current_interval_price": {
|
"current_interval_price": {
|
||||||
"description": "De huidige elektriciteitsprijs per kWh",
|
"description": "De huidige elektriciteitsprijs per kWh",
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,8 @@
|
||||||
{
|
{
|
||||||
|
"apexcharts": {
|
||||||
|
"title_rating_level": "Prisfaser daglig framsteg",
|
||||||
|
"title_level": "Prisnivå"
|
||||||
|
},
|
||||||
"sensor": {
|
"sensor": {
|
||||||
"current_interval_price": {
|
"current_interval_price": {
|
||||||
"description": "Det nuvarande elpriset per kWh",
|
"description": "Det nuvarande elpriset per kWh",
|
||||||
|
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,7 +1,7 @@
|
||||||
get_price:
|
get_apexcharts_yaml:
|
||||||
name: Get Tibber Price Info
|
name: Get ApexCharts Card YAML
|
||||||
description: >-
|
description: >-
|
||||||
Returns merged priceInfo and priceRating for the requested day and config entry. Optionally, you can simulate the response as if it were a specific time-of-day (time, format HH:mm or HH:mm:ss), which only affects the previous/current/next fields, not the prices list. The simulated time is always combined with the selected day.
|
Returns a ready-to-copy YAML snippet for an ApexCharts card visualizing Tibber Prices for the selected day. Use this to easily add a pre-configured chart to your dashboard. The YAML will use the get_chartdata service for data.
|
||||||
fields:
|
fields:
|
||||||
entry_id:
|
entry_id:
|
||||||
name: Entry ID
|
name: Entry ID
|
||||||
|
|
@ -11,43 +11,10 @@ get_price:
|
||||||
selector:
|
selector:
|
||||||
config_entry:
|
config_entry:
|
||||||
integration: tibber_prices
|
integration: tibber_prices
|
||||||
day:
|
|
||||||
name: Day
|
|
||||||
description: Which day to fetch prices for (yesterday, today, or tomorrow).
|
|
||||||
required: false
|
|
||||||
default: today
|
|
||||||
example: today
|
|
||||||
selector:
|
|
||||||
select:
|
|
||||||
options:
|
|
||||||
- yesterday
|
|
||||||
- today
|
|
||||||
- tomorrow
|
|
||||||
time:
|
|
||||||
name: Time
|
|
||||||
description: >-
|
|
||||||
Time-of-day in HH:mm or HH:mm:ss format. If provided, simulates the response as if this were the current time for interval selection (previous/current/next) for the selected day. Does not filter the prices list. Example: "15:00" or "15:00:00".
|
|
||||||
required: false
|
|
||||||
selector:
|
|
||||||
time:
|
|
||||||
get_apexcharts_data:
|
|
||||||
name: Get ApexCharts Data
|
|
||||||
description: >-
|
|
||||||
Returns data for an ApexCharts card visualizing Tibber Prices for the selected day.
|
|
||||||
fields:
|
|
||||||
entity_id:
|
|
||||||
name: Entity ID
|
|
||||||
description: The entity_id for the Tibber price sensor to determine the config entry ID.
|
|
||||||
required: true
|
|
||||||
example: sensor.tibber_price_today
|
|
||||||
selector:
|
|
||||||
entity:
|
|
||||||
domain: sensor
|
|
||||||
integration: tibber_prices
|
|
||||||
day:
|
day:
|
||||||
name: Day
|
name: Day
|
||||||
description: Which day to visualize (yesterday, today, or tomorrow).
|
description: Which day to visualize (yesterday, today, or tomorrow).
|
||||||
required: true
|
required: false
|
||||||
default: today
|
default: today
|
||||||
example: today
|
example: today
|
||||||
selector:
|
selector:
|
||||||
|
|
@ -56,61 +23,226 @@ get_apexcharts_data:
|
||||||
- yesterday
|
- yesterday
|
||||||
- today
|
- today
|
||||||
- tomorrow
|
- tomorrow
|
||||||
|
translation_key: day
|
||||||
level_type:
|
level_type:
|
||||||
name: Level Type
|
name: Level Type
|
||||||
description: >-
|
description: >-
|
||||||
Select what data to return: 'rating_level' (the current official Tibber integration price level: LOW/NORMAL/HIGH) or 'level' (the original Tibber API price level: VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE).
|
Select which price level classification to visualize: 'rating_level' (LOW/NORMAL/HIGH based on your configured thresholds) or 'level' (Tibber API levels: VERY_CHEAP/CHEAP/NORMAL/EXPENSIVE/VERY_EXPENSIVE).
|
||||||
required: true
|
required: false
|
||||||
default: rating_level
|
default: rating_level
|
||||||
example: rating_level
|
example: rating_level
|
||||||
selector:
|
selector:
|
||||||
select:
|
select:
|
||||||
options:
|
options:
|
||||||
- level
|
|
||||||
- rating_level
|
- rating_level
|
||||||
level_key:
|
- level
|
||||||
name: Level Key
|
translation_key: level_type
|
||||||
|
get_chartdata:
|
||||||
|
name: Get Chart Data
|
||||||
description: >-
|
description: >-
|
||||||
Select the key to use for the level type: For 'rating_level', use LOW/NORMAL/HIGH. For 'level', use VERY_CHEAP/CHEAP/LOW/NORMAL/HIGH/EXPENSIVE/VERY_EXPENSIVE.
|
Returns price data in a simple chart-friendly format compatible with the Tibber Core integration output structure. Perfect for use with popular chart cards like ha-price-timeline-card, ApexCharts Card, Plotly Graph Card, Mini Graph Card, or the built-in History Graph Card. Field names and data structure can be customized to match your specific chart requirements.
|
||||||
required: true
|
|
||||||
default: NORMAL
|
|
||||||
example: NORMAL
|
|
||||||
selector:
|
|
||||||
select:
|
|
||||||
options:
|
|
||||||
- VERY_CHEAP
|
|
||||||
- CHEAP
|
|
||||||
- LOW
|
|
||||||
- NORMAL
|
|
||||||
- HIGH
|
|
||||||
- EXPENSIVE
|
|
||||||
- VERY_EXPENSIVE
|
|
||||||
get_apexcharts_yaml:
|
|
||||||
name: Get ApexCharts Card YAML
|
|
||||||
description: >-
|
|
||||||
Returns a ready-to-copy YAML snippet for an ApexCharts card visualizing Tibber Prices for the selected day. Use this to easily add a pre-configured chart to your dashboard. The YAML will use the get_price service for data.
|
|
||||||
fields:
|
fields:
|
||||||
entity_id:
|
# === Basic Settings (for all formats) ===
|
||||||
name: Entity ID
|
entry_id:
|
||||||
description: The entity_id for the Tibber price sensor (used for context, but the chart fetches data via the service).
|
name: Entry ID
|
||||||
|
description: The config entry ID for the Tibber integration.
|
||||||
required: true
|
required: true
|
||||||
example: sensor.tibber_price_today
|
example: "1234567890abcdef"
|
||||||
selector:
|
selector:
|
||||||
entity:
|
config_entry:
|
||||||
domain: sensor
|
|
||||||
integration: tibber_prices
|
integration: tibber_prices
|
||||||
day:
|
day:
|
||||||
name: Day
|
name: Day
|
||||||
description: Which day to visualize (yesterday, today, or tomorrow).
|
description: Which day(s) to fetch prices for. You can select multiple days. If not specified, returns all available data (today + tomorrow if available).
|
||||||
required: false
|
required: false
|
||||||
default: today
|
|
||||||
example: today
|
|
||||||
selector:
|
selector:
|
||||||
select:
|
select:
|
||||||
options:
|
options:
|
||||||
- yesterday
|
- yesterday
|
||||||
- today
|
- today
|
||||||
- tomorrow
|
- tomorrow
|
||||||
|
multiple: true
|
||||||
|
translation_key: day
|
||||||
|
resolution:
|
||||||
|
name: Resolution
|
||||||
|
description: >-
|
||||||
|
Time resolution for the returned data. Options: 'interval' (default, 15-minute intervals, 96 points per day), 'hourly' (hourly averages, 24 points per day).
|
||||||
|
required: false
|
||||||
|
default: interval
|
||||||
|
example: hourly
|
||||||
|
selector:
|
||||||
|
select:
|
||||||
|
options:
|
||||||
|
- interval
|
||||||
|
- hourly
|
||||||
|
translation_key: resolution
|
||||||
|
minor_currency:
|
||||||
|
name: Minor Currency
|
||||||
|
description: >-
|
||||||
|
Return prices in minor currency units (cents for EUR, øre for NOK/SEK) instead of major currency units. Disabled by default.
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
example: true
|
||||||
|
selector:
|
||||||
|
boolean:
|
||||||
|
round_decimals:
|
||||||
|
name: Round Decimals
|
||||||
|
description: >-
|
||||||
|
Number of decimal places to round prices to (0-10). If not specified, uses default precision (4 decimals for major currency, 2 for minor currency).
|
||||||
|
required: false
|
||||||
|
example: 2
|
||||||
|
selector:
|
||||||
|
number:
|
||||||
|
min: 0
|
||||||
|
max: 10
|
||||||
|
mode: box
|
||||||
|
# === Filters (for all formats) ===
|
||||||
|
level_filter:
|
||||||
|
name: Level Filter
|
||||||
|
description: >-
|
||||||
|
Filter intervals to include only specific Tibber price levels (very_cheap, cheap, normal, expensive, very_expensive). If not specified, all levels are included.
|
||||||
|
required: false
|
||||||
|
selector:
|
||||||
|
select:
|
||||||
|
options:
|
||||||
|
- very_cheap
|
||||||
|
- cheap
|
||||||
|
- normal
|
||||||
|
- expensive
|
||||||
|
- very_expensive
|
||||||
|
multiple: true
|
||||||
|
translation_key: level_filter
|
||||||
|
rating_level_filter:
|
||||||
|
name: Rating Level Filter
|
||||||
|
description: >-
|
||||||
|
Filter intervals to include only specific rating levels (low, normal, high). If not specified, all rating levels are included.
|
||||||
|
required: false
|
||||||
|
selector:
|
||||||
|
select:
|
||||||
|
options:
|
||||||
|
- low
|
||||||
|
- normal
|
||||||
|
- high
|
||||||
|
multiple: true
|
||||||
|
translation_key: rating_level_filter
|
||||||
|
# === NULL Insertion ===
|
||||||
|
insert_nulls:
|
||||||
|
name: Insert NULL Values
|
||||||
|
description: >-
|
||||||
|
Control NULL value insertion for filtered data. 'none' (default): No NULL values, only matching intervals. 'segments': Add NULL points at segment boundaries for clean gaps in charts (recommended for stepline charts). 'all': Insert NULL for all timestamps where filter doesn't match (useful for continuous time series visualization).
|
||||||
|
required: false
|
||||||
|
default: none
|
||||||
|
selector:
|
||||||
|
select:
|
||||||
|
options:
|
||||||
|
- none
|
||||||
|
- segments
|
||||||
|
- all
|
||||||
|
translation_key: insert_nulls
|
||||||
|
# === Output Format Selection ===
|
||||||
|
output_format:
|
||||||
|
name: Output Format
|
||||||
|
description: >-
|
||||||
|
Output format for the returned data. Options: 'array_of_objects' (default, array of objects with customizable field names), 'array_of_arrays' (array of [timestamp, price] arrays).
|
||||||
|
required: false
|
||||||
|
default: array_of_objects
|
||||||
|
example: array_of_objects
|
||||||
|
selector:
|
||||||
|
select:
|
||||||
|
options:
|
||||||
|
- array_of_objects
|
||||||
|
- array_of_arrays
|
||||||
|
translation_key: output_format
|
||||||
|
# === For array_of_arrays format ===
|
||||||
|
add_trailing_null:
|
||||||
|
name: Add Trailing Null Point
|
||||||
|
description: >-
|
||||||
|
[BOTH FORMATS] Add a final data point with null values (except timestamp) at the end. Some chart libraries need this to prevent extrapolation/interpolation to the viewport edge when using stepline rendering. Leave disabled unless your chart requires it.
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
selector:
|
||||||
|
boolean:
|
||||||
|
array_fields:
|
||||||
|
name: Array Fields (array_of_arrays only)
|
||||||
|
description: >-
|
||||||
|
[ONLY FOR array_of_arrays FORMAT] Define which fields to include. Use field names in curly braces, separated by commas. Available fields: start_time, price_per_kwh, level, rating_level, average. Fields will be automatically enabled even if include_* options are not set. Leave empty for default (timestamp and price only).
|
||||||
|
required: false
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
# === For array_of_objects format - Include Fields ===
|
||||||
|
include_level:
|
||||||
|
name: Include Level (array_of_objects only)
|
||||||
|
description: >-
|
||||||
|
[ONLY FOR array_of_objects FORMAT] Include the Tibber price level field (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE) in each data point.
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
example: true
|
||||||
|
selector:
|
||||||
|
boolean:
|
||||||
|
include_rating_level:
|
||||||
|
name: Include Rating Level (array_of_objects only)
|
||||||
|
description: >-
|
||||||
|
[ONLY FOR array_of_objects FORMAT] Include the calculated rating level field (LOW, NORMAL, HIGH) based on your configured thresholds in each data point.
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
example: true
|
||||||
|
selector:
|
||||||
|
boolean:
|
||||||
|
include_average:
|
||||||
|
name: Include Average (array_of_objects only)
|
||||||
|
description: >-
|
||||||
|
[ONLY FOR array_of_objects FORMAT] Include the daily average price in each data point for comparison.
|
||||||
|
required: false
|
||||||
|
default: false
|
||||||
|
selector:
|
||||||
|
boolean:
|
||||||
|
# === For array_of_objects format - Customize Field Names ===
|
||||||
|
timestamp_field:
|
||||||
|
name: Timestamp Field Name (array_of_objects only)
|
||||||
|
description: >-
|
||||||
|
[ONLY FOR array_of_objects FORMAT] Custom name for the timestamp field in the output. Defaults to "start_time" if not specified.
|
||||||
|
required: false
|
||||||
|
example: time
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
price_field:
|
||||||
|
name: Price Field Name (array_of_objects only)
|
||||||
|
description: >-
|
||||||
|
[ONLY FOR array_of_objects FORMAT] Custom name for the price field in the output. Defaults to "price_per_kwh" if not specified.
|
||||||
|
required: false
|
||||||
|
example: price
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
level_field:
|
||||||
|
name: Level Field Name (array_of_objects only)
|
||||||
|
description: >-
|
||||||
|
[ONLY FOR array_of_objects FORMAT] Custom name for the level field in the output. Defaults to "level" if not specified. Only used when include_level is enabled.
|
||||||
|
required: false
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
rating_level_field:
|
||||||
|
name: Rating Level Field Name (array_of_objects only)
|
||||||
|
description: >-
|
||||||
|
[ONLY FOR array_of_objects FORMAT] Custom name for the rating_level field in the output. Defaults to "rating_level" if not specified. Only used when include_rating_level is enabled.
|
||||||
|
required: false
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
average_field:
|
||||||
|
name: Average Field Name (array_of_objects only)
|
||||||
|
description: >-
|
||||||
|
[ONLY FOR array_of_objects FORMAT] Custom name for the average field in the output. Defaults to "average" if not specified. Only used when include_average is enabled.
|
||||||
|
required: false
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
|
# === Top-Level Response Key (both formats) ===
|
||||||
|
data_key:
|
||||||
|
name: Data Key (both formats)
|
||||||
|
description: >-
|
||||||
|
[BOTH FORMATS] Custom name for the top-level data key in the response. Defaults to "data" if not specified. For ApexCharts compatibility with array_of_arrays, use "points".
|
||||||
|
required: false
|
||||||
|
example: prices
|
||||||
|
selector:
|
||||||
|
text:
|
||||||
refresh_user_data:
|
refresh_user_data:
|
||||||
name: Refresh User Data
|
name: Refresh User Data
|
||||||
description: >-
|
description: >-
|
||||||
|
|
|
||||||
|
|
@ -668,6 +668,110 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"services": {
|
"services": {
|
||||||
|
"get_apexcharts_yaml": {
|
||||||
|
"name": "ApexCharts-Karten-YAML abrufen",
|
||||||
|
"description": "Gibt einen fertigen YAML-Schnipsel für eine ApexCharts-Karte zurück, die Tibber-Preise für den ausgewählten Tag visualisiert. Verwende dies, um ganz einfach ein vorkonfiguriertes Diagramm zu deinem Dashboard hinzuzufügen. Das YAML verwendet den get_chartdata-Service für Daten.",
|
||||||
|
"fields": {
|
||||||
|
"entry_id": {
|
||||||
|
"name": "Eintrags-ID",
|
||||||
|
"description": "Die Konfigurationseintrags-ID für die Tibber-Integration."
|
||||||
|
},
|
||||||
|
"day": {
|
||||||
|
"name": "Tag",
|
||||||
|
"description": "Welcher Tag visualisiert werden soll (gestern, heute oder morgen)."
|
||||||
|
},
|
||||||
|
"level_type": {
|
||||||
|
"name": "Stufen-Typ",
|
||||||
|
"description": "Wähle, welche Preisstufen-Klassifizierung visualisiert werden soll: 'rating_level' (niedrig/normal/hoch basierend auf deinen konfigurierten Schwellenwerten) oder 'level' (Tibber-API-Stufen: sehr günstig/günstig/normal/teuer/sehr teuer)."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"get_chartdata": {
|
||||||
|
"name": "Diagrammdaten abrufen",
|
||||||
|
"description": "Gibt Preisdaten in einem einfachen, diagrammfreundlichen Format kompatibel mit der Tibber Core Integration zurück. Perfekt für beliebte Diagramm-Karten wie ha-price-timeline-card, ApexCharts Card, Plotly Graph Card, Mini Graph Card oder die eingebaute History Graph Card. Feldnamen und Datenstruktur können an die Anforderungen deines Diagramms angepasst werden.",
|
||||||
|
"fields": {
|
||||||
|
"entry_id": {
|
||||||
|
"name": "Eintrag-ID",
|
||||||
|
"description": "Die Konfigurationseintrag-ID für die Tibber-Integration."
|
||||||
|
},
|
||||||
|
"day": {
|
||||||
|
"name": "Tag",
|
||||||
|
"description": "Für welche(n) Tag(e) sollen Preise abgerufen werden. Du kannst mehrere Tage auswählen. Falls nicht angegeben, werden alle verfügbaren Daten zurückgegeben (heute + morgen falls verfügbar)."
|
||||||
|
},
|
||||||
|
"resolution": {
|
||||||
|
"name": "Auflösung",
|
||||||
|
"description": "Zeitauflösung für die zurückgegebenen Daten. Optionen: 'interval' (Standard, 15-Minuten-Intervalle, 96 Datenpunkte pro Tag), 'hourly' (stündliche Durchschnitte, 24 Datenpunkte pro Tag)."
|
||||||
|
},
|
||||||
|
"output_format": {
|
||||||
|
"name": "Ausgabeformat",
|
||||||
|
"description": "Ausgabeformat für die zurückgegebenen Daten. Optionen: 'array_of_objects' (Standard, Array von Objekten mit anpassbaren Feldnamen), 'array_of_arrays' (Array von [Zeitstempel, Preis]-Arrays mit abschließendem Null-Punkt für Stepline-Charts)."
|
||||||
|
},
|
||||||
|
"array_fields": {
|
||||||
|
"name": "Array-Felder (nur Array von Arrays)",
|
||||||
|
"description": "[NUR FÜR Array von Arrays FORMAT] Definiere, welche Felder im array_of_arrays-Format enthalten sein sollen. Verwende Feldnamen in geschweiften Klammern, getrennt durch Kommas. Verfügbare Felder: start_time, price_per_kwh, level, rating_level, average. Felder werden automatisch aktiviert, auch wenn include_*-Optionen nicht gesetzt sind. Leer lassen für Standard (nur Zeitstempel und Preis)."
|
||||||
|
},
|
||||||
|
"minor_currency": {
|
||||||
|
"name": "Kleinere Währungseinheit",
|
||||||
|
"description": "Gibt Preise in kleineren Währungseinheiten zurück (Cent für EUR, Øre für NOK/SEK) statt in Hauptwährungseinheiten. Standardmäßig deaktiviert."
|
||||||
|
},
|
||||||
|
"round_decimals": {
|
||||||
|
"name": "Dezimalstellen runden",
|
||||||
|
"description": "Anzahl der Dezimalstellen, auf die Preise gerundet werden sollen (0-10). Falls nicht angegeben, wird die Standardgenauigkeit verwendet (4 Dezimalstellen für Hauptwährung, 2 für kleinere Währungseinheit)."
|
||||||
|
},
|
||||||
|
"include_level": {
|
||||||
|
"name": "Preisniveau einschließen (nur Array von Objekten)",
|
||||||
|
"description": "[NUR FÜR Array von Objekten FORMAT] Fügt das Tibber-Preisniveau (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE) zu jedem Datenpunkt hinzu."
|
||||||
|
},
|
||||||
|
"include_rating_level": {
|
||||||
|
"name": "Preisbewertung einschließen (nur Array von Objekten)",
|
||||||
|
"description": "[NUR FÜR Array von Objekten FORMAT] Fügt die berechnete Preisbewertung (LOW, NORMAL, HIGH) basierend auf deinen konfigurierten Schwellwerten zu jedem Datenpunkt hinzu."
|
||||||
|
},
|
||||||
|
"include_average": {
|
||||||
|
"name": "Durchschnitt einschließen (nur Array von Objekten)",
|
||||||
|
"description": "[NUR FÜR Array von Objekten FORMAT] Den Tagesdurchschnittspreis in jedem Datenpunkt zum Vergleich einschließen."
|
||||||
|
},
|
||||||
|
"level_filter": {
|
||||||
|
"name": "Preisniveau-Filter",
|
||||||
|
"description": "Intervalle filtern, um nur bestimmte Tibber-Preisniveaus einzuschließen (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE). Falls nicht angegeben, werden alle Niveaus eingeschlossen."
|
||||||
|
},
|
||||||
|
"rating_level_filter": {
|
||||||
|
"name": "Preisbewertungs-Filter",
|
||||||
|
"description": "Intervalle filtern, um nur bestimmte Preisbewertungen einzuschließen (LOW, NORMAL, HIGH). Falls nicht angegeben, werden alle Bewertungen eingeschlossen."
|
||||||
|
},
|
||||||
|
"insert_nulls": {
|
||||||
|
"name": "NULL-Werte einfügen",
|
||||||
|
"description": "Steuert das Einfügen von NULL-Werten für gefilterte Daten. 'none' (Standard): Keine NULL-Werte, nur passende Intervalle. 'segments': NULL-Punkte an Segmentgrenzen für saubere Lücken in Diagrammen hinzufügen (empfohlen für Stufenliniendiagramme). 'all': NULL für alle Zeitstempel einfügen, bei denen der Filter nicht übereinstimmt (nützlich für kontinuierliche Zeitreihenvisualisierung)."
|
||||||
|
},
|
||||||
|
"add_trailing_null": {
|
||||||
|
"name": "Abschließenden Null-Punkt hinzufügen",
|
||||||
|
"description": "[BEIDE FORMATE] Füge einen finalen Datenpunkt mit Null-Werten (außer Zeitstempel) am Ende hinzu. Manche Diagramm-Bibliotheken benötigen dies, um Extrapolation/Interpolation bis zum Rand des Anzeigebereichs bei Stufenliniendarstellung zu verhindern. Deaktiviert lassen, es sei denn, dein Diagramm erfordert es."
|
||||||
|
},
|
||||||
|
"timestamp_field": {
|
||||||
|
"name": "Zeitstempel-Feldname (nur Array von Objekten)",
|
||||||
|
"description": "[NUR FÜR Array von Objekten FORMAT] Benutzerdefinierter Name für das Zeitstempel-Feld in der Ausgabe. Standard ist 'start_time', falls nicht angegeben."
|
||||||
|
},
|
||||||
|
"price_field": {
|
||||||
|
"name": "Preis-Feldname (nur Array von Objekten)",
|
||||||
|
"description": "[NUR FÜR Array von Objekten FORMAT] Benutzerdefinierter Name für das Preis-Feld in der Ausgabe. Standard ist 'price_per_kwh', falls nicht angegeben."
|
||||||
|
},
|
||||||
|
"level_field": {
|
||||||
|
"name": "Preisniveau-Feldname (nur Array von Objekten)",
|
||||||
|
"description": "[NUR FÜR Array von Objekten FORMAT] Benutzerdefinierter Name für das Preisniveau-Feld in der Ausgabe. Standard ist 'level', falls nicht angegeben. Wird nur verwendet, wenn include_level aktiviert ist."
|
||||||
|
},
|
||||||
|
"rating_level_field": {
|
||||||
|
"name": "Preisbewertung-Feldname (nur Array von Objekten)",
|
||||||
|
"description": "[NUR FÜR Array von Objekten FORMAT] Benutzerdefinierter Name für das Preisbewertungs-Feld in der Ausgabe. Standard ist 'rating_level', falls nicht angegeben. Wird nur verwendet, wenn include_rating_level aktiviert ist."
|
||||||
|
},
|
||||||
|
"average_field": {
|
||||||
|
"name": "Durchschnitts-Feldname (nur Array von Objekten)",
|
||||||
|
"description": "[NUR FÜR Array von Objekten FORMAT] Benutzerdefinierter Name für das Durchschnitts-Feld in der Ausgabe. Standard ist 'average', falls nicht angegeben. Wird nur verwendet, wenn include_average aktiviert ist."
|
||||||
|
},
|
||||||
|
"data_key": {
|
||||||
|
"name": "Daten-Schlüssel (beide Formate)",
|
||||||
|
"description": "[BEIDE FORMATE] Benutzerdefinierter Name für den obersten Datenschlüssel in der Antwort. Standard ist 'data', falls nicht angegeben. Für ApexCharts-Kompatibilität mit Array von Arrays verwende 'points'."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"refresh_user_data": {
|
"refresh_user_data": {
|
||||||
"name": "Benutzerdaten aktualisieren",
|
"name": "Benutzerdaten aktualisieren",
|
||||||
"description": "Erzwingt eine Aktualisierung der Benutzerdaten (Häuser, Profilinformationen) aus der Tibber API. Dies kann nützlich sein, nachdem Änderungen an deinem Tibber-Konto vorgenommen wurden oder bei der Fehlerbehebung von Verbindungsproblemen.",
|
"description": "Erzwingt eine Aktualisierung der Benutzerdaten (Häuser, Profilinformationen) aus der Tibber API. Dies kann nützlich sein, nachdem Änderungen an deinem Tibber-Konto vorgenommen wurden oder bei der Fehlerbehebung von Verbindungsproblemen.",
|
||||||
|
|
@ -680,6 +784,54 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"selector": {
|
"selector": {
|
||||||
|
"day": {
|
||||||
|
"options": {
|
||||||
|
"yesterday": "Gestern",
|
||||||
|
"today": "Heute",
|
||||||
|
"tomorrow": "Morgen"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resolution": {
|
||||||
|
"options": {
|
||||||
|
"interval": "Intervall (15 Min)",
|
||||||
|
"hourly": "Stündlich"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"output_format": {
|
||||||
|
"options": {
|
||||||
|
"array_of_objects": "Array aus Objekten",
|
||||||
|
"array_of_arrays": "Array aus Arrays"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level_type": {
|
||||||
|
"options": {
|
||||||
|
"rating_level": "Preisbewertung (niedrig/normal/hoch)",
|
||||||
|
"level": "Preisniveau (sehr günstig bis sehr teuer)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level_filter": {
|
||||||
|
"options": {
|
||||||
|
"very_cheap": "Sehr günstig",
|
||||||
|
"cheap": "Günstig",
|
||||||
|
"normal": "Normal",
|
||||||
|
"expensive": "Teuer",
|
||||||
|
"very_expensive": "Sehr teuer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rating_level_filter": {
|
||||||
|
"options": {
|
||||||
|
"low": "Niedrig",
|
||||||
|
"normal": "Normal",
|
||||||
|
"high": "Hoch"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"insert_nulls": {
|
||||||
|
"options": {
|
||||||
|
"none": "Keine",
|
||||||
|
"segments": "Segmente",
|
||||||
|
"all": "Alle"
|
||||||
|
}
|
||||||
|
},
|
||||||
"volatility": {
|
"volatility": {
|
||||||
"options": {
|
"options": {
|
||||||
"low": "Niedrig",
|
"low": "Niedrig",
|
||||||
|
|
|
||||||
|
|
@ -664,6 +664,110 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"services": {
|
"services": {
|
||||||
|
"get_apexcharts_yaml": {
|
||||||
|
"name": "Get ApexCharts Card YAML",
|
||||||
|
"description": "Returns a ready-to-copy YAML snippet for an ApexCharts card visualizing Tibber Prices for the selected day. Use this to easily add a pre-configured chart to your dashboard. The YAML will use the get_chartdata service for data.",
|
||||||
|
"fields": {
|
||||||
|
"entry_id": {
|
||||||
|
"name": "Entry ID",
|
||||||
|
"description": "The config entry ID for the Tibber integration."
|
||||||
|
},
|
||||||
|
"day": {
|
||||||
|
"name": "Day",
|
||||||
|
"description": "Which day to visualize (yesterday, today, or tomorrow)."
|
||||||
|
},
|
||||||
|
"level_type": {
|
||||||
|
"name": "Level Type",
|
||||||
|
"description": "Select which price level classification to visualize: 'rating_level' (low/normal/high based on your configured thresholds) or 'level' (Tibber API levels: very cheap/cheap/normal/expensive/very expensive)."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"get_chartdata": {
|
||||||
|
"name": "Get Chart Data",
|
||||||
|
"description": "Returns price data in a simple chart-friendly format compatible with the Tibber Core integration output structure. Perfect for use with popular chart cards like ha-price-timeline-card, ApexCharts Card, Plotly Graph Card, Mini Graph Card, or the built-in History Graph Card. Field names and data structure can be customized to match your specific chart requirements.",
|
||||||
|
"fields": {
|
||||||
|
"entry_id": {
|
||||||
|
"name": "Entry ID",
|
||||||
|
"description": "The config entry ID for the Tibber integration."
|
||||||
|
},
|
||||||
|
"day": {
|
||||||
|
"name": "Day",
|
||||||
|
"description": "Which day(s) to fetch prices for. You can select multiple days. If not specified, returns all available data (today + tomorrow if available)."
|
||||||
|
},
|
||||||
|
"resolution": {
|
||||||
|
"name": "Resolution",
|
||||||
|
"description": "Time resolution for the returned data. Options: 'interval' (default, 15-minute intervals, 96 points per day), 'hourly' (hourly averages, 24 points per day)."
|
||||||
|
},
|
||||||
|
"output_format": {
|
||||||
|
"name": "Output Format",
|
||||||
|
"description": "Output format for the returned data. Options: 'array_of_objects' (default, array of objects with customizable field names), 'array_of_arrays' (array of [timestamp, price] arrays with trailing null point for stepline charts)."
|
||||||
|
},
|
||||||
|
"array_fields": {
|
||||||
|
"name": "Array Fields (Array of Arrays only)",
|
||||||
|
"description": "[ONLY FOR Array of Arrays FORMAT] Define which fields to include. Use field names in curly braces, separated by commas. Available fields: start_time, price_per_kwh, level, rating_level, average. Fields will be automatically enabled even if include_* options are not set. Leave empty for default (timestamp and price only)."
|
||||||
|
},
|
||||||
|
"minor_currency": {
|
||||||
|
"name": "Minor Currency",
|
||||||
|
"description": "Return prices in minor currency units (cents for EUR, øre for NOK/SEK) instead of major currency units. Disabled by default."
|
||||||
|
},
|
||||||
|
"round_decimals": {
|
||||||
|
"name": "Round Decimals",
|
||||||
|
"description": "Number of decimal places to round prices to (0-10). If not specified, uses default precision (4 decimals for major currency, 2 for minor currency)."
|
||||||
|
},
|
||||||
|
"include_level": {
|
||||||
|
"name": "Include Level (Array of Objects only)",
|
||||||
|
"description": "[ONLY FOR Array of Objects FORMAT] Include the Tibber price level field (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE) in each data point."
|
||||||
|
},
|
||||||
|
"include_rating_level": {
|
||||||
|
"name": "Include Rating Level (Array of Objects only)",
|
||||||
|
"description": "[ONLY FOR Array of Objects FORMAT] Include the calculated rating level field (LOW, NORMAL, HIGH) based on your configured thresholds in each data point."
|
||||||
|
},
|
||||||
|
"include_average": {
|
||||||
|
"name": "Include Average (Array of Objects only)",
|
||||||
|
"description": "[ONLY FOR Array of Objects FORMAT] Include the daily average price in each data point for comparison."
|
||||||
|
},
|
||||||
|
"level_filter": {
|
||||||
|
"name": "Level Filter",
|
||||||
|
"description": "Filter intervals to include only specific Tibber price levels (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE). If not specified, all levels are included."
|
||||||
|
},
|
||||||
|
"rating_level_filter": {
|
||||||
|
"name": "Rating Level Filter",
|
||||||
|
"description": "Filter intervals to include only specific rating levels (LOW, NORMAL, HIGH). If not specified, all rating levels are included."
|
||||||
|
},
|
||||||
|
"insert_nulls": {
|
||||||
|
"name": "Insert NULL Values",
|
||||||
|
"description": "Control NULL value insertion for filtered data. 'none' (default): No NULL values, only matching intervals. 'segments': Add NULL points at segment boundaries for clean gaps in charts (recommended for stepline charts). 'all': Insert NULL for all timestamps where filter doesn't match (useful for continuous time series visualization)."
|
||||||
|
},
|
||||||
|
"add_trailing_null": {
|
||||||
|
"name": "Add Trailing Null Point",
|
||||||
|
"description": "[BOTH FORMATS] Add a final data point with null values (except timestamp) at the end. Some chart libraries need this to prevent extrapolation/interpolation to the viewport edge when using stepline rendering. Leave disabled unless your chart requires it."
|
||||||
|
},
|
||||||
|
"timestamp_field": {
|
||||||
|
"name": "Timestamp Field Name (Array of Objects only)",
|
||||||
|
"description": "[ONLY FOR Array of Objects FORMAT] Custom name for the timestamp field in the output. Defaults to 'start_time' if not specified."
|
||||||
|
},
|
||||||
|
"price_field": {
|
||||||
|
"name": "Price Field Name (Array of Objects only)",
|
||||||
|
"description": "[ONLY FOR Array of Objects FORMAT] Custom name for the price field in the output. Defaults to 'price_per_kwh' if not specified."
|
||||||
|
},
|
||||||
|
"level_field": {
|
||||||
|
"name": "Level Field Name (Array of Objects only)",
|
||||||
|
"description": "[ONLY FOR Array of Objects FORMAT] Custom name for the level field in the output. Defaults to 'level' if not specified. Only used when include_level is enabled."
|
||||||
|
},
|
||||||
|
"rating_level_field": {
|
||||||
|
"name": "Rating Level Field Name (Array of Objects only)",
|
||||||
|
"description": "[ONLY FOR Array of Objects FORMAT] Custom name for the rating_level field in the output. Defaults to 'rating_level' if not specified. Only used when include_rating_level is enabled."
|
||||||
|
},
|
||||||
|
"average_field": {
|
||||||
|
"name": "Average Field Name (Array of Objects only)",
|
||||||
|
"description": "[ONLY FOR Array of Objects FORMAT] Custom name for the average field in the output. Defaults to 'average' if not specified. Only used when include_average is enabled."
|
||||||
|
},
|
||||||
|
"data_key": {
|
||||||
|
"name": "Data Key (both formats)",
|
||||||
|
"description": "[BOTH FORMATS] Custom name for the top-level data key in the response. Defaults to 'data' if not specified. For ApexCharts compatibility with Array of Arrays, use 'points'."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"refresh_user_data": {
|
"refresh_user_data": {
|
||||||
"name": "Refresh User Data",
|
"name": "Refresh User Data",
|
||||||
"description": "Forces a refresh of the user data (homes, profile information) from the Tibber API. This can be useful after making changes to your Tibber account or when troubleshooting connectivity issues.",
|
"description": "Forces a refresh of the user data (homes, profile information) from the Tibber API. This can be useful after making changes to your Tibber account or when troubleshooting connectivity issues.",
|
||||||
|
|
@ -676,6 +780,54 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"selector": {
|
"selector": {
|
||||||
|
"day": {
|
||||||
|
"options": {
|
||||||
|
"yesterday": "Yesterday",
|
||||||
|
"today": "Today",
|
||||||
|
"tomorrow": "Tomorrow"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resolution": {
|
||||||
|
"options": {
|
||||||
|
"interval": "Interval (15 min)",
|
||||||
|
"hourly": "Hourly"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"output_format": {
|
||||||
|
"options": {
|
||||||
|
"array_of_objects": "Array of Objects",
|
||||||
|
"array_of_arrays": "Array of Arrays"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level_type": {
|
||||||
|
"options": {
|
||||||
|
"rating_level": "Rating Level (low/normal/high)",
|
||||||
|
"level": "Tibber Level (very cheap to very expensive)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level_filter": {
|
||||||
|
"options": {
|
||||||
|
"very_cheap": "Very cheap",
|
||||||
|
"cheap": "Cheap",
|
||||||
|
"normal": "Normal",
|
||||||
|
"expensive": "Expensive",
|
||||||
|
"very_expensive": "Very expensive"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rating_level_filter": {
|
||||||
|
"options": {
|
||||||
|
"low": "Low",
|
||||||
|
"normal": "Normal",
|
||||||
|
"high": "High"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"insert_nulls": {
|
||||||
|
"options": {
|
||||||
|
"none": "None",
|
||||||
|
"segments": "Segments",
|
||||||
|
"all": "All"
|
||||||
|
}
|
||||||
|
},
|
||||||
"volatility": {
|
"volatility": {
|
||||||
"options": {
|
"options": {
|
||||||
"low": "Low",
|
"low": "Low",
|
||||||
|
|
|
||||||
|
|
@ -664,6 +664,110 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"services": {
|
"services": {
|
||||||
|
"get_apexcharts_yaml": {
|
||||||
|
"name": "Hent ApexCharts-kort YAML",
|
||||||
|
"description": "Returnerer en klar-til-kopier YAML-snippet for et ApexCharts-kort som visualiserer Tibber-priser for den valgte dagen. Bruk dette for å enkelt legge til et forhåndskonfigurert diagram til dashboardet ditt. YAML vil bruke get_chartdata-tjenesten for data.",
|
||||||
|
"fields": {
|
||||||
|
"entry_id": {
|
||||||
|
"name": "Oppførings-ID",
|
||||||
|
"description": "Konfigureringsoppførings-IDen for Tibber-integrasjonen."
|
||||||
|
},
|
||||||
|
"day": {
|
||||||
|
"name": "Dag",
|
||||||
|
"description": "Hvilken dag som skal visualiseres (i går, i dag eller i morgen)."
|
||||||
|
},
|
||||||
|
"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)."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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.",
|
||||||
|
"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 alle tilgjengelige data (i dag + i morgen hvis tilgjengelig)."
|
||||||
|
},
|
||||||
|
"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 (kun Array av arrays)",
|
||||||
|
"description": "[KUN FOR Array av arrays FORMAT] 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)."
|
||||||
|
},
|
||||||
|
"minor_currency": {
|
||||||
|
"name": "Mindre valutaenhet",
|
||||||
|
"description": "Returner priser i mindre valutaenheter (øre for NOK/SEK, cent for EUR) i stedet for hovedvalutaenheter. 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 hovedvaluta, 2 for mindre valutaenhet)."
|
||||||
|
},
|
||||||
|
"include_level": {
|
||||||
|
"name": "Inkluder prisnivå (kun Array av objekter)",
|
||||||
|
"description": "[KUN FOR Array av objekter FORMAT] Inkluder Tibber-prisnivåfeltet (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE) i hvert datapunkt."
|
||||||
|
},
|
||||||
|
"include_rating_level": {
|
||||||
|
"name": "Inkluder prisvurdering (kun Array av objekter)",
|
||||||
|
"description": "[KUN FOR Array av objekter FORMAT] Inkluder det beregnede prisvurderingsfeltet (LOW, NORMAL, HIGH) basert på dine konfigurerte terskler i hvert datapunkt."
|
||||||
|
},
|
||||||
|
"include_average": {
|
||||||
|
"name": "Inkluder gjennomsnitt (kun Array av objekter)",
|
||||||
|
"description": "[KUN FOR Array av objekter FORMAT] Inkluder daglig gjennomsnittspris i hvert datapunkt for sammenligning."
|
||||||
|
},
|
||||||
|
"level_filter": {
|
||||||
|
"name": "Prisnivåfilter",
|
||||||
|
"description": "Filtrer intervaller for å bare inkludere spesifikke Tibber-prisnivåer (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE). Hvis ikke angitt, inkluderes alle nivåer."
|
||||||
|
},
|
||||||
|
"rating_level_filter": {
|
||||||
|
"name": "Prisvurderingsfilter",
|
||||||
|
"description": "Filtrer intervaller for å inkludere bare spesifikke prisvurderinger (LOW, NORMAL, HIGH). Hvis ikke spesifisert, inkluderes alle vurderinger."
|
||||||
|
},
|
||||||
|
"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)."
|
||||||
|
},
|
||||||
|
"add_trailing_null": {
|
||||||
|
"name": "Legg til avsluttende null-punkt",
|
||||||
|
"description": "[BEGGE FORMATER] Legg til et siste datapunkt med null-verdier (unntatt tidsstempel) på slutten. Noen diagrambiblioteker trenger dette for å forhindre ekstrapolering/interpolering til kanten av visningsområdet ved stepline-gjengivelse. La være deaktivert med mindre diagrammet ditt krever det."
|
||||||
|
},
|
||||||
|
"timestamp_field": {
|
||||||
|
"name": "Tidsstempel-feltnavn (kun Array av objekter)",
|
||||||
|
"description": "[KUN FOR Array av objekter FORMAT] Tilpasset navn for tidsstempel-feltet i utdata. Standard er 'start_time' hvis ikke angitt."
|
||||||
|
},
|
||||||
|
"price_field": {
|
||||||
|
"name": "Prisfelt-navn (kun Array av objekter)",
|
||||||
|
"description": "[KUN FOR Array av objekter FORMAT] Tilpasset navn for prisfeltet i utdata. Standard er 'price_per_kwh'."
|
||||||
|
},
|
||||||
|
"level_field": {
|
||||||
|
"name": "Prisnivåfelt-navn (kun Array av objekter)",
|
||||||
|
"description": "[KUN FOR Array av objekter FORMAT] Tilpasset navn for prisnivåfeltet i utdata. Standard er 'level'. Brukes bare når include_level er aktivert."
|
||||||
|
},
|
||||||
|
"rating_level_field": {
|
||||||
|
"name": "Prisvurderingsfelt-navn (kun Array av objekter)",
|
||||||
|
"description": "[KUN FOR Array av objekter FORMAT] Tilpasset navn for prisvurderingsfeltet i utdata. Standard er 'rating_level'. Brukes bare når include_rating_level er aktivert."
|
||||||
|
},
|
||||||
|
"average_field": {
|
||||||
|
"name": "Gjennomsnittsfelt-navn (kun Array av objekter)",
|
||||||
|
"description": "[KUN FOR Array av objekter FORMAT] Tilpasset navn for gjennomsnittsfeltet i utdata. Standard er 'average'. Brukes bare når include_average er aktivert."
|
||||||
|
},
|
||||||
|
"data_key": {
|
||||||
|
"name": "Datanøkkel (begge formater)",
|
||||||
|
"description": "[BEGGE FORMATER] Tilpasset navn for datanøkkelen på toppnivå i svaret. Standard er 'data' hvis ikke angitt. For ApexCharts-kompatibilitet med Array av arrays, bruk 'points'."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"refresh_user_data": {
|
"refresh_user_data": {
|
||||||
"name": "Oppdater brukerdata",
|
"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.",
|
"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.",
|
||||||
|
|
@ -676,6 +780,54 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"selector": {
|
"selector": {
|
||||||
|
"day": {
|
||||||
|
"options": {
|
||||||
|
"yesterday": "I går",
|
||||||
|
"today": "I dag",
|
||||||
|
"tomorrow": "I morgen"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
},
|
||||||
"volatility": {
|
"volatility": {
|
||||||
"options": {
|
"options": {
|
||||||
"low": "Lav",
|
"low": "Lav",
|
||||||
|
|
|
||||||
|
|
@ -664,6 +664,110 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"services": {
|
"services": {
|
||||||
|
"get_apexcharts_yaml": {
|
||||||
|
"name": "ApexCharts-kaart YAML ophalen",
|
||||||
|
"description": "Retourneert een kant-en-klaar YAML-fragment voor een ApexCharts-kaart die Tibber-prijzen voor de geselecteerde dag visualiseert. Gebruik dit om eenvoudig een vooraf geconfigureerd diagram aan je dashboard toe te voegen. De YAML gebruikt de get_chartdata-service voor gegevens.",
|
||||||
|
"fields": {
|
||||||
|
"entry_id": {
|
||||||
|
"name": "Invoer-ID",
|
||||||
|
"description": "Het configuratie-invoer-ID voor de Tibber-integratie."
|
||||||
|
},
|
||||||
|
"day": {
|
||||||
|
"name": "Dag",
|
||||||
|
"description": "Welke dag gevisualiseerd moet worden (gisteren, vandaag of morgen)."
|
||||||
|
},
|
||||||
|
"level_type": {
|
||||||
|
"name": "Niveautype",
|
||||||
|
"description": "Selecteer welke prijsniveauclassificatie gevisualiseerd moet worden: 'rating_level' (laag/normaal/hoog op basis van jouw geconfigureerde drempelwaarden) of 'level' (Tibber API-niveaus: zeer goedkoop/goedkoop/normaal/duur/zeer duur)."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"get_chartdata": {
|
||||||
|
"name": "Haal grafiekgegevens op",
|
||||||
|
"description": "Geeft prijsgegevens terug in een eenvoudig grafiekvriendelijk formaat compatibel met de Tibber Core-integratie outputstructuur. Perfect voor gebruik met populaire grafiekkaarten zoals ha-price-timeline-card, ApexCharts Card, Plotly Graph Card, Mini Graph Card of de ingebouwde History Graph Card. Veldnamen en gegevensstructuur kunnen worden aangepast aan de vereisten van je grafiek.",
|
||||||
|
"fields": {
|
||||||
|
"entry_id": {
|
||||||
|
"name": "Item-ID",
|
||||||
|
"description": "De config-item-ID voor de Tibber-integratie."
|
||||||
|
},
|
||||||
|
"day": {
|
||||||
|
"name": "Dag",
|
||||||
|
"description": "Voor welke dag(en) moeten prijzen worden opgehaald. Je kunt meerdere dagen selecteren. Als niet opgegeven, worden alle beschikbare gegevens geretourneerd (vandaag + morgen indien beschikbaar)."
|
||||||
|
},
|
||||||
|
"resolution": {
|
||||||
|
"name": "Resolutie",
|
||||||
|
"description": "Tijdsresolutie voor de geretourneerde gegevens. Opties: 'interval' (standaard, 15-minuten intervallen, 96 datapunten per dag), 'hourly' (uurgemiddelden, 24 datapunten per dag)."
|
||||||
|
},
|
||||||
|
"output_format": {
|
||||||
|
"name": "Uitvoerformaat",
|
||||||
|
"description": "Uitvoerformaat voor de geretourneerde gegevens. Opties: 'array_of_objects' (standaard, array van objecten met aanpasbare veldnamen), 'array_of_arrays' (array van [tijdstempel, prijs]-arrays met afsluitend null-punt voor stepline-grafieken)."
|
||||||
|
},
|
||||||
|
"array_fields": {
|
||||||
|
"name": "Array-velden (alleen Array van arrays)",
|
||||||
|
"description": "[ALLEEN VOOR Array van arrays FORMAAT] Definieer welke velden moeten worden opgenomen. Gebruik veldnamen tussen accolades, gescheiden door komma's. Beschikbare velden: start_time, price_per_kwh, level, rating_level, average. Velden worden automatisch ingeschakeld, zelfs als include_*-opties niet zijn ingesteld. Laat leeg voor standaard (alleen tijdstempel en prijs)."
|
||||||
|
},
|
||||||
|
"minor_currency": {
|
||||||
|
"name": "Kleine valuta-eenheid",
|
||||||
|
"description": "Retourneer prijzen in kleine valuta-eenheden (cent voor EUR, øre voor NOK/SEK) in plaats van grote valuta-eenheden. Standaard uitgeschakeld."
|
||||||
|
},
|
||||||
|
"round_decimals": {
|
||||||
|
"name": "Decimalen afronden",
|
||||||
|
"description": "Aantal decimalen om prijzen op af te ronden (0-10). Indien niet opgegeven, wordt de standaardprecisie gebruikt (4 decimalen voor grote valuta, 2 voor kleine valuta-eenheid)."
|
||||||
|
},
|
||||||
|
"include_level": {
|
||||||
|
"name": "Prijsniveau opnemen (alleen Array van objecten)",
|
||||||
|
"description": "[ALLEEN VOOR Array van objecten FORMAAT] Voeg het Tibber-prijsniveauveld (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE) toe aan elk gegevenspunt."
|
||||||
|
},
|
||||||
|
"include_rating_level": {
|
||||||
|
"name": "Prijsbeoordeling opnemen (alleen Array van objecten)",
|
||||||
|
"description": "[ALLEEN VOOR Array van objecten FORMAAT] Voeg het berekende prijsbeoordelingsveld (LOW, NORMAL, HIGH) toe op basis van jouw geconfigureerde drempels aan elk gegevenspunt."
|
||||||
|
},
|
||||||
|
"include_average": {
|
||||||
|
"name": "Gemiddelde opnemen (alleen Array van objecten)",
|
||||||
|
"description": "[ALLEEN VOOR Array van objecten FORMAAT] Dagelijkse gemiddelde prijs opnemen in elk gegevenspunt ter vergelijking."
|
||||||
|
},
|
||||||
|
"level_filter": {
|
||||||
|
"name": "Prijsniveaufilter",
|
||||||
|
"description": "Intervallen filteren om alleen specifieke Tibber-prijsniveaus op te nemen (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE). Indien niet opgegeven, worden alle niveaus opgenomen."
|
||||||
|
},
|
||||||
|
"rating_level_filter": {
|
||||||
|
"name": "Prijsbeoordeling Filter",
|
||||||
|
"description": "Filter intervallen om alleen specifieke prijsbeoordelingen op te nemen (LOW, NORMAL, HIGH). Als dit niet is opgegeven, worden alle beoordelingen opgenomen."
|
||||||
|
},
|
||||||
|
"insert_nulls": {
|
||||||
|
"name": "NULL-waarden invoegen",
|
||||||
|
"description": "Beheer het invoegen van NULL-waarden voor gefilterde gegevens. 'none' (standaard): Geen NULL-waarden, alleen overeenkomende intervallen. 'segments': Voeg NULL-punten toe bij segmentgrenzen voor schone gaten in grafieken (aanbevolen voor traplijngrafieken). 'all': Voeg NULL in voor alle tijdstempels waarbij het filter niet overeenkomt (handig voor continue tijdreeksvisualisatie)."
|
||||||
|
},
|
||||||
|
"add_trailing_null": {
|
||||||
|
"name": "Voeg afsluitend null-punt toe",
|
||||||
|
"description": "[BEIDE FORMATEN] Voeg een laatste datapunt met null-waarden (behalve tijdstempel) toe aan het einde. Sommige diagrambibliotheken hebben dit nodig om extrapolatie/interpolatie naar de rand van het viewport te voorkomen bij stepline-weergave. Laat uitgeschakeld tenzij je diagram dit vereist."
|
||||||
|
},
|
||||||
|
"timestamp_field": {
|
||||||
|
"name": "Tijdstempel-veldnaam (alleen Array van objecten)",
|
||||||
|
"description": "[ALLEEN VOOR Array van objecten FORMAAT] Aangepaste naam voor het tijdstempel-veld in de uitvoer. Standaard is 'start_time' als niet opgegeven."
|
||||||
|
},
|
||||||
|
"price_field": {
|
||||||
|
"name": "Prijsveld-naam (alleen Array van objecten)",
|
||||||
|
"description": "[ALLEEN VOOR Array van objecten FORMAAT] Aangepaste naam voor het prijsveld in de uitvoer. Standaard is 'price_per_kwh'."
|
||||||
|
},
|
||||||
|
"level_field": {
|
||||||
|
"name": "Prijsniveauveld-naam (alleen Array van objecten)",
|
||||||
|
"description": "[ALLEEN VOOR Array van objecten FORMAAT] Aangepaste naam voor het prijsniveauveld in de uitvoer. Standaard is 'level'. Alleen gebruikt wanneer include_level is ingeschakeld."
|
||||||
|
},
|
||||||
|
"rating_level_field": {
|
||||||
|
"name": "Prijsbeoordelingsveld-naam (alleen Array van objecten)",
|
||||||
|
"description": "[ALLEEN VOOR Array van objecten FORMAAT] Aangepaste naam voor het prijsbeoordelingsveld in de uitvoer. Standaard is 'rating_level'. Alleen gebruikt wanneer include_rating_level is ingeschakeld."
|
||||||
|
},
|
||||||
|
"average_field": {
|
||||||
|
"name": "Gemiddelde veld-naam (alleen Array van objecten)",
|
||||||
|
"description": "[ALLEEN VOOR Array van objecten FORMAAT] Aangepaste naam voor het gemiddelde veld in de uitvoer. Standaard is 'average'. Alleen gebruikt wanneer include_average is ingeschakeld."
|
||||||
|
},
|
||||||
|
"data_key": {
|
||||||
|
"name": "Gegevenssleutel (beide formaten)",
|
||||||
|
"description": "[BEIDE FORMATEN] Aangepaste naam voor de gegevenssleutel op het hoogste niveau in het antwoord. Standaard is 'data' als niet opgegeven. Voor ApexCharts-compatibiliteit met Array van arrays, gebruik 'points'."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"refresh_user_data": {
|
"refresh_user_data": {
|
||||||
"name": "Gebruikersgegevens vernieuwen",
|
"name": "Gebruikersgegevens vernieuwen",
|
||||||
"description": "Forceert een vernieuwing van de gebruikersgegevens (huizen, profielinformatie) van de Tibber API. Dit kan handig zijn na het maken van wijzigingen in je Tibber-account of bij het oplossen van verbindingsproblemen.",
|
"description": "Forceert een vernieuwing van de gebruikersgegevens (huizen, profielinformatie) van de Tibber API. Dit kan handig zijn na het maken van wijzigingen in je Tibber-account of bij het oplossen van verbindingsproblemen.",
|
||||||
|
|
@ -676,6 +780,54 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"selector": {
|
"selector": {
|
||||||
|
"day": {
|
||||||
|
"options": {
|
||||||
|
"yesterday": "Gisteren",
|
||||||
|
"today": "Vandaag",
|
||||||
|
"tomorrow": "Morgen"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resolution": {
|
||||||
|
"options": {
|
||||||
|
"interval": "Interval (15 min)",
|
||||||
|
"hourly": "Per uur"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"output_format": {
|
||||||
|
"options": {
|
||||||
|
"array_of_objects": "Array van objecten",
|
||||||
|
"array_of_arrays": "Array van arrays"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level_type": {
|
||||||
|
"options": {
|
||||||
|
"rating_level": "Beoordelingsniveau (laag/normaal/hoog)",
|
||||||
|
"level": "Tibber-niveau (zeer goedkoop tot zeer duur)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level_filter": {
|
||||||
|
"options": {
|
||||||
|
"very_cheap": "Zeer goedkoop",
|
||||||
|
"cheap": "Goedkoop",
|
||||||
|
"normal": "Normaal",
|
||||||
|
"expensive": "Duur",
|
||||||
|
"very_expensive": "Zeer duur"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rating_level_filter": {
|
||||||
|
"options": {
|
||||||
|
"low": "Laag",
|
||||||
|
"normal": "Normaal",
|
||||||
|
"high": "Hoog"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"insert_nulls": {
|
||||||
|
"options": {
|
||||||
|
"none": "Geen",
|
||||||
|
"segments": "Segmenten",
|
||||||
|
"all": "Alle"
|
||||||
|
}
|
||||||
|
},
|
||||||
"volatility": {
|
"volatility": {
|
||||||
"options": {
|
"options": {
|
||||||
"low": "Laag",
|
"low": "Laag",
|
||||||
|
|
|
||||||
|
|
@ -664,6 +664,110 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"services": {
|
"services": {
|
||||||
|
"get_apexcharts_yaml": {
|
||||||
|
"name": "Hämta ApexCharts-kort YAML",
|
||||||
|
"description": "Returnerar ett färdigt YAML-utklipp för ett ApexCharts-kort som visualiserar Tibber-priser för den valda dagen. Använd detta för att enkelt lägga till ett förkonfigurerat diagram till din instrumentpanel. YAML kommer att använda get_chartdata-tjänsten för data.",
|
||||||
|
"fields": {
|
||||||
|
"entry_id": {
|
||||||
|
"name": "Post-ID",
|
||||||
|
"description": "Konfigurationspost-ID för Tibber-integrationen."
|
||||||
|
},
|
||||||
|
"day": {
|
||||||
|
"name": "Dag",
|
||||||
|
"description": "Vilken dag som ska visualiseras (igår, idag eller imorgon)."
|
||||||
|
},
|
||||||
|
"level_type": {
|
||||||
|
"name": "Nivåtyp",
|
||||||
|
"description": "Välj vilken prisnivåklassificering som ska visualiseras: 'rating_level' (låg/normal/hög baserat på dina konfigurerade tröskelvärden) eller 'level' (Tibber API-nivåer: mycket billig/billig/normal/dyr/mycket dyr)."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"get_chartdata": {
|
||||||
|
"name": "Hämta diagramdata",
|
||||||
|
"description": "Returnerar prisdata i ett enkelt diagramvänligt format kompatibelt med Tibber Core-integrationens outputstruktur. Perfekt för användning med populära diagramkort som ha-price-timeline-card, ApexCharts Card, Plotly Graph Card, Mini Graph Card eller den inbyggda History Graph Card. Fältnamn och datastruktur kan anpassas för att matcha diagrammets krav.",
|
||||||
|
"fields": {
|
||||||
|
"entry_id": {
|
||||||
|
"name": "Post-ID",
|
||||||
|
"description": "Konfigurationspost-ID för Tibber-integrationen."
|
||||||
|
},
|
||||||
|
"day": {
|
||||||
|
"name": "Dag",
|
||||||
|
"description": "Vilken dag(ar) ska priser hämtas för. Du kan välja flera dagar. Om inte angivet, returneras alla tillgängliga data (idag + imorgon om tillgängligt)."
|
||||||
|
},
|
||||||
|
"resolution": {
|
||||||
|
"name": "Upplösning",
|
||||||
|
"description": "Tidsupplösning för returnerade data. Alternativ: 'interval' (standard, 15-minuters intervaller, 96 datapunkter per dag), 'hourly' (timgenomsnitt, 24 datapunkter per dag)."
|
||||||
|
},
|
||||||
|
"output_format": {
|
||||||
|
"name": "Utdataformat",
|
||||||
|
"description": "Utdataformat för returnerade data. Alternativ: 'array_of_objects' (standard, array av objekt med anpassningsbara fältnamn), 'array_of_arrays' (array av [tidsstämpel, pris]-arrayer med avslutande null-punkt för stepline-diagram)."
|
||||||
|
},
|
||||||
|
"array_fields": {
|
||||||
|
"name": "Array-fält (endast Array av arrayer)",
|
||||||
|
"description": "[ENDAST FÖR Array av arrayer FORMAT] Definiera vilka fält som ska inkluderas. Använd fältnamn inom måsvingar, separerade med kommatecken. Tillgängliga fält: start_time, price_per_kwh, level, rating_level, average. Fält aktiveras automatiskt även om include_*-alternativ inte är inställda. Lämna tomt för standard (endast tidsstämpel och pris)."
|
||||||
|
},
|
||||||
|
"minor_currency": {
|
||||||
|
"name": "Mindre valutaenhet",
|
||||||
|
"description": "Returnera priser i mindre valutaenheter (öre för SEK/NOK, cent för EUR) istället för huvudvalutaenheter. Inaktiverad som standard."
|
||||||
|
},
|
||||||
|
"round_decimals": {
|
||||||
|
"name": "Avrunda decimaler",
|
||||||
|
"description": "Antal decimaler att avrunda priser till (0-10). Om inte angivet används standardprecision (4 decimaler för huvudvaluta, 2 för mindre valutaenhet)."
|
||||||
|
},
|
||||||
|
"include_level": {
|
||||||
|
"name": "Inkludera prisnivå (endast Array av objekt)",
|
||||||
|
"description": "[ENDAST FÖR Array av objekt FORMAT] Inkludera Tibber-prisnivåfältet (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE) i varje datapunkt."
|
||||||
|
},
|
||||||
|
"include_rating_level": {
|
||||||
|
"name": "Inkludera prisvärdering (endast Array av objekt)",
|
||||||
|
"description": "[ENDAST FÖR Array av objekt FORMAT] Inkludera det beräknade prisvärderingsfältet (LOW, NORMAL, HIGH) baserat på dina konfigurerade trösklar i varje datapunkt."
|
||||||
|
},
|
||||||
|
"include_average": {
|
||||||
|
"name": "Inkludera genomsnitt (endast Array av objekt)",
|
||||||
|
"description": "[ENDAST FÖR Array av objekt FORMAT] Inkludera dagligt genomsnittspris i varje datapunkt för jämförelse."
|
||||||
|
},
|
||||||
|
"level_filter": {
|
||||||
|
"name": "Prisnivåfilter",
|
||||||
|
"description": "Filtrera intervaller för att endast inkludera specifika Tibber-prisnivåer (VERY_CHEAP, CHEAP, NORMAL, EXPENSIVE, VERY_EXPENSIVE). Om inget anges inkluderas alla nivåer."
|
||||||
|
},
|
||||||
|
"rating_level_filter": {
|
||||||
|
"name": "Prisvärderingsfilter",
|
||||||
|
"description": "Filtrera intervall för att endast inkludera specifika prisvärderingar (LOW, NORMAL, HIGH). Om inte angivet inkluderas alla värderingar."
|
||||||
|
},
|
||||||
|
"insert_nulls": {
|
||||||
|
"name": "Infoga NULL-värden",
|
||||||
|
"description": "Kontrollera infogning av NULL-värden för filtrerad data. 'none' (standard): Inga NULL-värden, endast matchande intervall. 'segments': Lägg till NULL-punkter vid segmentgränser för rena luckor i diagram (rekommenderas för steglinjediagram). 'all': Infoga NULL för alla tidsstämplar där filtret inte matchar (användbart för kontinuerlig tidsserievisualisering)."
|
||||||
|
},
|
||||||
|
"add_trailing_null": {
|
||||||
|
"name": "Lägg till avslutande null-punkt",
|
||||||
|
"description": "[BÅDA FORMAT] Lägg till en sista datapunkt med null-värden (förutom tidsstämpel) i slutet. Vissa diagrambibliotek behöver detta för att förhindra extrapolering/interpolering till kanten av vyområdet vid stepline-rendering. Lämna inaktiverad om inte ditt diagram kräver det."
|
||||||
|
},
|
||||||
|
"timestamp_field": {
|
||||||
|
"name": "Tidsstämpel-fältnamn (endast Array av objekt)",
|
||||||
|
"description": "[ENDAST FÖR Array av objekt FORMAT] Anpassat namn för tidsstämpel-fältet i utdata. Standard är 'start_time' om inte angivet."
|
||||||
|
},
|
||||||
|
"price_field": {
|
||||||
|
"name": "Prisfältsnamn (endast Array av objekt)",
|
||||||
|
"description": "[ENDAST FÖR Array av objekt FORMAT] Anpassat namn för prisfältet i utdata. Standard är 'price_per_kwh'."
|
||||||
|
},
|
||||||
|
"level_field": {
|
||||||
|
"name": "Prisnivåfältsnamn (endast Array av objekt)",
|
||||||
|
"description": "[ENDAST FÖR Array av objekt FORMAT] Anpassat namn för prisnivåfältet i utdata. Standard är 'level'. Används endast när include_level är aktiverad."
|
||||||
|
},
|
||||||
|
"rating_level_field": {
|
||||||
|
"name": "Prisvärderingsfältsnamn (endast Array av objekt)",
|
||||||
|
"description": "[ENDAST FÖR Array av objekt FORMAT] Anpassat namn för prisvärderingsfältet i utdata. Standard är 'rating_level'. Används endast när include_rating_level är aktiverad."
|
||||||
|
},
|
||||||
|
"average_field": {
|
||||||
|
"name": "Genomsnittsfältsnamn (endast Array av objekt)",
|
||||||
|
"description": "[ENDAST FÖR Array av objekt FORMAT] Anpassat namn för genomsnittsfältet i utdata. Standard är 'average'. Används endast när include_average är aktiverad."
|
||||||
|
},
|
||||||
|
"data_key": {
|
||||||
|
"name": "Datanyckel (båda formaten)",
|
||||||
|
"description": "[BÅDA FORMATEN] Anpassat namn för datanyckeln på toppnivå i svaret. Standard är 'data' om inte angivet. För ApexCharts-kompatibilitet med Array av arrayer, använd 'points'."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"refresh_user_data": {
|
"refresh_user_data": {
|
||||||
"name": "Uppdatera användardata",
|
"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.",
|
"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.",
|
||||||
|
|
@ -676,6 +780,54 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"selector": {
|
"selector": {
|
||||||
|
"day": {
|
||||||
|
"options": {
|
||||||
|
"yesterday": "Igår",
|
||||||
|
"today": "Idag",
|
||||||
|
"tomorrow": "Imorgon"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"resolution": {
|
||||||
|
"options": {
|
||||||
|
"interval": "Intervall (15 min)",
|
||||||
|
"hourly": "Varje timme"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"output_format": {
|
||||||
|
"options": {
|
||||||
|
"array_of_objects": "Array av objekt",
|
||||||
|
"array_of_arrays": "Array av arrayer"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level_type": {
|
||||||
|
"options": {
|
||||||
|
"rating_level": "Betygsättningsnivå (låg/normal/hög)",
|
||||||
|
"level": "Tibber-nivå (mycket billig till mycket dyr)"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"level_filter": {
|
||||||
|
"options": {
|
||||||
|
"very_cheap": "Mycket billig",
|
||||||
|
"cheap": "Billig",
|
||||||
|
"normal": "Normal",
|
||||||
|
"expensive": "Dyr",
|
||||||
|
"very_expensive": "Mycket dyr"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rating_level_filter": {
|
||||||
|
"options": {
|
||||||
|
"low": "Låg",
|
||||||
|
"normal": "Normal",
|
||||||
|
"high": "Hög"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"insert_nulls": {
|
||||||
|
"options": {
|
||||||
|
"none": "Ingen",
|
||||||
|
"segments": "Segment",
|
||||||
|
"all": "Alla"
|
||||||
|
}
|
||||||
|
},
|
||||||
"volatility": {
|
"volatility": {
|
||||||
"options": {
|
"options": {
|
||||||
"low": "Låg",
|
"low": "Låg",
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue