hass.tibber_prices/custom_components/tibber_prices/services.yaml
Julian Pawlowski d1b25e9cfe feat(services): add energy/tax fields to get_chartdata action
Add four optional parameters to the get_chartdata service:
- include_energy: Include raw energy/spot price (default: false)
- include_tax: Include tax component (default: false)
- energy_field: Custom field name (default: energy_price)
- tax_field: Custom field name (default: tax)

Custom field names allow direct compatibility with ApexCharts
and other charting tools without post-processing.

All code paths (all/segments/none insert_nulls modes) and the
last-interval handler include energy/tax when enabled.

Added translations for all 5 languages (en, de, nl, nb, sv).

Impact: Users can include price composition data in chart exports,
enabling visual breakdowns of energy cost vs. taxes in dashboards.
2026-04-09 18:27:53 +00:00

290 lines
6.5 KiB
YAML

get_price:
fields:
entry_id:
required: true
example: "1234567890abcdef"
selector:
config_entry:
integration: tibber_prices
start_time:
required: true
example: "2025-11-01T00:00:00+01:00"
selector:
datetime:
end_time:
required: true
example: "2025-11-02T00:00:00+01:00"
selector:
datetime:
get_apexcharts_yaml:
fields:
entry_id:
required: true
example: "1234567890abcdef"
selector:
config_entry:
integration: tibber_prices
day:
required: false
example: today
selector:
select:
options:
- yesterday
- today
- tomorrow
- rolling_window
- rolling_window_autozoom
translation_key: day
level_type:
required: false
default: rating_level
example: rating_level
selector:
select:
options:
- rating_level
- level
translation_key: level_type
resolution:
required: false
default: interval
example: interval
selector:
select:
options:
- interval
- hourly
translation_key: resolution
highlight_best_price:
required: false
default: true
example: true
selector:
boolean:
highlight_peak_price:
required: false
default: false
example: false
selector:
boolean:
get_chartdata:
fields:
general:
fields:
entry_id:
required: true
example: "1234567890abcdef"
selector:
config_entry:
integration: tibber_prices
selection:
collapsed: true
fields:
day:
required: false
selector:
select:
options:
- yesterday
- today
- tomorrow
multiple: true
translation_key: day
resolution:
required: false
default: interval
example: hourly
selector:
select:
options:
- interval
- hourly
translation_key: resolution
filters:
collapsed: true
fields:
level_filter:
required: false
selector:
select:
options:
- very_cheap
- cheap
- normal
- expensive
- very_expensive
multiple: true
translation_key: level_filter
rating_level_filter:
required: false
selector:
select:
options:
- low
- normal
- high
multiple: true
translation_key: rating_level_filter
period_filter:
required: false
selector:
select:
options:
- best_price
- peak_price
translation_key: period_filter
transformation:
collapsed: true
fields:
subunit_currency:
required: false
default: false
example: true
selector:
boolean:
round_decimals:
required: false
example: 2
selector:
number:
min: 0
max: 10
mode: box
insert_nulls:
required: false
default: none
selector:
select:
options:
- none
- segments
- all
translation_key: insert_nulls
connect_segments:
required: false
default: false
selector:
boolean:
add_trailing_null:
required: false
default: false
selector:
boolean:
format:
collapsed: true
fields:
output_format:
required: false
default: array_of_objects
example: array_of_objects
selector:
select:
options:
- array_of_objects
- array_of_arrays
translation_key: output_format
data_key:
required: false
example: prices
selector:
text:
metadata:
required: false
default: include
selector:
select:
options:
- include
- only
- none
translation_key: metadata
arrays_of_objects:
collapsed: true
fields:
include_level:
required: false
default: false
example: true
selector:
boolean:
include_rating_level:
required: false
default: false
example: true
selector:
boolean:
include_average:
required: false
default: false
selector:
boolean:
include_energy:
required: false
default: false
selector:
boolean:
include_tax:
required: false
default: false
selector:
boolean:
start_time_field:
required: false
example: time
selector:
text:
end_time_field:
required: false
example: end
selector:
text:
price_field:
required: false
example: price
selector:
text:
level_field:
required: false
selector:
text:
rating_level_field:
required: false
selector:
text:
average_field:
required: false
selector:
text:
energy_field:
required: false
selector:
text:
tax_field:
required: false
selector:
text:
arrays_of_arrays:
collapsed: true
fields:
array_fields:
required: false
selector:
text:
refresh_user_data:
fields:
entry_id:
required: true
example: "1234567890abcdef"
selector:
config_entry:
integration: tibber_prices
debug_clear_tomorrow:
fields:
entry_id:
required: false
example: "1234567890abcdef"
selector:
config_entry:
integration: tibber_prices