Vlastní integrace pro Home Assistant, která vystavuje aktuální pásmo ČEZ Dynamického tarifu jako senzory a binární senzor.
- vypočítá aktuální změnu ceny podle pevně daného rozpisu ČEZ
- vystaví aktuální tarifní pásmo, sezónu, typ dne a nejbližší další levné okno
- vystaví pomocné entity:
- práh levného pásma v %
- práh super levného pásma v %
- informaci, zda je právě drahé pásmo
- umí zohlednit české státní svátky jako nepracovní dny
Zkopíruj složku:
custom_components/cez_dynamic_tariff
do konfigurační složky Home Assistantu:
/config/custom_components/cez_dynamic_tariff
Pak restartuj Home Assistant.
Po restartu:
- otevři Nastavení -> Zařízení a služby
- klikni na Přidat integraci
- najdi ČEZ Dynamic Tariff
- Publikuj repozitář na GitHub jako veřejný
- V Home Assistantu otevři HACS
- Otevři menu tři tečky
- Vyber Vlastní repozitáře
- Vlož URL GitHub repozitáře
- Vyber typ Integrace
- Přidej repozitář
- Najdi integraci v HACS a nainstaluj ji
- Restartuj Home Assistant
- Otevři Nastavení -> Zařízení a služby
- Přidej integraci ČEZ Dynamic Tariff
Senzory:
sensor.cez_dynamic_tariff_current_modifiersensor.cez_dynamic_tariff_current_bandsensor.cez_dynamic_tariff_cheap_thresholdsensor.cez_dynamic_tariff_super_cheap_thresholdsensor.cez_dynamic_tariff_seasonsensor.cez_dynamic_tariff_day_typesensor.cez_dynamic_tariff_effective_pricesensor.cez_dynamic_tariff_next_cheap_startsensor.cez_dynamic_tariff_next_cheap_endsensor.cez_dynamic_tariff_next_cheap_modifiersensor.cez_dynamic_tariff_today_tariff_map
Binární senzory:
binary_sensor.cez_dynamic_tariff_expensive_now
base_price_kwhje pouze obchodní složka ceny elektřiny- distribuce, daně, měsíční fixní poplatky a regulované složky se do výpočtu nezapočítávají
- detekce svátků používá Python balíček
holidays
Tento příklad zapne bojler přes Shelly vždy, když je aktuální tarif na nebo pod nastaveným prahem levného pásma.
automation:
- alias: "Boiler zapnout v levném tarifu"
mode: single
triggers:
- trigger: time_pattern
minutes: "/5"
conditions:
- condition: template
value_template: >
{{
states('sensor.cez_dynamic_tariff_current_modifier') | float(999) <=
states('sensor.cez_dynamic_tariff_cheap_threshold') | float(-10)
}}
actions:
- action: switch.turn_on
target:
entity_id: switch.bojler_nahore_1pm_switch_0Příklad vypnutí po skončení levného pásma:
automation:
- alias: "Boiler vypnout po skončení levného tarifu"
mode: single
triggers:
- trigger: time_pattern
minutes: "/5"
conditions:
- condition: template
value_template: >
{{
states('sensor.cez_dynamic_tariff_current_modifier') | float(999) >
states('sensor.cez_dynamic_tariff_cheap_threshold') | float(-10)
}}
actions:
- action: switch.turn_off
target:
entity_id: switch.bojler_nahore_1pm_switch_0Pokud chceš jednoduchou přehledovou kartu, vlož do ručně upravované karty tento YAML:
type: entities
title: ČEZ Dynamic Tariff
entities:
- entity: sensor.cez_dynamic_tariff_current_modifier
name: Změna ceny o
- entity: sensor.cez_dynamic_tariff_effective_price
name: Aktuální cena
- entity: sensor.cez_dynamic_tariff_current_band
name: Aktuální pásmo
- entity: sensor.cez_dynamic_tariff_day_type
name: Typ dne
- entity: sensor.cez_dynamic_tariff_season
name: Sezóna
- entity: sensor.cez_dynamic_tariff_next_cheap_start
name: Další levné od
- entity: sensor.cez_dynamic_tariff_next_cheap_end
name: Další levné do
- entity: sensor.cez_dynamic_tariff_next_cheap_modifier
name: Další levný modifier
- entity: sensor.cez_dynamic_tariff_cheap_threshold
name: Práh levného pásma
- entity: sensor.cez_dynamic_tariff_super_cheap_threshold
name: Práh super levného pásma
- entity: binary_sensor.cez_dynamic_tariff_expensive_now
name: Drahé pásmo právě teďPokud chceš grafičtější zobrazení, můžeš použít podmíněné Markdown karty, které se automaticky přepínají podle sezóny a typu dne.
Tento YAML patří do nastavení celého pohledu, kde se upravuje title a cards:
title: ČEZ Dynamic Tariff
cards:
- type: entities
title: Aktuální stav
entities:
- entity: sensor.cez_dynamic_tariff_current_modifier
name: Změna ceny o
- entity: sensor.cez_dynamic_tariff_effective_price
name: Aktuální cena
- entity: sensor.cez_dynamic_tariff_current_band
name: Aktuální pásmo
- entity: sensor.cez_dynamic_tariff_day_type
name: Typ dne
- entity: sensor.cez_dynamic_tariff_season
name: Sezóna
- entity: sensor.cez_dynamic_tariff_next_cheap_start
name: Další levné od
- entity: sensor.cez_dynamic_tariff_next_cheap_end
name: Další levné do
- type: markdown
title: Legenda
content: |
`🟩 -10 %` `🟢 -50 %` `⬜ +10 %` `◻️ +25 %`
- type: conditional
conditions:
- entity: sensor.cez_dynamic_tariff_season
state: Letní
- entity: sensor.cez_dynamic_tariff_day_type
state: Pracovní den
card:
type: markdown
title: Mapa tarifu dnes
content: |
**Duben až září / pracovní den**
`🟩 00:00-02:59` `🟢 03:00-04:59` `◻️ 05:00-07:59`
`⬜ 08:00-10:59` `🟢 11:00-13:59` `⬜ 14:00-15:59`
`🟩 16:00-17:59` `◻️ 18:00-19:59` `⬜ 20:00-22:59`
`🟩 23:00-23:59`
- type: conditional
conditions:
- entity: sensor.cez_dynamic_tariff_season
state: Letní
- entity: sensor.cez_dynamic_tariff_day_type
state: Víkend nebo Svátek
card:
type: markdown
title: Mapa tarifu dnes
content: |
**Duben až září / víkend nebo svátek**
`🟩 00:00-02:59` `🟢 03:00-04:59` `⬜ 05:00-10:59`
`🟢 11:00-13:59` `⬜ 14:00-15:59` `🟩 16:00-17:59`
`⬜ 18:00-22:59` `🟩 23:00-23:59`
- type: conditional
conditions:
- entity: sensor.cez_dynamic_tariff_season
state: Zimní
- entity: sensor.cez_dynamic_tariff_day_type
state: Pracovní den
card:
type: markdown
title: Mapa tarifu dnes
content: |
**Říjen až březen / pracovní den**
`🟩 00:00-02:59` `🟢 03:00-04:59` `◻️ 05:00-07:59`
`⬜ 08:00-10:59` `🟩 11:00-13:59` `⬜ 14:00-15:59`
`🟩 16:00-17:59` `◻️ 18:00-19:59` `⬜ 20:00-22:59`
`🟩 23:00-23:59`
- type: conditional
conditions:
- entity: sensor.cez_dynamic_tariff_season
state: Zimní
- entity: sensor.cez_dynamic_tariff_day_type
state: Víkend nebo Svátek
card:
type: markdown
title: Mapa tarifu dnes
content: |
**Říjen až březen / víkend nebo svátek**
`🟩 00:00-02:59` `🟢 03:00-04:59` `⬜ 05:00-10:59`
`🟩 11:00-13:59` `⬜ 14:00-17:59` `🟩 18:00-19:59`
`⬜ 20:00-22:59` `🟩 23:00-23:59`Pokud upravuješ pouze jednu kartu a ne celý pohled, použij jen sekci jedné karty, ne celý blok s title: a cards:.
Integrace nově vystavuje i senzor:
sensor.cez_dynamic_tariff_today_tariff_map
Ten má v atributech připraveno:
display_mappro přímé vložení do Markdown kartyschedulejako seznam všech dnešních okenlegends významem barev
Příklad jednoduché Markdown karty:
type: markdown
title: Dnešní mapa tarifu
content: |
**{{ states('sensor.cez_dynamic_tariff_today_tariff_map') }}**
{{ state_attr('sensor.cez_dynamic_tariff_today_tariff_map', 'display_map') }}Níže je ukázka jednoduchého dashboardu ve stylu přehledu, který zobrazuje:
- aktuální stav
- legendu tarifních úrovní
- dnešní mapu tarifu
Tento YAML patří do nastavení celého pohledu:
title: ČEZ Dynamic Tariff
cards:
- type: grid
columns: 3
square: false
cards:
- type: entities
title: Aktuální stav
entities:
- entity: sensor.cez_dynamic_tariff_current_modifier
name: Změna ceny o
- entity: sensor.cez_dynamic_tariff_effective_price
name: Aktuální cena
- entity: sensor.cez_dynamic_tariff_current_band
name: Aktuální pásmo
- entity: sensor.cez_dynamic_tariff_day_type
name: Typ dne
- entity: sensor.cez_dynamic_tariff_season
name: Sezóna
- entity: sensor.cez_dynamic_tariff_next_cheap_start
name: Další levné od
- entity: sensor.cez_dynamic_tariff_next_cheap_end
name: Další levné do
- type: markdown
title: Legenda
content: |
`🟩 -10 %` `🟢 -50 %` `⬜ +10 %` `◻️ +25 %`
- type: markdown
title: Mapa tarifu dnes
content: |
**{% if states('sensor.cez_dynamic_tariff_season') == 'Letní' %}Duben až září{% else %}Říjen až březen{% endif %} / {{ states('sensor.cez_dynamic_tariff_day_type') | lower }}**
{{ state_attr('sensor.cez_dynamic_tariff_today_tariff_map', 'display_map') }}