Dobrý den,
ceny na den dopředu se zobrazit dají - jsou k dispozici jako attribut tomorrow_hourly_prices
.
Zde je příklad grafu udělaný pomocí ApexCharts, který zobrazuje ceny pro dnešní den a pokud jsou k dispozici, tak i ceny pro zítřek:
type: custom:apexcharts-card
header:
show: true
title: Cena elektriny
show_states: true
colorize_states: true
series:
- entity: sensor.current_market_price_czk_kwh
data_generator: >
const todayData = entity.attributes.today_hourly_prices.map((price, index)
=> {
const date = new Date()
date.setHours(index)
date.setMinutes(0)
date.setSeconds(0)
return [date, price];
});
let tomorrowPrices = Array(24).fill(undefined); if
(entity.attributes.tomorrow_hourly_prices?.length > 0) {
tomorrowPrices = entity.attributes.tomorrow_hourly_prices
}
const tomorrowData = tomorrowPrices.map((price, index) => {
const date = new Date()
date.setDate(date.getDate() + 1)
date.setHours(index)
date.setMinutes(0)
date.setSeconds(0)
return [date, price ?? null];
});
return [...todayData, ...tomorrowData]
show:
in_header: before_now
graph_span: 48h
span:
start: day
3 Likes
Upravil jsem trošku vaši kartu, tak aby více odpovídala grafu zde: Nano Green
type: custom:apexcharts-card
now:
show: true
color: rgb(124,167,173)
label: Nyní
header:
show: true
show_states: true
colorize_states: true
experimental:
color_threshold: true
series:
- entity: sensor.current_market_price_czk_kwh
color_threshold:
- value: 1
color: rgb(62,233,171)
- value: 1.8
color: rgb(238,231,24)
- value: 2.3
color: rgb(255,149,15)
- value: 3
color: rgb(255,71,19)
data_generator: >
const todayData = entity.attributes.today_hourly_prices.map((price, index)
=> {
const date = new Date()
date.setHours(index)
date.setMinutes(0)
date.setSeconds(0)
return [date, price];
});
let tomorrowPrices = Array(24).fill(undefined); if
(entity.attributes.tomorrow_hourly_prices?.length > 0) {
tomorrowPrices = entity.attributes.tomorrow_hourly_prices
}
const tomorrowData = tomorrowPrices.map((price, index) => {
const date = new Date()
date.setDate(date.getDate() + 1)
date.setHours(index)
date.setMinutes(0)
date.setSeconds(0)
return [date, price ?? null];
});
return [...todayData, ...tomorrowData]
show:
in_header: before_now
graph_span: 48h
yaxis:
- min: 0
max: 5
decimals: 1
apex_config:
tickAmount: 10
span:
start: day
3 Likes
martin
srpen 12, 2023, 9:43am
11
Také děkuji za super počin o za vysvětlení. Nicméně (díval jsem se i do kodu), od market price se vždy odecita nějaká konstanta: 0,35 pro consuption price a 0,6 (resp. 0,9) pro Production price. Nejde teď o konkrétní čísla (asi odpovídají starším cenikum). Jde mi o consuption price. Neměla by se konstanta k tržní ceně naopak přičíst? Přeci když chci kupovat elektřinu, musí to byt za “trh plus něco”. Nebo uvazuju chybne?
1 Like
peme
srpen 14, 2023, 9:09am
12
Ano, to si nas mysli vic, delal jsem na to tohle issue: Znamenko u current_consumption_price · Issue #3 · nanogreencz/homeassistant-integrations · GitHub
Jinak jeste k te posledni verzi apex chartu co zde je, pridal jsem si do series parametr “type: column”, s tim mi to prijde lepsi - je to “skok” ceny co plati vzdy celou hodinu, tak lepsi nez vyhlazena krivka.
1 Like
Nasadili jsme změnu, mělo by to snad už být správně.
Dobrý den, vidím, že PR byl odbaven, nicméně nedošlo k releasu integrace, takže HACS tuto změnu nereflektuje. Mohl bych poprosit o release? Díky moc!
Dobrý dne, upraveno. Mělo by to tam už být… Díky moc za upozornění
1 Like
Beny44
září 24, 2023, 7:58am
17
Malý postřeh z dnešního vývoje cen na spotu - 24.9.2023
Pokud zvolím, jako spouštěč pro TČ “Jedna z šesti nejlevnějších hodin” bude se TČ spínat v okně od 10.00 - 15.00 hod. V ostatní hodiny zahálí, osazenstvo “mrzne”.
Nešlo by okno, resp. počet nejlevnějších hodin zvětšit?
A aby to i byla volba v integritě, někdo tak velké okno nepotřebuje.
Díky
Edit: Případně i obrácené hodiny, tedy ty nejdrahší. Např. jedna z šesti nejdrahších a dalo by si tím TČ odstavovat.
Díky za feedback - máme to v backlogu, ale zatím jsme se k tomu nedostali. Dost by to pomohlo i mě
Beny44
září 27, 2023, 7:45pm
19
Já jsem to vyřešil spot cenou od OTE a nastavením od rnovacek, kde ná vytvořenou automatizaci s výběrem X hodin.
1 Like
Beny44
září 28, 2023, 11:03am
20
Tak super funguje to dobře. Teď 21 nejlevnější hodina, mám filtr na 20.
1 Like
okoun
prosinec 31, 2023, 11:09am
21
kdyby byl někdo ochoten ještě dodělat celkovou cenu se všema poplatkama za distribuci a daněma, tak by to bylo super!
nijel
leden 2, 2024, 10:31am
22
Dá se to bez problémů udělat přes template senzor:
- name: "Cena elektřiny nákup"
state: >-
{{- ((float(states("sensor.czk_price_per_kwh")) * 1.21 * 1000 + float(states("input_number.nakup_elektriny_poplatky")) + float(states("input_number.nakup_elektriny_distribuce")) + float(states("input_number.nakup_elektriny_systemove_sluzby")) + float(states("input_number.nakup_elektriny_podpora_oze"))) / 1000) | round(4) -}}
unit_of_measurement: "Kč/kWh"
unique_id: price.czk_price_per_kwh_purchase
state_class: measurement
attributes:
prices_hourly: >-
{% from 'hdo.jinja' import cena_distribuce %}
{% set ceny=states.sensor.czk_price_per_kwh.attributes.prices_hourly %}
[{% for hour in range(ceny|length) %}
{{- (((ceny[hour] * 1.21 * 1000 + float(states("input_number.nakup_elektriny_poplatky"))) + float(cena_distribuce(hour)) + float(states("input_number.nakup_elektriny_systemove_sluzby")) + float(states("input_number.nakup_elektriny_podpora_oze"))) / 1000) | round(2) -}}
{%- if not loop.last %}, {% endif -%}
{% endfor %}]
{% macro cena_distribuce(hodina) %}
{% if (hodina >= 0 and hodina < 5) or (hodina >= 18 and hodina < 20) or (hodina >= 23 and hodina < 24 + 5) or (hodina >= 24 + 18 and hodina < 24 + 20) or (hodina >= 24+23 and hodina < 24+24) %}
{{ states("input_number.nakup_elektriny_distribuce_nt") }}
{% else %}
{{ states("input_number.nakup_elektriny_distribuce_vt") }}
{% endif %}
{% endmacro %}
okoun
leden 2, 2024, 10:22pm
23
máte tam hodně sensorů můžete to prosím popsat co se v nich očekává za hodnoty? abych to lépe aplikoval na můj kod?
raději bych ale právě uvítal aby přímo nanogreen posílal data o té konečné ceně s distribucí a s dph
nijel
leden 3, 2024, 7:31am
24
czk_price_per_kwh
je OTE cena v Kč, nakup_elektriny_poplatky
je poplatek Nanogreen, zbytek jsou regulované poplatky jak jsou na vyúčtování (nakup_elektriny_distribuce
, nakup_elektriny_systemove_sluzby
, nakup_elektriny_podpora_oze
). Každé z toho je pomocník číslo, takže se to při změně snadno zadává.
okoun
leden 3, 2024, 7:46am
25
no ale czk_price_per_kwh
nakup_elektriny_poplatky
berete odkud? to nejsou pomocníci asi…
nijel
leden 3, 2024, 1:09pm
27